HMM(Forward algorithm)向前算法
由馬爾科夫模型MM可知:對于一個系統,由一個狀態轉至另一個狀態的轉換過程中,存在著轉移概率,并且這種轉移概率可以依據其緊接的前一種狀態推算出來,與該系統的原始狀態和此次轉移前的馬爾可夫過程無關。
隱馬爾可夫模型(HiddenMarkov models,HMM)是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測向量序列觀察到,每個觀測向量都是通過某些概率密度分布表現為各種狀態,每一個觀測向量是由一個具有相應概率密度分布的狀態序列產生。
假設連續觀察3天的海藻濕度為(Dry,Damp, Soggy),求出該觀察序列的概率。天氣只有三類(Sunny,Cloudy, Rainy),而且海藻濕度和天氣有一定的關系。
已知:
隱藏的狀態:Sunny, Cloudy, Rainy;海藻濕度有四類{Dry,Dryish, Damp, Soggy }
觀察狀態序列:{ Dry, Damp, Soggy };
初始狀態序列:Sunny(0.63), Cloudy(0.17),Rainy(0.20);
狀態轉移矩陣:
| suuny | 0.5 | 0.375 | 0.125 |
| cloudy | 0.25 | 0.125 | 0.625 |
| rainny | 0.25 | 0.375 | 0.375 |
Cloudy(昨天)->Sunny(今天)的概率是0.25;
Sunny(昨天)->Rainy(今天)的概率是0.125.
5. 混淆矩陣(海藻濕度與天氣的相關性):
| suuny | 0.6 | 0.2 | 0.15 | 0.05 |
| cloudy | 0.25 | 0.25 | 0.25 | 0.25 |
| rainy | 0.05 | 0.10 | 0.35 | 0.50 |
觀察到海藻濕度Dry,則當天Sunny的概率是0.6;Cloudy的概率是0.25;而當天Rainy的概率是0.05.
How to calculate the probability of this observation list?
即統計P(observation|Sunny, Sunny, Sunny)+P(observation| Sunny, Sunny, Cloudy)+ P(observation| Sunny,Sunny, Rainy)+ P(observation| Sunny, Cloudy, Sunny) + P(observation| Sunny, Cloudy,Cloudy) + P(observation| Sunny, Cloudy, Rainy) + …
總共的可能性有3^3種。
實際由于馬爾科夫模型,我們得知其實第二天的狀況只取決于第一天,第三天的天氣已經與第一天的天氣沒有關系了。
我們可以先求P(Day1-Sunny),P(Day1-Cloudy), P(Day1-Rainy),Day1的海藻濕度是Dry.
P(Day1-Sunny) = 0.63*0.6;
P(Day1-Cloudy)=0.17*0.25;
P(Day1-Rain)=0.20*0.05;
繼續求P(Day2-Sunny), P(Day2-Cloudy),P(Day2-Rainy), Day2的海藻濕度是Damp.
P(Day2-Suny)= (P(Day1-Sunny)0.5 + P(Day1-Cloudy)*0.25 +P(Day1-Rainy)*0.25) 0.15
P(Day2-Cloudy) = (P(Day1-Sunny)0.375+ P(Day1-Cloudy)*0.125 + P(Day1-Rainy)*0.625) 0.25
P(Day2-Rainy) =(P(Day1-Sunny)0.125+ P(Day1-Cloudy)*0.625 + P(Day1-Rainy)*0.375) 0.35
同理繼續求第三日的各天氣概率,Day3的海藻濕度是Soggy.
P(Day3-Suny)= (P(Day2-Sunny)0.5 + P(Day1-Cloudy)*0.25 +P(Day1-Rainy)*0.25) 0.05
P(Day3-Cloudy) = (P(Day2-Sunny)0.375+ P(Day1-Cloudy)*0.125 + P(Day1-Rainy)*0.625) 0.25
P(Day3-Rainy) =(P(Day2-Sunny)0.125+ P(Day1-Cloudy)*0.625 + P(Day1-Rainy)*0.375) 0.50
推出:
P(observation list) =P(Day3-Sunny)+P(Day3-Cloudy)+P(Day3-Rainy) = 0.030319
向前算法
總結
以上是生活随笔為你收集整理的HMM(Forward algorithm)向前算法的全部內容,希望文章能夠幫你解決所遇到的問題。