基本理論
隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測向量序列觀察到,每個觀測向量都是通過某些機率密度分布表現為各種狀態,每一個觀測向量是由一個具有回響機率密度分布的狀態序列產生。所以,隱馬爾可夫模型是一個雙重隨機過程 ----具有一定狀態數的隱馬爾可夫鏈和顯示隨機函式集。自20世紀80年代以來,HMM被套用於語音識別,取得重大成功。到了90年代,HMM還被引入計算機文字識別和移動通信核心技術“多用戶的檢測”。近年來,HMM在生物信息科學、故障診斷等領域也開始得 到套用。
模型的表達
隱馬爾可夫模型可以用五個元素來描述:
1.N,模型的隱狀態數目。雖然這些狀態是隱含的,但在許多實際套用中,模型的狀態通常有具體的物理意義
2.M,每個狀態的不同觀測值的數目。
3.A , 狀態轉移機率矩陣。描述了HMM模型中各個狀態之間的轉移機率。其中
AIJ = P(AT+1 =SJ | QT=SI),1≤I,J≤N. (1)
式(1)表示在T時刻、狀態為SI的條件下,在T+1時刻狀態是SJ的機率。
4. B ,觀測機率矩陣。其中
BJ(K) = P[VK(T) | QT = SJ]; 1≤J≤N,1≤K≤M.
表示在T時刻、狀態是SJ條件下,觀察符號為VK(T)的機率。
5.π 初始狀態機率矩陣 π={πJ} πJ= P[Q1 = SJ];1≤J≤N.
表示在初始T=1時刻狀態為SJ的機率。
一般的,可以用λ=(A,B,π)來簡潔的表示一個隱馬爾可夫模型。給定了N,M,A,B,π後,隱馬爾可夫模型可以產生一個觀測序列 O=O1O2O3…OT
HMM需要解決三個基本問題:
*1 評估問題:
給定觀測序列 O=O1O2O3…OT和模型參數λ=(A,B,π),怎樣有效計算某一觀測序列的機率.
*2 解碼問題
給定觀測序列 O=O1O2O3…OT和模型參數λ=(A,B,π),怎樣尋找某種意義上最優的觀測序列.
*3 學習問題
怎樣調整模型參數λ=(A,B,π),使其最大?
基本算法
針對以上三個問題,人們提出了相應的算法
*1 評估問題: 向前向後算法
*2 解碼問題: VITERBI算法
*3 學習問題: BAUM-WELCH算法