隱馬爾可夫(HMM)模型
隱馬爾可夫模型,是一種概率圖模型,一種著名的有向圖模型,一種判別式模型。主要用於時許數據建模,在語音識別、自然語言處理等領域廣泛應用。
概率圖模型分為兩類,一類:使用有向無環圖表示變量間的依賴關系,稱為有向圖模型或者貝葉斯網;第二類:使用無向圖表示變量間的依賴關系,稱為無向圖模型或者馬爾可夫網。
判別式模型:考慮條件分布P(Y, R | O),生成式模型:考慮聯合分布P(Y, R, O)
HMM三個假設
- 當前觀測值只由當前隱藏狀態決定
- 當前隱藏狀態由前一個隱藏狀態決定
- 隱藏狀態之間轉移概率不隨時間改變
隨機過程中某一時刻的狀態st的概率分布為:
p(st|st-1,st-2,...,s0)=p(st|st-1)
即:t 時刻的狀態僅依賴於 t-1 時刻的狀態,與其余狀態無關,這就是所謂的“馬爾可夫鏈”
在馬爾可夫鏈中,每一圓圈代表相應時刻的狀態,有向邊代表可能的狀態轉移,權重表示狀態轉移的概率
HMM模型結構圖
HMM模型五元組
HMM模型可以用五元組(O, S, A, B, π)表示。其中
- O: {o0, o1, ..., on} 表示觀測系列,是系統的外在可觀測變量。
- S: {s0, s1, ..., sn} 表示隱狀態序列,是導致系統外在表現變化的內因。
- A: {aij = p(sj | si)} 表示狀態轉移概率。
- B: {bij = p(oj | si)} 表示輸出概率,又稱發射概率
- π: {π0, π1, ..., πm} 表示初始狀態概率。
HMM三類問題
根據以上HMM模型五元組表示,我們可以歸納出HMM模型解決的三類主要問題。
一、評估問題
已知:狀態轉移矩陣 A, 初始狀態概率 π,輸出矩陣 B,觀測序列
求:求該觀測序列的可能性
解決算法:向前(forward)算法或者向后(backward)算法
二、解碼問題
已知:狀態轉移矩陣A,初始狀態概率 π,輸出矩陣B,觀測序列
求:最有可能產生該觀測序列的隱藏狀態序列
解決算法:維特比(Viterbi)算法,一種動態規划算法
三、學習問題
已知:很多觀測序列
求:估計HMM模型參數的可能取值
解決算法:鮑姆韋爾奇(Baum-Welch)算法