看本篇文章,假定你已知道HMM中的前向算法相干概念
如果不知道,推荐先学习HMM学习最好范例中相干文章
这个问题来自于HMM学习最好范例5:前向算法5
只不过再手动算1下,加深1下自己的理解
已知隐马尔科夫模型以下:
1、隐藏状态 (天气):Sunny,Cloudy,Rainy;
2、视察状态(海藻湿度):Dry,Dryish,Damp,Soggy;
3、初始状态几率: Sunny(0.63), Cloudy(0.17), Rainy(0.20);
4、状态转移矩阵:
5、混淆矩阵:
M=4(海藻湿度状态数)
N=3(天气状态数)
T=3(视察天数)
状态转移矩阵:A=???0.5000.2500.2500.3750.1250.3750.1250.6250.375???
混淆矩阵:B=???0.600.250.050.200.250.100.150.250.350.050.250.50???
初始向量:Π=[0.630.170.20]
观察序列1,3,4(“Dry,Damp,Soggy”)
计算
用1个α=N×T的矩阵来保存局部几率
αij表示t=i的时候,a=j(例如j=1表示天气为“sunny”)的几率,
1.先计算t=1的局部几率,我们需要用到的初始状态向量Π,
由于第1天的海藻湿度为1(“Dry”) ,的第1列:
α11=Π1?B11=0.60?0.63=0.378
α21=Π2?B21=0.25?0.17=0.0425
α31=Π3?B31=0.05?0.20=0.01
2.计算t=2的局部几率,当计算t>1的时候,会用到t⑴的局部几率
以计算α21为例子,首先我们要计算,从t=1的天气,通过状态转移矩阵,得出的通过第1天的天气推测出第2天是“sunny”几率:
P(第2天sunny)=P(第1天sunny)×P(第2天sunny|第1天sunny)+P(第1天cloudy)
------分隔线----------------------------
------分隔线----------------------------