隱式馬爾科夫鏈(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:計算機科學 |