標籤:

隱式馬爾科夫鏈(HMM)學習筆記

這兩天做課程作業,學習了隱式馬爾科夫鏈(Hidden Markov Model)。除了看老師給的資料,還查了一些課件、筆記、博文等。下面整理出這些資料,方便自己和他人參考、查閱。

1.定義相關:

[1][2]給出了定義,模型參數(轉移概率,發射概率,初始pi分布等)。

2.前向概率

前向概率,定義上是指,t時刻狀態為S^t,並且已經得到的觀測序列為O=[O^0, ... O^t]的聯合概率。即

前向概率解決的問題是已經模型參數下,求出現某種觀測序列的概率。具體演算法就是上圖給出的遞推公式了,注意每一步都要針對每種狀態進行計算。

3.後向概率

[1]描述了幾種問題,涉及前向概率,但是沒提到後向概率。於是找到博文[3]。

後向概率主要思想也是遞推,只不過方向與前向概率是相反的,用後向概率也能計算出

4.posterior probabilities

不知道怎麼翻譯,是指給定觀測序列和模型參數,某一步/時刻,處在某種狀態的概率,即P(πi = S_i|x, M) for i

= 1, . . . , T

針對這個問題,找到了博文[4]。

引用博文[4]:

t時刻呈現狀態i的概率

用前向概率和後向概率求此概率,具體推導和原理,TODO。

5.最大可能狀態路徑問題,Viterbi algorithm[5]

求給定觀測序列下,出現概率最大的狀態轉移路徑。

Viterbi algorithm本質上也是遞推,但是每一步用的是max,只考慮最有可能的那條路徑。而δ(St)和α(St)(前向概率)非常相似,一個是max,一個是求和,因為α(St)考慮之前所有狀態的情況。

寫得比較簡單,這只是個索引,細節可以看References。使用了多方的資料,包括上課的課件,符號系統也比較混亂,將就看吧。

References

1.《機器學習實戰》學習總結(十一)——隱馬爾可夫模型(HMM)

2.Hidden Markov model

3.隱馬爾科夫模型(HMM)一前向與後向演算法

4.向前-向後演算法(forward-backward algorithm)

5.Viterbi algorithm


推薦閱讀:

[B0] Python基礎
少兒編程|Scratch科學實驗系列
為什麼有有很多人轉去學習CS ?
如何在 Windows 系統中高效使用 Alt 鍵?
物聯網技術中的「兩域、六層」

TAG:計算機科學 |