隱馬爾可夫模型
在馬爾可夫模型中,每個狀態代表了一個可觀察的事件,因此,馬爾可夫模型又稱作可視馬爾可夫模型(visible Markov model,VMM)。隱馬爾可夫模型(HMM)中,模型所經過的狀態序列未知,只知道狀態的概率函數,即觀察到的事件是狀態的隨機函數,因此,該模型是一個雙重隨機過程。其中,模型的狀態轉換過程是不可觀察的(隱蔽的),可觀察事件的隨機過程是隱蔽狀態轉換過程的隨機函數。
HMM模型可表示爲一個五元組μ=(S,K,A,B,π),其中S爲狀態的集合,K爲輸出符號的集合,π、A和B分別表示初始狀態的概率分佈、狀態轉移概率和符號發射概率。有時也將其簡記爲三元組μ=(A,B,π)。
-
模型中的狀態數N=∣S∣;
-
每個狀態可能輸出的符號數M=∣K∣;
-
狀態轉移概率矩陣A={aij},其中
aij=P(qt=sj∣qt−1=si)aij≥0j=1∑Naij=11≤i,j≤N(6-6)
- 從狀態sj觀察到符號vk的概率分佈矩陣B={bj(k)},其中
bj(k)=P(Ot=vk∣qt=sj)bj(k)≥0k=1∑Mbj(k)=11≤j≤N, 1≤k≤M(6-7)
觀察符號的概率又稱符號發射概率(symbol emission probability);
- 初始狀態概率分佈π={πi},其中,
πi=P(q1=si)πi≥0i=1∑Nπi=11≤i≤N(6-8)
考慮潛在事件隨機地生成表面事件,假設給定HMM模型μ=(A,B,π),則觀察序列O=O1O2⋯OT可以由以下步驟產生:
-
根據初始狀態的概率分佈π,選擇一個初始狀態q1=si;
-
設t=1;
-
根據狀態si的輸出概率分佈bi(k)輸出Ot=vk;
-
根據狀態轉移概率分佈aij,將當前時刻t的狀態轉移到新的狀態qt+1=sj;
-
t=t+1,如果t<T,重複執行步驟(3)、(4),否則,結束算法。
HMM的三個基本問題:
-
估計問題:給定觀察序列O=O1O2⋯OT和模型μ=(A,B,π),計算觀察序列O的概率,即P(O∣μ);
-
序列問題:給定觀察序列O=O1O2⋯OT和模型μ=(A,B,π),選擇在一定意義下“最優”的狀態序列Q=q1q2⋯qT,使得該狀態序列“最好地解釋”觀察序列;
-
訓練問題(參數估計問題):給定一個觀察序列O=O1O2⋯OT,根據最大似然估計計算模型參數值,即計算使P(O∣μ)最大時,模型μ=(A,B,π)的參數。
三個基本問題可通過前後向算法及參數估計解決。