HMM(三)维特比算法推测隐藏状态序列

仍沿用上一节中HMM模型盒子和球的例子,已知盒子与球的模型及取3次球以后球的颜色观测序列{红,白,红},需推测三次取球可能对应的盒子序列(隐藏状态序列),每一次分别是从哪一个盒子取的球。

- 第一个时刻:
计算隐藏状态分别为第一个、第二个、第三个盒子时,观测取得球o1为红球的概率。
δ1(1)=π1b1(o1)=0.2×0.5=0.1
π1指π=(0.2,0.4,0.4)的第一个元素0.2,从第一个盒子中抽到球的概率是0.2;b1(o1)其中的o1是观测序列的第一个时刻取到的红球,b1(o1)从观测状态概率矩阵b1盒子一种取红球的概率是0.5。
δ1(2)=π2b2(o1)=0.4×0.4=0.16
π2指π=(0.2,0.4,0.4)的第2个元素0.4,从第2个盒子中抽到球的概率是0.4;b2(o1)其中的o1是观测序列的第一个时刻取到的红球,b2(o1)从观测状态概率矩阵b2盒子二种取红球的概率是0.4。
δ1(3)=π3b3(o1)=0.4×0.7=0.28
π3指π=(0.2,0.4,0.4)的第3个元素0.4,从第3个盒子中抽到球的概率是0.4;b3(o1)其中的o1是观测序列的第一个时刻取到的红球,b3(o1)从观测状态概率矩阵b3盒子三中取红球的概率是0.7。
定义在时刻t隐藏状态为i的所有单个状态转移路径(i1,i2,...,it−1,i)中概率最大的转移路径中第t−1个节点的隐藏状态为Ψt(i),在第一个时刻,Ψt(i)=0,i=1,2,3。
Ψ1(1)=Ψ1(2)=Ψ1(3)=0
- 第二个时刻:
计算隐藏状态分别为第一个、第二个、第三个盒子时,观测取得球o2为白球的概率。
δ2(1) = max [δ1(j) aj1] b1(o2) = max [0.1×0.5,0.16×0.3,0.28×0.2]×0.5=0.028
δ1(j) 是第一个时刻隐藏状态为第j个盒子取得红球(第一个时刻)的概率,aj1是状态转移概率分布矩阵中取到第j个盒子以后接下来再取到第1个盒子的概率,这里分别计算第一个盒子、第二个盒子、第三个盒子的概率,取其中的最大值(此时第三个盒子的概率最大)。
b1(o2)是观测状态概率矩阵中第一个盒子取到白球(第二个时刻取到的是白球)的概率为0.5
因此:
δ2(1)表示第二个时刻取到第一个盒子的最大概率为0.028
Ψ2(1)表示第二个时刻取到第一个盒子的最大概率的前一个时刻的盒子为第三个盒子。
δ2(2)=max [δ1(j) aj2] b2(o2)=max[0.1×0.2,0.16×0.5,0.28×0.3]×0.6=0.0504
δ1(j) 是第一个时刻隐藏状态为第j个盒子取得红球(第一个时刻)的概率,aj2是状态转移概率分布矩阵中取到第j个盒子以后接下来再取到第2个盒子的概率,这里分别计算第一个盒子、第二个盒子、第三个盒子的概率,取其中的最大值(此时第三个盒子的概率最大)。
b2(o2)是观测状态概率矩阵中第2个盒子取到白球(第二个时刻取到的是白球)的概率为0.6
因此:
δ2(2)表示第二个时刻取到第2个盒子的最大概率为0.0504
Ψ2(2)表示第二个时刻取到第2个盒子的最大概率的前一个时刻的盒子为第三个盒子。
δ2(3)=max [δ1(j) aj3] b3(o2)=max[0.1×0.3,0.16×0.2,0.28×0.5]×0.3=0.042
δ1(j) 是第一个时刻隐藏状态为第j个盒子取得红球(第一个时刻)的概率,aj3是状态转移概率分布矩阵中取到第j个盒子以后接下来再取到第3个盒子的概率,这里分别计算第一个盒子、第二个盒子、第三个盒子的概率,取其中的最大值(此时第三个盒子的概率最大)。
b3(o2)是观测状态概率矩阵中第3个盒子取到白球(第二个时刻取到的是白球)的概率为0.3
因此:
δ2(3)表示第二个时刻取到第3个盒子的最大概率为0.042
Ψ2(3)表示第二个时刻取到第3个盒子的最大概率的前一个时刻的盒子为第三个盒子。
- 第3个时刻:
计算隐藏状态分别为第一个、第二个、第三个盒子时,观测取得球o3为红球的概率。
δ3(1)=max [δ2(j)aj1] b1(o3)=max [0.028×0.5,0.0504×0.3,0.042×0.2]×0.5=0.00756
δ3(1)表示第3个时刻取到第1个盒子的最大概率为0.00756
Ψ3(1)表示第3个时刻取到第1个盒子的最大概率的前一个时刻的盒子为第2个盒子。
δ3(2)=max [δ2(j)aj2]b2(o3)=max [0.028×0.2,0.0504×0.5,0.042×0.3]×0.4=0.01008
δ3(2)表示第3个时刻取到第2个盒子的最大概率为0.01008
Ψ3(2)表示第3个时刻取到第2个盒子的最大概率的前一个时刻的盒子为第2个盒子。
δ3(3)=max [δ2(j)aj3] b3(o3)=max [0.028×0.3,0.0504×0.2,0.042×0.5]×0.7=0.0147
δ3(3)表示第3个时刻取到第3个盒子的最大概率为0.0147
Ψ3(3)表示第3个时刻取到第3个盒子的最大概率的前一个时刻的盒子为第3个盒子。
- 最优路径
最优路径的概率为:maxδ3(j) = 0.0147
最优路径的终点为:arg max[δ3(j)] = 第3个盒子
- 回溯找到前2个盒子
第二个时刻,Ψ3(3) = 3 Ψ3(3) 表示第3个时刻取到第3个盒子的最大概率的前一个时刻的盒子为第3个盒子
第一个时刻,Ψ2(3) = 3 Ψ2(3)表示第2个时刻取到第3个盒子的最大概率的前一个时刻的盒子为第3个盒子
因此,最终的最优路径为I =(3,3,3)
一图胜千言,最优路径如图所示,是最上面的一条线段:第三个盒子--->第三个盒子--->第三个盒子

欢迎关注微信公众号:“从零起步学习人工智能”。

喜欢我们发布的信息,就在右下角点一下“好看”吧!欢迎转发分享!