資源描述:
《隱馬爾可夫模型HMM》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、隱馬爾可夫模型?(HiddenMarkovModel,HMM)最初由L.E.Baum和其它一些學(xué)者發(fā)表在一系列的統(tǒng)計(jì)學(xué)論文中,隨后在語言識(shí)別,自然語言處理以及生物信息等領(lǐng)域體現(xiàn)了很大的價(jià)值。平時(shí),經(jīng)常能接觸到涉及?HMM?的相關(guān)文章,一直沒有仔細(xì)研究過,都是蜻蜓點(diǎn)水,因此,想花一點(diǎn)時(shí)間梳理下,加深理解,在此特別感謝52nlp對(duì)?HMM?的詳細(xì)介紹?! 】紤]下面交通燈的例子,一個(gè)序列可能是紅-紅/橙-綠-橙-紅。這個(gè)序列可以畫成一個(gè)狀態(tài)機(jī),不同的狀態(tài)按照這個(gè)狀態(tài)機(jī)互相交替,每一個(gè)狀態(tài)都只依賴于前一個(gè)狀態(tài),如果當(dāng)前的是綠燈,那么接下來就是橙燈,這是一個(gè)確定性系統(tǒng),因
2、此更容易理解和分析,只要這些狀態(tài)轉(zhuǎn)移都是已知的。但是在實(shí)際當(dāng)中還存在許多不確定性系統(tǒng)?! ≡谌粘I町?dāng)中,我們總是希望根據(jù)當(dāng)前天氣的情況來預(yù)測未來天氣情況,和上面的交通燈的例子不同,我們不能依靠現(xiàn)有知識(shí)確定天氣情況的轉(zhuǎn)移,但是我們還是希望能得到一個(gè)天氣的模式。一種辦法就是假設(shè)這個(gè)模型的每個(gè)狀態(tài)都只依賴于前一個(gè)的狀態(tài),這個(gè)假設(shè)被稱為馬爾科夫假設(shè),這個(gè)假設(shè)可以極大簡化這個(gè)問題。顯然,這個(gè)假設(shè)也是一個(gè)非常糟糕的假設(shè),導(dǎo)致很多重要的信息都丟失了?! ‘?dāng)涉及到天氣的時(shí)候,馬爾科夫假設(shè)描述為,假設(shè)如果我們知道之前一些天的天氣信息,那么我們就能預(yù)測今天的天氣。當(dāng)然,這個(gè)例子也
3、是有些不合實(shí)際的。但是,這樣一個(gè)簡化的系統(tǒng)可以有利于我們的分析,所以我們通常接受這樣的假設(shè),因?yàn)槲覀冎肋@樣的系統(tǒng)能讓我們獲得一些有用的信息,盡管不是十分準(zhǔn)確的?! ≌劦?HMM,首先簡單介紹一下馬爾可夫過程?(MarkovProcess),它因俄羅斯數(shù)學(xué)家安德烈·馬爾可夫而得名,代表數(shù)學(xué)中具有馬爾可夫性質(zhì)的離散隨機(jī)過程。該過程中,每個(gè)狀態(tài)的轉(zhuǎn)移只依賴于之前的n個(gè)狀態(tài),這個(gè)過程被稱為1個(gè)n階的模型,其中n是影響轉(zhuǎn)移狀態(tài)的數(shù)目。最簡單的馬爾科夫過程就是一階過程,每一個(gè)狀態(tài)的轉(zhuǎn)移只依賴于其之前的那一個(gè)狀態(tài)。注意這和確定性系統(tǒng)不一樣,因?yàn)檫@種轉(zhuǎn)移是有概率的,而不是確定
4、性的?! ●R爾可夫鏈?zhǔn)请S機(jī)變量?X1,…,?Xn?的一個(gè)數(shù)列。這些變量的范圍,即他們所有可能取值的集合,被稱為“狀態(tài)空間”,而?Xn?的值則是在時(shí)間?n?的狀態(tài)。如果?Xn+1?對(duì)于過去狀態(tài)的條件概率分布僅是?Xn?的一個(gè)函數(shù),則 這里?x?為過程中的某個(gè)狀態(tài)。上面這個(gè)恒等式可以被看作是馬爾可夫性質(zhì)。 馬爾可夫鏈的在很多應(yīng)用中發(fā)揮了重要作用,例如,谷歌所使用的網(wǎng)頁排序算法(PageRank)就是由馬爾可夫鏈定義的?! ∠聢D展示了天氣這個(gè)例子中所有可能的一階轉(zhuǎn)移: 注意一個(gè)含有N個(gè)狀態(tài)的一階過程有N2?個(gè)狀態(tài)轉(zhuǎn)移。每一個(gè)轉(zhuǎn)移的概率叫做狀態(tài)轉(zhuǎn)移概率?(stat
5、etransitionprobability),就是從一個(gè)狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)的概率。這所有的N2?個(gè)概率可以用一個(gè)狀態(tài)轉(zhuǎn)移矩陣來表示,其表示形式如下: 對(duì)該矩陣有如下約束條件: 下面就是海藻例子的狀態(tài)轉(zhuǎn)移矩陣: 這個(gè)矩陣表示,如果昨天是晴天,那么今天有50%的可能是晴天,37.5%的概率是陰天,12.5%的概率會(huì)下雨,很明顯,矩陣中每一行的和都是1?! 榱顺跏蓟@樣一個(gè)系統(tǒng),我們需要一個(gè)初始的概率向量: 這個(gè)向量表示第一天是晴天?! 〉竭@里,我們就為上面的一階馬爾科夫過程定義了以下三個(gè)部分: 狀態(tài):晴天、陰天和下雨 初始向量:定義系統(tǒng)在時(shí)間為0的
6、時(shí)候的狀態(tài)的概率 狀態(tài)轉(zhuǎn)移矩陣:每種天氣轉(zhuǎn)換的概率 所有的能被這樣描述的系統(tǒng)都是一個(gè)馬爾科夫過程。 然而,當(dāng)馬爾科夫過程不夠強(qiáng)大的時(shí)候,我們又該怎么辦呢?在某些情況下,馬爾科夫過程不足以描述我們希望發(fā)現(xiàn)的模式。 例如,一個(gè)隱居的人可能不能直觀的觀察到天氣的情況,但是民間傳說告訴我們海藻的狀態(tài)在某種概率上是和天氣的情況相關(guān)的。在這種情況下我們有兩個(gè)狀態(tài)集合,一個(gè)可以觀察到的狀態(tài)集合(海藻的狀態(tài))和一個(gè)隱藏的狀態(tài)(天氣狀況)。我們希望能找到一個(gè)算法可以根據(jù)海藻的狀況和馬爾科夫假設(shè)來預(yù)測天氣的狀況?! ∫粋€(gè)更現(xiàn)實(shí)的例子是語音識(shí)別,我們聽到的聲音是聲帶、喉嚨和一
7、起其他的發(fā)音器官共同作用的結(jié)果。這些因素相互作用,共同決定了每一個(gè)單詞的聲音,而一個(gè)語音識(shí)別系統(tǒng)檢測的聲音(可以觀察的狀態(tài))是人體內(nèi)部各種物理變化(隱藏的狀態(tài)、引申一個(gè)人真正想表達(dá)的意思)產(chǎn)生的?! ∧承┱Z音識(shí)別設(shè)備把內(nèi)部的發(fā)音機(jī)制作為一個(gè)隱藏的狀態(tài)序列,把最后的聲音看成是一個(gè)和隱藏的狀態(tài)序列十分相似的可以觀察到的狀態(tài)的序列。在這兩個(gè)例子中,一個(gè)非常重要的地方是隱藏狀態(tài)的數(shù)目和可以觀察到的狀態(tài)的數(shù)目可能是不一樣的。在一個(gè)有3種狀態(tài)的天氣系統(tǒng)(sunny、cloudy、rainy)中,也許可以觀察到4種潮濕程度的海藻(dry、dryish、damp、soggy)。
8、在語音識(shí)別中,一個(gè)簡單的