數(shù)學之美--隱含馬爾科夫模型

保留初心,砥礪前行

這是令人興奮的一個章節(jié)。

因為科研中總是充滿了馬爾科夫。

隱含馬爾科夫模型也是機器學習的主要工具之一。

引用這句話的目的也是為了證明這一章節(jié)的重要性。

引例:

在通信模型中,信息源發(fā)出信號s1,s2,s3,...,接收器收到o1,02,03,...。解碼操作就是通過收到的o1,02,03,...還原回s1,s2,s3,...。
如何根據(jù)o1,02,03,...得到s1,s2,s3,...,可以把這項工作理解成由o1,02,03,...,最有可能產(chǎn)生哪一種s1,s2,s3,...。解釋成概率論的語言就是在o1,02,03,...已知的情況下,求P(s1,s2,s3,...|o1,02,03,...)達到最大時的那一串s1,s2,s3,...。也就是如下公式:

![](http://www.forkosh.com/mathtex.cgi? S_{1},S_{2},S_{3},S_{4},\ldots =ArgMaxP\left( S_{1},S_{2},S_{3},\ldots |O_{1},O_{2},O_{3},\ldots \right))
利用貝葉斯公式,可以把上式等價變成

![](http://www.forkosh.com/mathtex.cgi? \dfrac {P\left(O_{1},O_{2},O_{3} ,O_{4} ,\ldots |S_{1},S_{2},S_{3},\ldots \right)\cdot P\left( S_{1},S_{2},S_{3}\right)} {P\left( O_{1},O_{2},O_{3}\right)})

其中,分子的左邊的P代表在信息s1,s2,s3,...經(jīng)過傳輸后變成o1,02,03,...的可能性;右邊的P代表是一個正常信號的概率;分母代表接發(fā)送端產(chǎn)生信息o1,02,03,...的可能性。

o1,02,03,...一旦產(chǎn)生,就不會再發(fā)生變化,因此P(o1,02,03,...)可以看作一個常數(shù),上面公式就可以等價成

![](http://www.forkosh.com/mathtex.cgi?{P\left(O_{1},O_{2},O_{3} ,\ldots |S_{1},S_{2},S_{3},\ldots \right)\cdot P\left( S_{1},S_{2},S_{3}\right)} )

這個公式可以用隱含馬爾科夫模型來估計。

隱含馬爾科夫模型

馬爾科夫假設(shè)在隨機過程中每個狀態(tài)st的概率分布,只與它的前一個狀態(tài)st-1有關(guān),即![](http://www.forkosh.com/mathtex.cgi?{P\left(S_{t} |S_{1},S_{2},S_{3},S_{4}, \ldots ,S_{t-1}\right)={P\left(S_{t} |S_{t-1}\right) )
符合這個假設(shè)的隨機過程成為馬爾科夫過程,也稱為馬爾科夫鏈。

這一段是重點內(nèi)容:
可以把這個馬爾科夫鏈想象成一臺機器,它隨機的選擇一個狀態(tài)作為初始狀態(tài)開始運行,并且按照馬爾科夫鏈的規(guī)則持續(xù)選擇后續(xù)狀態(tài)。這樣在運行了一段時間T后,就會產(chǎn)生一個狀態(tài)序列:s1,s2,s3,... ,sT。根據(jù)這個序列,很容易得到某個狀態(tài)si出現(xiàn)的次數(shù)#(si),也很容易得到si轉(zhuǎn)換到sj的次數(shù)#(si,sj)。從而得到si轉(zhuǎn)移到sj的概率:#(si,sj) / #(si)。

隱含馬爾科夫模型是上述馬爾科夫鏈的一個擴展。

隱含馬爾科夫模型中任意時刻t的狀態(tài)st是不可見的。因此上述的根據(jù)觀察序列得到概率的方式都不再working。幸好隱含馬爾科夫模型在每個t都會輸出一個符號ot,這個ot與st相關(guān)并且只與st相關(guān),這個被稱為獨立輸出假設(shè)。

隱含馬爾科夫模型

上圖中下邊一層的4個狀態(tài)s不可見,這些s是典型的馬爾科夫鏈,而它們輸出的符號o是可見的。

根據(jù)上述的獨立輸出假設(shè),我們可以得到如下公式:

![](http://www.forkosh.com/mathtex.cgi?{P\left(O_{1},O_{2},O_{3} ,\ldots |S_{1},S_{2},S_{3},\ldots \right)=\prod {t}P\left( o{t}|s_{t}\right)} )

根據(jù)上述的馬爾科夫假設(shè),我們可以得到如下公式:

![](http://www.forkosh.com/mathtex.cgi?{P\left( S_{1},S_{2},S_{3},\ldots\right)=\prod {t}P\left( s{t}|s_{t-1}\right)} )

使用以上兩個公式與之前的通信問題中的最終推導(dǎo)式

![](http://www.forkosh.com/mathtex.cgi?{P\left(O_{1},O_{2},O_{3} ,\ldots |S_{1},S_{2},S_{3},\ldots \right)\cdot P\left( S_{1},S_{2},S_{3}\right)} )

相比較,可以容易地看出這些公式在形態(tài)上相似。把獨立輸出和馬爾科夫假設(shè)的兩個公式相乘,可以正好得到之前在通信問題中我們所要求的內(nèi)容。因此通信的解碼問題完全可以使用隱含馬爾科夫模型來解決。

就像前文所說的那樣,我們要找到的是那個公式的所有參數(shù)情況下,概率最大的那一組s1,s2,s3,...。至于如何找到最大的概率進而找到這組狀態(tài)串,可以利用維特比算法,在后邊的章節(jié)會介紹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容