隱馬爾可夫模型(HMM)
隱馬爾可夫模型原理部分可以概括為三句話:一個定義、兩個假設、三個問題
HMM是一個五元組(Y,X,π,A,B),其中Y是狀態(輸出)的集合,X是觀察值(輸入)集合,π是初始狀態的概率,A是狀態轉移概率矩陣,B是輸出觀察值概率矩陣。
1.定義
隱馬爾可夫模型是關於時序的概率模型,描述由一個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態的序列,再由各個狀態隨機生成一個觀測而產生觀測的序列的過程。
隱馬爾可夫模型是一個生成模型,表示狀態序列和觀測序列的聯合分佈,但是狀態序列是隱藏的,不可觀測的。
隱馬爾可夫模型可以用於標註,這時狀態對應著標記。標註問題是給定觀測序列預測其對應的標記序列。
隱馬爾可夫模型由初始狀態概率向量π、狀態轉移概率矩陣A和觀測概率矩陣B決定。
下面是一個例子,幫助理解隱馬爾可夫模型的一些概念。
2.基本假設
定義I是長度為T的狀態序列,O是對應的觀測序列,如下所示:
(1)齊次馬爾可夫性假設,即假設隱藏的馬爾可夫鏈在任意時刻t的狀態只依賴於前一時刻的轉態,與其他時刻的狀態及觀測無關,也與時刻t無關。
(2)觀測獨立性假設,即假設任意時刻的觀測只依賴於該時刻的馬爾可夫鏈的狀態,與其他觀測與狀態無關。
3.基本問題
隱馬爾可夫模型有3個基本問題:
(1)概率計算問題。給定模型=(A,B,π)和觀測序列
(2)學習問題。已知觀測序列,估計模型 = (A,B,π)引數,使得在模型下觀測序列概率P(O|)最大,即用極大似然估計的方法估計引數。
(3)預測問題,也是解碼(decoding)問題。已知模型=(A,B,π)和觀測序列,求給定觀測序列條件概率P(I|O)最大的狀態序列。即給定觀測序列,求最可能的對應的狀態序列。
下面對這三個基本問題進行詳細地介紹:
4.概率計算問題
(1)前向演算法
(2)後向演算法
5.學習演算法
非監督學習演算法:Baum-Welch(也就是EM演算法)
Baum-Welch演算法
其中:
6.預測演算法
維特比(Viterbi)演算法實際使用動態規劃解隱馬爾科夫模型預測問題,即用動態規劃求概率最大路徑(最優路徑)。這時一條路徑對應著一個狀態序列。
隱馬爾可夫模型有諸多的實際應用,比如PageRank、詞性標註、命名實體識別等,剛興趣的讀者可以自行閱讀相關論文。
參考文獻
(1)《統計學習方法》