黃崗
(西安體育學(xué)院 陜西 西安 710068)
馬爾可夫模型是由Andrei A Markov于1913年提出來的,作為一種統(tǒng)計模型,廣泛應(yīng)用在語音識別,詞性自動標(biāo)注,音字轉(zhuǎn)換,概率文法等各個自然語言處理等應(yīng)用領(lǐng)域,到目前為止,它一直被認(rèn)為是實現(xiàn)快速精確的語音識別系統(tǒng)的最成功的方法[1]。而隱馬爾可夫模型是對馬爾可夫模型的一種擴充,創(chuàng)立于20世紀(jì)60年代末70年代初。80年代得到了傳播和發(fā)展,成為信號處理的一個重要方向,同時開始應(yīng)用到生物序列尤其是DNA的分析中。從那時后起,在生物信息學(xué)領(lǐng)域HMM已經(jīng)變得無從不在。到了90年代,HMM還被引入計算機文字識別和移動通信核心技術(shù)“多用戶的檢測”。20世紀(jì)90年代中期以后,隱馬爾可夫模型被引入到圖像處理和識別的研究中,并取得了一些初步的研究成果。HMM現(xiàn)已成功地用于語音識別,行為識別,文字識別以及故障診斷等領(lǐng)域[2]。目前的對于馬爾科夫和隱馬爾科夫模型的研究多為單一領(lǐng)域分析,尚不夠全面。本文通過整理分析馬爾科夫模型及隱馬爾可夫模型,主要針對兩個模型的應(yīng)用進(jìn)行分析,研究對比其在不同領(lǐng)域的應(yīng)用,分析其優(yōu)劣,進(jìn)一步提出了相關(guān)改進(jìn)建議和優(yōu)化措施。
馬爾可夫鏈?zhǔn)怯砂驳铝小ゑR爾可夫發(fā)現(xiàn)而得名的。在給定當(dāng)前知識或信息的情況下,過去(即當(dāng)期以前的歷史狀態(tài))對于預(yù)測將來(即當(dāng)期以后的未來狀態(tài))是無關(guān)的。一個簡單?的例子,我們假設(shè)第二天的天氣狀況(晴天,陰天,雨天)只與今天的天氣狀況有關(guān),與以前的狀況無關(guān)。并且,在今天天氣狀態(tài)已知的情況下,明天的天氣概率分布是確定的[3]。時間和狀態(tài)都是離散的馬爾可夫過程稱為馬爾可夫鏈,簡記為Xn=X(n),n=0,1,2,…。馬爾可夫鏈?zhǔn)请S機變量X1,X2,X3…的一個數(shù)列。這些變量的范圍,即他們所有可能取值的集合,被稱為“狀態(tài)空間”,而Xn的值則是在時間n的狀態(tài)。如果Xn+1對于過去狀態(tài)的條件概率分布僅是Xn的一個函數(shù),則P(Xn+1=x|X0,X1,X2,…,Xn|)=P(Xn+1=x|Xn)這 里x為 過 程 中 的 某 個 狀態(tài)。則這個恒等式可以被看作是馬爾可夫性質(zhì)。形式化地,我們可以認(rèn)為馬爾可夫鏈?zhǔn)菨M足下面兩個假設(shè)的一種隨機過程:
1)t+1時刻系統(tǒng)狀態(tài)的概率分布只與t時刻的狀態(tài)有關(guān),與t時刻以前的狀態(tài)無關(guān);
2)從t時刻到t+1時刻的狀態(tài)轉(zhuǎn)移與t的值無關(guān)。一個馬爾可夫鏈模型可表示為=(S,P,Q),其中各字母的含義如下:
1)S是系統(tǒng)所有可能的狀態(tài)所組成的非空的狀態(tài)集,有時也稱之為系統(tǒng)的狀態(tài)空間,它可以是有限的、可列的集合或任意非空集。文中假定S是可數(shù)集(即有限或可列)。用小寫字母i,j(或Si,Sj)等來表示狀態(tài)。
2)P=[Pij]n×n是系統(tǒng)的狀態(tài)轉(zhuǎn)移概率矩陣,其中Pij表示系統(tǒng)在時刻t處于狀態(tài)i,在下一時刻t+1處于狀態(tài)i的概率,N是系統(tǒng)所有可能的狀態(tài)的個數(shù)。對于任意i∈s,有3)Q=[q1,q2…qn]是系統(tǒng)的初始概率分布,qi是系統(tǒng)在初始時刻處于狀態(tài)i的概率,滿足
為了更明晰地了解這個模型的意義,我們可以想一個有限狀態(tài)機,在不同狀態(tài)之間轉(zhuǎn)移有一個確定的概率分布。兩個狀態(tài)之間的概率就是在當(dāng)前狀態(tài)書籍的情況下,下一時間的狀態(tài)變?yōu)榱硪粋€節(jié)點狀態(tài)的概率。
馬爾可夫模型對日常的問題有一個比較好的模型化描述。但是,這樣的模型研究價值并不大,因為所有狀態(tài)都已知了。另一方面,在很多情況下,我們對狀態(tài)是不能直接進(jìn)行觀測的,只能對狀態(tài)反應(yīng)出來的一部分性質(zhì)進(jìn)行觀測,這就導(dǎo)致了隱馬爾可夫模型(Hidden Markov Model)的提出。
隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態(tài)不能直接觀察到,但能通過觀測向量序列觀察到每個觀測向量都是通過某些概率密度分布表現(xiàn)為各種狀態(tài),每一個觀測向量是由一個具有響應(yīng)概率密度分布的狀態(tài)序列產(chǎn)生[4]。它是一種用參數(shù)表示的用于描述隨機過程統(tǒng)計特性的概率模型,是一個雙重隨機過程,由兩個部分組成:馬爾可夫鏈和一般隨機過程。其中馬爾可夫鏈用來描述狀態(tài)的轉(zhuǎn)移,用轉(zhuǎn)移概率描述。一般隨機過程用來描述狀態(tài)與觀察序列間的關(guān)系,用觀察值概率描述[5]。
對于HMM模型,其的狀態(tài)轉(zhuǎn)換過程是不可觀察的,因而稱之為“隱”馬爾可夫模型。
HMM定義如下:
1)X代表一組狀態(tài)的集合,其中X={S1,S2,…,SN},狀態(tài)數(shù)為N,并用qt來表示t時刻的狀態(tài)。雖然狀態(tài)是隱藏的,但對于很多應(yīng)用來說,有一些物理的意義都和狀態(tài)或者狀態(tài)集相關(guān)。狀態(tài)內(nèi)部的聯(lián)系就是從一個狀態(tài)可以到其它狀態(tài)。
2)O代表一組可觀察符號的集合O={V1,V2,…,VM},M是從每一狀態(tài)可能輸出的不同的觀察值的數(shù)目。
3)狀態(tài)轉(zhuǎn)移概率分布A={aij},這里aij=P{qi+1=Sj|qt=Si},1<i,j≤N。特殊情況下,每個狀態(tài)都可以一步到達(dá)其它任何狀態(tài),這時對任意(i,j)有aij>0。對于其他的HMM,可能有aij=0(對于一對或多對i,j)。
4)狀態(tài)j的觀察概率分布B={bj(k)},表示狀態(tài)j輸出相應(yīng)觀察值的概率,其中bj(k)=P{Ot=Vk|qt=Sj},1≤j≤N,1≤k≤M。
5)初始化狀態(tài)分布π={πi},πi=P{q1=Si},1≤i≤N。
由上,HMM可以定義為一個五元組λ:
λ=(X,O,π,A,B)
或簡寫為
λ=(π,A,B)
上面所述HMM的3個關(guān)鍵元素實際可以分成兩部分,其一為Markov鏈,由π、A描述,另一部分是一個隨機過程,由B描述。
利用隱馬爾可夫模型,一般可以解決以下幾類經(jīng)典的問題。
1)估值問題。
給定觀察序列O=O1O2…OT和模型λ=(A,B,π),計算P(O|λ)。即給定模型和輸出觀察序列,如何計算從模型生成觀察序列的概率??梢园阉醋魇窃u估一個模型和給定觀察輸出序列的匹配程度,由此可以用來在一系列候選對象中選取最佳的匹配。例如我們要預(yù)測未來足球比賽的勝負(fù),我們會收集現(xiàn)在的信息,并找出以后一系列比賽最可能的結(jié)果。隱馬爾可夫模型可以給出每種可能結(jié)果出現(xiàn)的概率。
2)解碼問題。
給定觀察序列O=O1O2…OT和模型λ=(A,B,π),求在某種有意義的情況下最優(yōu)的相關(guān)狀態(tài)序列Q=q1q2…qT。該可以理解為對輸出觀察的最佳“解釋”,它試圖揭示模型的隱藏部分,比如說查找“正確”的狀態(tài)序列,在應(yīng)用中,通常都使用一個優(yōu)化策略來最大可能的解決這個問題。在智能電網(wǎng)的監(jiān)控中,我們想知道每個用電器的使用情況,但又不能對每一個用電器都安裝一個傳感器,成本太高,而且有的地方不適合安裝傳感器。因此只能壓縮采樣。這里采集的數(shù)據(jù)就可以看作實際情況——用電器開關(guān)狀態(tài)的一個性質(zhì)反應(yīng)。如果傳感器數(shù)量多,我們就可以利用馬爾可夫模型,以較高的精確度恢復(fù)用電器開關(guān)情況這一原始狀態(tài)。
3)學(xué)習(xí)問題。
如何調(diào)整模型參數(shù)λ=(A,B,π),對于一個給定的觀察序列O=O1O2…OT,使得P(O|λ)最大。它試圖優(yōu)化模型的參數(shù)來最佳的描述一個給定的觀察序列是如何得來的。這里,我們有了所有的數(shù)據(jù),但是想要一個馬爾可夫模型來簡單地描述它。就需要求出相應(yīng)的參數(shù)。當(dāng)然,我們可以用這個模型來匹配已有的數(shù)據(jù),來看它是否合理地擬合了現(xiàn)在有數(shù)據(jù)。一般情況下,我們會用一部分?jǐn)?shù)據(jù)訓(xùn)練,用一部分?jǐn)?shù)據(jù)來測試,防止一些簡單的高次擬合產(chǎn)生。
隱馬爾可夫模型有以下特點:
1)HMM具有強有力的時間序列建模能力,在應(yīng)用與模式識別時具有一些獨特的優(yōu)勢,主要體現(xiàn)在整體和局部都具備平移不變性。HMM的核心是有限狀態(tài)自動機,這賦予了它解決局部平移問題的能力[6]。
2)HMM體現(xiàn)了類似結(jié)構(gòu)方法的一些特點,從而可能具備結(jié)構(gòu)方法的部分優(yōu)點。作為一種統(tǒng)計模型,隱馬爾可夫模型仍然是基于特征以及貝葉斯決策進(jìn)行判別,但是與一般統(tǒng)計方法和模型不同,它需要根據(jù)先驗知識和對隨機信號結(jié)構(gòu)的分析構(gòu)造一個合適的有限狀態(tài)自動機作為其隱含層的拓?fù)浣Y(jié)構(gòu),這種有限狀態(tài)自動機實際上描述了信號的發(fā)生機制,因此,它的拓?fù)浣Y(jié)構(gòu)包含了信號的部分結(jié)構(gòu)信息。
因此,它在許多領(lǐng)域,多括模式識別,天氣預(yù)測,文字識別,語言翻譯等領(lǐng)域有廣泛的用途[7]。幾個典型的應(yīng)用如下:
1)語音識別
已知標(biāo)準(zhǔn)語音序列w1,w2,…,wn,求待測序列c1,c2,…,cn的含義
HMM模型:將每句話為理解為狀態(tài);將輸入的待測樣本為理解為觀測值。
訓(xùn)練:統(tǒng)計狀態(tài)轉(zhuǎn)移矩陣和語言序列到觀測序列的輸出矩陣。
求解:采用Viterbi算法
步驟:聲音采樣——傅立葉到頻域——頻域特征向量提取——輸入樣本——構(gòu)造HMM——輸入聲音——求解模型
2)疾病分析
已知疾病序列w1,w2,…,wn,求表征序列c1,c2,…,cn對應(yīng)狀態(tài)轉(zhuǎn)移過程。
HMM模型:將每種疾病為理解為狀態(tài);將輸入的表征現(xiàn)象為理解為觀測值。
訓(xùn)練:統(tǒng)計從一種疾病轉(zhuǎn)變到另一種疾病的概率轉(zhuǎn)移矩陣和某一疾病呈現(xiàn)出某一癥狀的概率矩陣。
求解:采用Viterbi算法。
3)詞性標(biāo)注
已知單詞序列w1,w2,…,wn,求詞性序列c1,c2,…,cn。
HMM模型:將詞性為理解為狀態(tài);將單詞為理解為輸出值。
訓(xùn)練:統(tǒng)計詞性轉(zhuǎn)移矩陣和詞性到單詞的輸出矩陣。
求解:Viterbi算法。
馬爾可夫模型還是有很多局限性的。它的一些假設(shè)忽略了實際的細(xì)節(jié)。具體來說,以下幾個方面:
1)HMM在默認(rèn)的情況下僅指一階隱馬爾可夫模型,一階隱馬爾可夫模型中有3個重要假設(shè):①狀態(tài)轉(zhuǎn)移的Markov假設(shè):系統(tǒng)在當(dāng)前時刻的狀態(tài)向下一時刻所處的狀態(tài)轉(zhuǎn)移的狀態(tài)轉(zhuǎn)移概率僅僅與當(dāng)前時刻的狀態(tài)有關(guān),而與以前的歷史無關(guān)。②不動性假設(shè),即狀態(tài)與具體時間無關(guān)。③輸出值的Markov假設(shè):系統(tǒng)在當(dāng)前時刻輸出觀測值的概率,只取決于當(dāng)前時刻的狀態(tài)而與當(dāng)前時刻以前的時刻所處的狀態(tài)無關(guān)。而在實際應(yīng)用中,這樣假設(shè)并不十分合理,因為任一時刻出現(xiàn)的觀測值的概率不僅僅依賴于系統(tǒng)當(dāng)前所處的狀態(tài),也可能依賴于系統(tǒng)在之前時刻所處的狀態(tài)[8]。
2)經(jīng)典隱馬爾可夫模型理論具有狀態(tài)集固定的缺陷,這種缺陷影響了隱馬爾可夫模型對隨機信號建模的能力,并限制了基于隱馬爾可夫模型的分類器的性能。利用隱馬爾可夫模型對任何信號建模都存在這樣的問題,被建模的信號比較簡單或者包含信息量比較一致(如語音),基于先驗知識預(yù)先定義狀態(tài)集或者通過多次實驗選擇一種比較合適的固定狀態(tài)集基本上就能描述所有的模式。而圖像則不同,圖像包含的信息量非常豐富,這就導(dǎo)致不同圖像之間的信息量差距相應(yīng)的不可避免的要大,因此這個問題在圖像處理中就暴露得比較明顯。因此,在實際應(yīng)用中,隱馬爾可夫模型有很多的改進(jìn)模型,使其能更了的匹配實際狀態(tài)。例如,在用電器監(jiān)測中,我們假設(shè)同一時間開關(guān)的用電器數(shù)目有一個上界,那么許多狀態(tài)轉(zhuǎn)移是不可能發(fā)生的。又如,我們對一個用電器的開關(guān)時間長短作一個簡單的統(tǒng)計,那么在某一狀態(tài)的概率中,我們還要考慮這一狀態(tài)中用電器開關(guān)時間的概率,可以對這一狀態(tài)的發(fā)生概率作一次修正。這是傳統(tǒng)的的馬爾可夫模型所不能做到的。
[1]李相勇,張南,蔣葛夫.道路交通事故灰色馬爾可夫預(yù)測模型[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].清華大學(xué)出版社,2004.
[3]施程,桑廣書.基于加權(quán)馬爾可夫鏈的杭州市年降水量預(yù)測[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]羅宇,杜利民.基于隱馬爾可夫模型局部最優(yōu)狀態(tài)路徑的數(shù)據(jù)重建算法[J].電子與信息學(xué)報,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].計算機科學(xué),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]潘奇明,程詠梅.基于隱馬爾可夫模型的運動目標(biāo)軌跡識別[J].計算機應(yīng)用研究,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].現(xiàn)代電子技術(shù),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].系統(tǒng)仿真學(xué)報,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.