隱含馬爾可夫模型(HMM)通過建立一個(gè)系統(tǒng)可能出現(xiàn)的有限狀態(tài)序列,使用統(tǒng)計(jì)的方式來表示每一個(gè)可能的狀態(tài)間跳轉(zhuǎn)的轉(zhuǎn)移概率,借此來描述一個(gè)復(fù)雜 的系統(tǒng)。隱含馬爾可夫模型主要用于根據(jù)系統(tǒng)外部觀測(cè)量來預(yù)測(cè)該事件的未知(隱含)序列。例如,在語(yǔ)音識(shí)別系統(tǒng)中,HMM方法可以通過麥克風(fēng)采集得到的聲學(xué) 信息作為觀測(cè)量來預(yù)測(cè)說話人所說過的話(可以看作系統(tǒng)的未知狀態(tài)序列)。上世紀(jì)80年代早期隱含馬爾可夫模型就被用于商用語(yǔ)音識(shí)別系統(tǒng)中,到目前為之,它 一直被認(rèn)為是實(shí)現(xiàn)快速精確的語(yǔ)音識(shí)別系統(tǒng)的最成功的方法。
摘錄一些基本概念:
一、關(guān)于馬可夫鏈的幾個(gè)基本概念
1、馬爾可夫性-無后效性,表示在已知系統(tǒng)現(xiàn)在所處的狀態(tài)下,系統(tǒng)的將來的演變和去無關(guān)。其數(shù)學(xué)表示如下:對(duì)于一隨機(jī)過程{X(t),t∈T},其狀態(tài)空間S可數(shù)我們可以看到(n+1)的狀態(tài)僅由n的狀態(tài)決定,而與之前的狀態(tài)無關(guān)。
2、馬爾可夫過程和馬爾可夫鏈
馬爾可夫過程的狀態(tài)空間S是連續(xù)的區(qū)間,馬爾可夫鏈則是離散的可列集,在研究基因,我們使用的顯然是馬爾可夫鏈。
3、馬爾可夫鏈的轉(zhuǎn)移概率和轉(zhuǎn)移矩陣稱作從α向β轉(zhuǎn)移的概率
4、齊次性(與具體時(shí)間無關(guān)性)
對(duì)任何m、n成立
二、隱馬可夫模型假設(shè)(HMM)
對(duì)于一個(gè)隨機(jī)事件,有一個(gè)觀察值序列:O1, …,Ot,該事件隱含著一個(gè)狀態(tài)序列:X1, …,Xt
假設(shè)1:馬爾可夫假設(shè)(狀態(tài)構(gòu)成一階馬爾可夫鏈)
P(Xi|Xi-1,…,X1) = P(Xi|Xi-1)
假設(shè)2:不動(dòng)性假設(shè)(狀態(tài)與具體時(shí)間無關(guān))
P(Xi+1|Xi) = P(Xj+1|Xj),對(duì)任意i,j成立
假設(shè)3:輸出獨(dú)立性假設(shè)(輸出僅與當(dāng)前狀態(tài)有關(guān))
P(O1, …,Ot | X1, …,Xt) = Π P(Ot | Xt)
在基因的識(shí)別模型中,觀察值序列顯然對(duì)應(yīng)于DNA序列(或蛋白質(zhì)序列),狀態(tài)序列對(duì)于基因的功能區(qū)段(或蛋白質(zhì)中類似結(jié)構(gòu)域的片段);而假設(shè)1和假設(shè)2定 義的是基因的功能序列的馬爾可夫性和與起始狀態(tài)無關(guān)性,假設(shè)3的意思可以理解為某一基因功能區(qū)對(duì)應(yīng)的DNA序列只與該功能區(qū)段有關(guān)。這些假設(shè)在基因的模型 中是否完全適用有待進(jìn)一的檢驗(yàn),但從現(xiàn)有的知識(shí)和應(yīng)用的結(jié)果來看是合理的。
三、隱馬可夫模型的定義
一個(gè)隱馬可夫模型包括五個(gè)參數(shù):(Ωx,Ωo,A,B,π)
其中:
ΩX = {q1,…qN}:狀態(tài)的有限集合
ΩO = {v1,…,vM}:觀察值的有限集合
A = {aij},aij = P(Xt+1 = qj |Xt = qi):轉(zhuǎn)移概率
B = {bik},bik = P(Ot = vk | Xt = qi):輸出概率
π = {πi}, πi = P(X1 = qi):初始狀態(tài)分布
有了這些參數(shù),我們就可以構(gòu)建一個(gè)完整的模型來解決實(shí)際問題,但在這之前,先要問自己三個(gè)基本問題,幾乎每一本講隱馬可夫模型的書里都會(huì)提到。
1、 likelihood question(可能性的評(píng)估問題)
對(duì)于給定模型,如何評(píng)估某個(gè)觀察值序列符合這個(gè)模型的可能性,也就是說這個(gè)觀察值序列在多大程度上符合給定的模型。
2、 decoding question(解碼問題)
對(duì)于給定的模型和觀察值序列,求可能性最大的狀態(tài)序列。
3、 learning question(學(xué)習(xí)問題)
對(duì)于給定的一個(gè)觀察值序列,如何根據(jù)此序列調(diào)整參數(shù){A,B,π},獲得合適的模型。
四、隱馬可夫模型的算法
1、基本算法
向前算法、向后算法、Viterbi算法
2、學(xué)習(xí)算法
EM算法、gradient descent、viterbi learning
五、隱馬可夫模型的應(yīng)用
1. multiple alignments
2. database mining and classification of sequence and fragments
3. structural analysis and pattern discovery