隱馬爾可夫模型(HMM)

介紹

隱馬爾可夫模型由:初始狀態概率向量π\pi、轉態轉移概率矩陣A和觀測概率矩陣B決定。隱馬爾可夫模型表示如下:
λ=(A,B,π) \lambda = (A,B,\pi)
其中,A,B,πA,B,\pi稱爲隱馬爾可夫模型的三要素,隱馬爾可夫模型,如下圖所示:
在這裏插入圖片描述
Q是所有可能的狀態集合,V是所有可能觀測的集合。舉例如下:
假設有3個盒子,每個盒子裏面的球一共有10個,分別有(紅,白)球:(5,5)、(4,6)和(7,3)。即球模型λ=(A,B,π)\lambda=(A,B,\pi),狀態集合Q={1,2,3},觀測集合V={紅,白}。抽球產生觀測序列的規則:分別對3個盒子以(0.2,0.4,0.4)的概率隨機選取一個盒子,然後從該盒子中隨機抽取一個球,記錄顏色,然後放回。
(1)轉態轉移概率矩陣A
A=[0.50.20.30.30.50.20.20.30.5] A=\begin{bmatrix} 0.5 & 0.2 &0.3 \\ 0.3& 0.5 & 0.2\\ 0.2&0.3 & 0.5 \end{bmatrix}
即盒子1狀態下,進入下一個盒子狀態:盒子1,2,3的概率分別是0.5, 0.2, 0.3
(2)觀測概率矩陣B
B=[0.50.50.40.60.70.3] B=\begin{bmatrix} 0.5 & 0.5 \\ 0.4& 0.6 \\ 0.7& 0.3 \\ \end{bmatrix}
即在盒子1狀態下,出現紅,白球概率分別是0.5, 0.5。
(3)初始狀態概率向量π\pi
π=(0.2,0.4,0.4)\pi=(0.2,0.4,0.4)
即初始時分別對3個盒子以(0.2,0.4,0.4)的概率隨機選取一個盒子

HMM模型的3個基本問題

(1)概率計算問題:給定模型λ=(A,B,π)\lambda=(A,B,\pi)和觀測序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),計算在該模型下觀測序列O出現的概率P=(Oλ)P=(O|\lambda)
計算概率的方法:直接計算、前向算法、後向算法
(2)學習問題:已知觀測序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),估計模型λ=(A,B,π)\lambda=(A,B,\pi)參數,使得觀測序列P=(Oλ)P=(O|\lambda)概率最大。即極大似然估計方法,具體的算法如下
方法:Baum-Welch算法(即EM算法)
(3)預測問題:也稱爲解碼問題,即給定觀測序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),求最有可能的對應狀態序列。
方法:維特比算法(動態規劃)
參考
1.統計學習方法
2.https://www.cnblogs.com/skyme/p/4651331.html
3.EM算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章