出處:
四、隱馬爾科夫模型(hidden markov models)
1、定義(definition of a hidden markov model)
乙個隱馬爾科夫模型是乙個三元組(pi, a, b)。
在狀態轉移矩陣及混淆矩陣中的每乙個概率都是時間無關的——也就是說,當系統演化時這些矩陣並不隨時間改變。實際上,這是馬爾科夫模型關於真實世界最不現實的乙個假設。
2、應用(uses associated with hmms)
一旦乙個系統可以作為hmm被描述,就可以用來解決三個基本問題。其中前兩個是模式識別的問題:給定hmm求乙個觀察序列的概率(評估);搜尋最有可能生成乙個觀察序列的隱藏狀態序列(解碼)。第三個問題是給定觀察序列生成乙個hmm(學習)。
a) 評估(evaluation)
考慮這樣的問題,我們有一些描述不同系統的隱馬爾科夫模型(也就是一些( pi,a,b)三元組的集合)及乙個觀察序列。我們想知道哪乙個hmm最有可能產生了這個給定的觀察序列。例如,對於海藻來說,我們也許會有乙個「夏季」模型和乙個「冬季」模型,因為不同季節之間的情況是不同的——我們也許想根據海藻濕度的觀察序列來確定當前的季節。
我們使用前向演算法(forward algorithm)來計算給定隱馬爾科夫模型(hmm)後的乙個觀察序列的概率,並因此選擇最合適的隱馬爾科夫模型(hmm)。
在語音識別中這種型別的問題發生在當一大堆數目的馬爾科夫模型被使用,並且每乙個模型都對乙個特殊的單詞進行建模時。乙個觀察序列從乙個發音單詞中形成,並且通過尋找對於此觀察序列最有可能的隱馬爾科夫模型(hmm)識別這個單詞。
b) 解碼( decoding)
給定觀察序列搜尋最可能的隱藏狀態序列。
另乙個相關問題,也是最感興趣的乙個,就是搜尋生成輸出序列的隱藏狀態序列。在許多情況下我們對於模型中的隱藏狀態更感興趣,因為它們代表了一些更有價值的東西,而這些東西通常不能直接觀察到。
考慮海藻和天氣這個例子,乙個盲人隱士只能感覺到海藻的狀態,但是他更想知道天氣的情況,天氣狀態在這裡就是隱藏狀態。
我們使用viterbi 演算法(viterbi algorithm)確定(搜尋)已知觀察序列及hmm下最可能的隱藏狀態序列。
viterbi演算法(viterbi algorithm)的另一廣泛應用是自然語言處理中的詞性標註。在詞性標註中,句子中的單詞是觀察狀態,詞性(語法類別)是隱藏狀態(注意對於許多單詞,如wind,fish擁有不止乙個詞性)。對於每句話中的單詞,通過搜尋其最可能的隱藏狀態,我們就可以在給定的上下文中找到每個單詞最可能的詞性標註。
c)學習(learning)
根據觀察序列生成隱馬爾科夫模型。
第三個問題,也是與hmm相關的問題中最難的,根據乙個觀察序列(來自於已知的集合),以及與其有關的乙個隱藏狀態集,估計乙個最合適的隱馬爾科夫模型(hmm),也就是確定對已知序列描述的最合適的(pi,a,b)三元組。
當矩陣a和b不能夠直接被(估計)測量時,前向-後向演算法(forward-backward algorithm)被用來進行學習(引數估計),這也是實際應用中常見的情況。
3、總結(summary)
由乙個向量和兩個矩陣(pi,a,b)描述的隱馬爾科夫模型對於實際系統有著巨大的價值,雖然經常只是一種近似,但它們卻是經得起分析的。隱馬爾科夫模型通常解決的問題包括:
1. 對於乙個觀察序列匹配最可能的系統——評估,使用前向演算法(forward algorithm)解決;
2. 對於已生成的乙個觀察序列,確定最可能的隱藏狀態序列——解碼,使用viterbi 演算法(viterbi algorithm)解決;
3. 對於已生成的觀察序列,決定最可能的模型引數——學習,使用前向-後向演算法(forward-backward algorithm)解決。
馬爾科夫模型與隱馬爾科夫模型
隨機過程 是隨時間而隨機變化的過程。又稱為隨機函式。馬爾科夫模型 vmm 它描述了一類重要的隨機過程。乙個系統有有限個狀態集s 隨時間推移,該系統將同某一狀態轉移到另一狀態。q s1,s2,sn 為一隨機變數序列,隨機變數取值為狀態集s中的乙個狀態,設時間t時狀態為qt。對系統的描述通常是給出當前時...
隱馬爾科夫學習二
學習出處 二 生成模式 generating patterns 1 確定性模式 deterministic patterns 考慮一套交通訊號燈,燈的顏色變化序列依次是紅色 紅色 黃色 綠色 黃色 紅色。這個序列可以作為乙個狀態機器,交通訊號燈的不同狀態都緊跟著上乙個狀態。注意每乙個狀態都是唯一的依...
隱馬爾科夫學習五(三)
出處 五 前向演算法 forward algorithm 前向演算法定義 forward algorithm definition 總結 summary 我們使用前向演算法來計算給定隱馬爾科夫模型 hmm 後的乙個觀察序列的概率。它在計算中利用遞迴避免對網格所有路徑進行窮舉計算。給定這種演算法,可以...