馬爾可夫模型(Markov Model)是通過尋找事物狀態(tài)的規(guī)律對未來事物狀態(tài)進行預測的概率模型,,在馬爾可夫模型中假設(shè)當前事物的狀態(tài)只與之前的n個狀態(tài)有關(guān),。n=1時表示事物當前的狀態(tài)只與上一個狀態(tài)有關(guān),,這也是最簡單的一階馬爾可夫模型。隱馬爾科夫模型(Hidden Markov Model)是馬爾可夫模型中的一種,。馬爾可夫模型的使用場景非常廣泛,,包括語言識別,,自然語言處理和生物信息領(lǐng)域。Google的PageRank算法中也使用到了馬爾可夫模型,。 我們以天氣預測的示例來說明馬爾可夫模型和隱馬爾可夫模型的作用?,F(xiàn)實中每一天的天氣狀態(tài)都可能會不同,比如:晴天,,多云,,或是雷雨等。我們希望通過天氣狀態(tài)的變化規(guī)律生成一個模型對未來一天的天氣狀態(tài)進行預測,。為了簡化計算過程,,只選擇三種天氣狀態(tài)進行說明。通過觀察,,我們發(fā)現(xiàn)晴天,,多云和雷雨三種天氣狀態(tài)間的變化概率。下圖詳細說明了每種天氣狀態(tài)之間相互轉(zhuǎn)換的概率,。 以晴天為例,,假設(shè)每一天的天氣狀態(tài)只與前一天的天氣狀態(tài)有關(guān)(n=1)。如果第一天是晴天,,那么第二天轉(zhuǎn)換為多云的概率為0.38,,轉(zhuǎn)換為雷雨的概率為0.13,依舊是晴天的概率為0.50,。晴天轉(zhuǎn)換為這三種天氣狀態(tài)的概率的總和為1,。下面我們通過概率矩陣列出了三種從昨天到今天三種天氣狀態(tài)之間的轉(zhuǎn)換概率。注意,,每一行的概率總和為1,。 除了天氣間狀態(tài)轉(zhuǎn)換概率,,我們還需要一個初始概率,,就是昨天的天氣狀態(tài),這里假設(shè)昨天的天氣狀態(tài)是晴天,。 到這里,,我們定義了一個一階的馬爾可夫模型,分別為:
我們將馬爾可夫模型轉(zhuǎn)換為表格,用于計算今天天氣狀態(tài)的概率,。昨天的天氣狀態(tài)為“晴天”,,因此在第一個初始狀態(tài)表中Sun的概率為1.0。轉(zhuǎn)換概率表中,,昨天為初始狀態(tài),,今天為最終狀態(tài),,相交處為初始天氣狀態(tài)到最終天氣狀態(tài)的轉(zhuǎn)化概率。 通過初始狀態(tài)和轉(zhuǎn)換概率,,我們可以求出今天三種天氣狀態(tài)發(fā)生的概率,。并以概率最高的天氣狀況作為對今天天氣的預測。下面列出計算今天(t=1)三種天氣狀況的公式:
明天(t=2)的天氣狀況預測方法與今天(t=1)的類似,,只不過初始概率變?yōu)榱私裉?t=1),。以下列出了今天(t=1),明天(t=2)和后天(t=3)的天氣狀況預測數(shù)據(jù),。 在前面的例子中,,我們可以直接觀察到天氣的情況,并且根據(jù)每一天的天氣狀況預測第二天的天氣,。當我們無法直接獲得天氣狀況,,只能獲得一些間接的信息時,就需要一個模型通過間接的信息來預測直接的信息了,。這個模型就是隱馬爾可夫模型(Hidden Markov Model),。在天氣預測的例子中,水藻和天氣狀況的變化存在緊密的聯(lián)系,,如果我們不能直接獲得每天的天氣狀況,,就需要通過每天水藻的狀態(tài)的變化來推測。下圖顯示了水藻的狀態(tài)與天氣狀態(tài)的對應(yīng)關(guān)系,。其中水藻的狀態(tài)為我們能看到的觀察狀態(tài),,天氣狀態(tài)為我們看不到的隱藏狀態(tài)。 在隱馬爾可夫模型中,,有三個必須的元素,,分別是初始概率(π),轉(zhuǎn)換概率矩陣(A)和對應(yīng)概率矩陣(B),。初始概率和轉(zhuǎn)換概率矩陣與前面的馬爾可夫模型一樣,。對應(yīng)概率矩陣是指觀察狀態(tài)與隱藏狀態(tài)間的對應(yīng)關(guān)系。在天氣預測的例子中,,就是水藻狀態(tài)與天氣狀態(tài)間的對應(yīng)概率,。以下是隱馬爾可夫模型的三元素。 第一個元素初始概率(π),,也就是昨天的天氣狀態(tài)我們設(shè)定為晴天,,概率為1.0。 第二個元素(A)是天氣狀態(tài)間的轉(zhuǎn)換概率,,這里使用的數(shù)值和前面馬爾可夫例子中的值是完全一樣的,。表示的意義也完全相同,。 第三個元素(B)是觀察狀態(tài)與隱藏狀態(tài)的對應(yīng)概率矩陣,在天氣預測的例子中就是水藻狀態(tài)與天氣狀態(tài)對應(yīng)概率矩陣,,觀察狀態(tài)可能和隱藏狀態(tài)的數(shù)量一致,,也可能不一致。對應(yīng)概率矩陣中顯示了每一種水藻狀態(tài)對應(yīng)的天氣狀態(tài)概率,,例如,,當天氣狀態(tài)是晴天時,水藻為干燥的狀態(tài)為0.6,,微濕的概率為0.2,,濕潤的概率為0.15,濕透的概率為0.05,。這些狀態(tài)的匯總概率為1,。 我們把隱馬爾可夫模型中的三個元素轉(zhuǎn)化為表格,根據(jù)觀察狀態(tài)推測哪一種隱藏狀態(tài)出現(xiàn)的概率最大,。簡單來說就是根據(jù)水藻的不同狀態(tài)再結(jié)合不同天氣狀態(tài)間的轉(zhuǎn)換概率來推測未來三天的天氣狀態(tài)概率,。 這里我們使用窮舉的方法來找出概率最高的天氣狀態(tài)組合。下圖中顯示了未來三天可能出現(xiàn)的所有天氣狀態(tài),。每一天都可能是晴天,,多云和雷雨三種天氣狀態(tài)中的一種,因此未來三天一共有3*3*3=27種可能的天氣狀態(tài)序列,。 Pr(dry,damp,soggy | HMM) = Pr(dry,damp,soggy | sunny,sunny,sunny) + Pr(dry,damp,soggy | sunny,sunny ,cloudy) + Pr(dry,damp,soggy | sunny,sunny ,rainy) + . . . . Pr(dry,damp,soggy | rainy,rainy ,rainy) 經(jīng)過計算預測觀察狀態(tài)所對應(yīng)的隱藏狀態(tài)為晴天,,多云,雷雨,。 參考文章:http://www.comp./roger/HiddenMarkovModels/html_dev/main.html —【所有文章及圖片版權(quán)歸 藍鯨(王彥平)所有,。歡迎轉(zhuǎn)載,但請注明轉(zhuǎn)自“藍鯨網(wǎng)站分析博客”,?!俊?/p> |
|