黃崗
(西安體育學院 陜西 西安 710068)
馬爾可夫模型是由Andrei A Markov于1913年提出來的,作為一種統計模型,廣泛應用在語音識別,詞性自動標注,音字轉換,概率文法等各個自然語言處理等應用領域,到目前為止,它一直被認為是實現快速精確的語音識別系統的最成功的方法[1]。而隱馬爾可夫模型是對馬爾可夫模型的一種擴充,創立于20世紀60年代末70年代初。80年代得到了傳播和發展,成為信號處理的一個重要方向,同時開始應用到生物序列尤其是DNA的分析中。從那時后起,在生物信息學領域HMM已經變得無從不在。到了90年代,HMM還被引入計算機文字識別和移動通信核心技術“多用戶的檢測”。20世紀90年代中期以后,隱馬爾可夫模型被引入到圖像處理和識別的研究中,并取得了一些初步的研究成果。HMM現已成功地用于語音識別,行為識別,文字識別以及故障診斷等領域[2]。目前的對于馬爾科夫和隱馬爾科夫模型的研究多為單一領域分析,尚不夠全面。本文通過整理分析馬爾科夫模型及隱馬爾可夫模型,主要針對兩個模型的應用進行分析,研究對比其在不同領域的應用,分析其優劣,進一步提出了相關改進建議和優化措施。
馬爾可夫鏈是由安德列·馬爾可夫發現而得名的。在給定當前知識或信息的情況下,過去(即當期以前的歷史狀態)對于預測將來(即當期以后的未來狀態)是無關的。一個簡單?的例子,我們假設第二天的天氣狀況(晴天,陰天,雨天)只與今天的天氣狀況有關,與以前的狀況無關。并且,在今天天氣狀態已知的情況下,明天的天氣概率分布是確定的[3]。時間和狀態都是離散的馬爾可夫過程稱為馬爾可夫鏈,簡記為Xn=X(n),n=0,1,2,…。馬爾可夫鏈是隨機變量X1,X2,X3…的一個數列。這些變量的范圍,即他們所有可能取值的集合,被稱為“狀態空間”,而Xn的值則是在時間n的狀態。如果Xn+1對于過去狀態的條件概率分布僅是Xn的一個函數,則P(Xn+1=x|X0,X1,X2,…,Xn|)=P(Xn+1=x|Xn)這 里x為 過 程 中 的 某 個 狀態。則這個恒等式可以被看作是馬爾可夫性質。形式化地,我們可以認為馬爾可夫鏈是滿足下面兩個假設的一種隨機過程:
1)t+1時刻系統狀態的概率分布只與t時刻的狀態有關,與t時刻以前的狀態無關;
2)從t時刻到t+1時刻的狀態轉移與t的值無關。一個馬爾可夫鏈模型可表示為=(S,P,Q),其中各字母的含義如下:
1)S是系統所有可能的狀態所組成的非空的狀態集,有時也稱之為系統的狀態空間,它可以是有限的、可列的集合或任意非空集。文中假定S是可數集(即有限或可列)。用小寫字母i,j(或Si,Sj)等來表示狀態。
2)P=[Pij]n×n是系統的狀態轉移概率矩陣,其中Pij表示系統在時刻t處于狀態i,在下一時刻t+1處于狀態i的概率,N是系統所有可能的狀態的個數。對于任意i∈s,有3)Q=[q1,q2…qn]是系統的初始概率分布,qi是系統在初始時刻處于狀態i的概率,滿足
為了更明晰地了解這個模型的意義,我們可以想一個有限狀態機,在不同狀態之間轉移有一個確定的概率分布。兩個狀態之間的概率就是在當前狀態書籍的情況下,下一時間的狀態變為另一個節點狀態的概率。
馬爾可夫模型對日常的問題有一個比較好的模型化描述。但是,這樣的模型研究價值并不大,因為所有狀態都已知了。另一方面,在很多情況下,我們對狀態是不能直接進行觀測的,只能對狀態反應出來的一部分性質進行觀測,這就導致了隱馬爾可夫模型(Hidden Markov Model)的提出。
隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測向量序列觀察到每個觀測向量都是通過某些概率密度分布表現為各種狀態,每一個觀測向量是由一個具有響應概率密度分布的狀態序列產生[4]。它是一種用參數表示的用于描述隨機過程統計特性的概率模型,是一個雙重隨機過程,由兩個部分組成:馬爾可夫鏈和一般隨機過程。其中馬爾可夫鏈用來描述狀態的轉移,用轉移概率描述。一般隨機過程用來描述狀態與觀察序列間的關系,用觀察值概率描述[5]。
對于HMM模型,其的狀態轉換過程是不可觀察的,因而稱之為“隱”馬爾可夫模型。
HMM定義如下:
1)X代表一組狀態的集合,其中X={S1,S2,…,SN},狀態數為N,并用qt來表示t時刻的狀態。雖然狀態是隱藏的,但對于很多應用來說,有一些物理的意義都和狀態或者狀態集相關。狀態內部的聯系就是從一個狀態可以到其它狀態。
2)O代表一組可觀察符號的集合O={V1,V2,…,VM},M是從每一狀態可能輸出的不同的觀察值的數目。
3)狀態轉移概率分布A={aij},這里aij=P{qi+1=Sj|qt=Si},1<i,j≤N。特殊情況下,每個狀態都可以一步到達其它任何狀態,這時對任意(i,j)有aij>0。對于其他的HMM,可能有aij=0(對于一對或多對i,j)。
4)狀態j的觀察概率分布B={bj(k)},表示狀態j輸出相應觀察值的概率,其中bj(k)=P{Ot=Vk|qt=Sj},1≤j≤N,1≤k≤M。
5)初始化狀態分布π={πi},πi=P{q1=Si},1≤i≤N。
由上,HMM可以定義為一個五元組λ:
λ=(X,O,π,A,B)
或簡寫為
λ=(π,A,B)
上面所述HMM的3個關鍵元素實際可以分成兩部分,其一為Markov鏈,由π、A描述,另一部分是一個隨機過程,由B描述。
利用隱馬爾可夫模型,一般可以解決以下幾類經典的問題。
1)估值問題。
給定觀察序列O=O1O2…OT和模型λ=(A,B,π),計算P(O|λ)。即給定模型和輸出觀察序列,如何計算從模型生成觀察序列的概率。可以把它看作是評估一個模型和給定觀察輸出序列的匹配程度,由此可以用來在一系列候選對象中選取最佳的匹配。例如我們要預測未來足球比賽的勝負,我們會收集現在的信息,并找出以后一系列比賽最可能的結果。隱馬爾可夫模型可以給出每種可能結果出現的概率。
2)解碼問題。
給定觀察序列O=O1O2…OT和模型λ=(A,B,π),求在某種有意義的情況下最優的相關狀態序列Q=q1q2…qT。該可以理解為對輸出觀察的最佳“解釋”,它試圖揭示模型的隱藏部分,比如說查找“正確”的狀態序列,在應用中,通常都使用一個優化策略來最大可能的解決這個問題。在智能電網的監控中,我們想知道每個用電器的使用情況,但又不能對每一個用電器都安裝一個傳感器,成本太高,而且有的地方不適合安裝傳感器。因此只能壓縮采樣。這里采集的數據就可以看作實際情況——用電器開關狀態的一個性質反應。如果傳感器數量多,我們就可以利用馬爾可夫模型,以較高的精確度恢復用電器開關情況這一原始狀態。
3)學習問題。
如何調整模型參數λ=(A,B,π),對于一個給定的觀察序列O=O1O2…OT,使得P(O|λ)最大。它試圖優化模型的參數來最佳的描述一個給定的觀察序列是如何得來的。這里,我們有了所有的數據,但是想要一個馬爾可夫模型來簡單地描述它。就需要求出相應的參數。當然,我們可以用這個模型來匹配已有的數據,來看它是否合理地擬合了現在有數據。一般情況下,我們會用一部分數據訓練,用一部分數據來測試,防止一些簡單的高次擬合產生。
隱馬爾可夫模型有以下特點:
1)HMM具有強有力的時間序列建模能力,在應用與模式識別時具有一些獨特的優勢,主要體現在整體和局部都具備平移不變性。HMM的核心是有限狀態自動機,這賦予了它解決局部平移問題的能力[6]。
2)HMM體現了類似結構方法的一些特點,從而可能具備結構方法的部分優點。作為一種統計模型,隱馬爾可夫模型仍然是基于特征以及貝葉斯決策進行判別,但是與一般統計方法和模型不同,它需要根據先驗知識和對隨機信號結構的分析構造一個合適的有限狀態自動機作為其隱含層的拓撲結構,這種有限狀態自動機實際上描述了信號的發生機制,因此,它的拓撲結構包含了信號的部分結構信息。
因此,它在許多領域,多括模式識別,天氣預測,文字識別,語言翻譯等領域有廣泛的用途[7]。幾個典型的應用如下:
1)語音識別
已知標準語音序列w1,w2,…,wn,求待測序列c1,c2,…,cn的含義
HMM模型:將每句話為理解為狀態;將輸入的待測樣本為理解為觀測值。
訓練:統計狀態轉移矩陣和語言序列到觀測序列的輸出矩陣。
求解:采用Viterbi算法
步驟:聲音采樣——傅立葉到頻域——頻域特征向量提取——輸入樣本——構造HMM——輸入聲音——求解模型
2)疾病分析
已知疾病序列w1,w2,…,wn,求表征序列c1,c2,…,cn對應狀態轉移過程。
HMM模型:將每種疾病為理解為狀態;將輸入的表征現象為理解為觀測值。
訓練:統計從一種疾病轉變到另一種疾病的概率轉移矩陣和某一疾病呈現出某一癥狀的概率矩陣。
求解:采用Viterbi算法。
3)詞性標注
已知單詞序列w1,w2,…,wn,求詞性序列c1,c2,…,cn。
HMM模型:將詞性為理解為狀態;將單詞為理解為輸出值。
訓練:統計詞性轉移矩陣和詞性到單詞的輸出矩陣。
求解:Viterbi算法。
馬爾可夫模型還是有很多局限性的。它的一些假設忽略了實際的細節。具體來說,以下幾個方面:
1)HMM在默認的情況下僅指一階隱馬爾可夫模型,一階隱馬爾可夫模型中有3個重要假設:①狀態轉移的Markov假設:系統在當前時刻的狀態向下一時刻所處的狀態轉移的狀態轉移概率僅僅與當前時刻的狀態有關,而與以前的歷史無關。②不動性假設,即狀態與具體時間無關。③輸出值的Markov假設:系統在當前時刻輸出觀測值的概率,只取決于當前時刻的狀態而與當前時刻以前的時刻所處的狀態無關。而在實際應用中,這樣假設并不十分合理,因為任一時刻出現的觀測值的概率不僅僅依賴于系統當前所處的狀態,也可能依賴于系統在之前時刻所處的狀態[8]。
2)經典隱馬爾可夫模型理論具有狀態集固定的缺陷,這種缺陷影響了隱馬爾可夫模型對隨機信號建模的能力,并限制了基于隱馬爾可夫模型的分類器的性能。利用隱馬爾可夫模型對任何信號建模都存在這樣的問題,被建模的信號比較簡單或者包含信息量比較一致(如語音),基于先驗知識預先定義狀態集或者通過多次實驗選擇一種比較合適的固定狀態集基本上就能描述所有的模式。而圖像則不同,圖像包含的信息量非常豐富,這就導致不同圖像之間的信息量差距相應的不可避免的要大,因此這個問題在圖像處理中就暴露得比較明顯。因此,在實際應用中,隱馬爾可夫模型有很多的改進模型,使其能更了的匹配實際狀態。例如,在用電器監測中,我們假設同一時間開關的用電器數目有一個上界,那么許多狀態轉移是不可能發生的。又如,我們對一個用電器的開關時間長短作一個簡單的統計,那么在某一狀態的概率中,我們還要考慮這一狀態中用電器開關時間的概率,可以對這一狀態的發生概率作一次修正。這是傳統的的馬爾可夫模型所不能做到的。
[1]李相勇,張南,蔣葛夫.道路交通事故灰色馬爾可夫預測模型[J].公路交通科技,2003,20(4):98-100.LI Xiang-yong,ZHANG Nan,JIANG Ge-fu.Grey-markov model for forecasting road accidents[J].Journal of Highway and Transportation Research and Development,2003,20(4):98-100.
[2]劉克.實用馬爾可夫決策過程[M].清華大學出版社,2004.
[3]施程,桑廣書.基于加權馬爾可夫鏈的杭州市年降水量預測[J].浙江水利科技,2012(15):21-23,44.SHI Cheng,SANG Guang-shu.An annual precipitation prediction based on weighted markov Chain in hangzhou[J].Zhejiang Hydrotechnics,2012(15):21-23,44.
[4]羅宇,杜利民.基于隱馬爾可夫模型局部最優狀態路徑的數據重建算法[J].電子與信息學報,2004(5):722-726.LUO Yu,DU Li-min.HMM local optimal state path-based data imputation[J].Journal of Electronics and Information Technology,2004(5):722-726.
[5]何彥斌,楊志義,馬薈,等.一種基于HMM的場景識別方法[J].計算機科學,2011(4):254-256.HE Yan-bin,YANG Zhi-yi,MA Hui,et al.Method of situation recognition based on hidden markov model[J].Computer Science,2011(4):254-256.
[6]潘奇明,程詠梅.基于隱馬爾可夫模型的運動目標軌跡識別[J].計算機應用研究,2008(7):1988-1991.PAN Qi-ming,CHENG Yong-mei.Trajectory recognition of moving objects basedon hidden Markov model[J].Application Research of Computers,2008(7):1988-1991.
[7]李楠,姬光榮.基于不同隱馬爾科夫模型的圖像識別方法[J].現代電子技術,2012(8):54-56,60.LI Nan,JI Guang-rong.Image recognition algorithms based on different hidden Markov models[J].Modern Electronics Technique,2012(8):54-56,60.
[8]劉云中,林亞平,陳治平.基于隱馬爾可夫模型的文本信息抽取[J].系統仿真學報,2004(3):507-510.LIU Yun-zhong,LIN Ya-ping,CHEN Zhi-ping.Text information extraction based on hidden markov model[J].Acta Simulata Systematica Sinica,2004(3):507-510.