当前位置:   article > 正文

【算法】隐马尔科夫HMM之Viterbi维特比算法原理_已知观测序列o=(红,黑,红),利用维比特算法试求最优状态序列,即最优路径i*=(i1

已知观测序列o=(红,黑,红),利用维比特算法试求最优状态序列,即最优路径i*=(i1

Viterbi 算法的定义

定义变量δt(i):表示时刻t状态为i的所有路径中的概率最大值,公式如下:

\

过程:

\

上面的符号之前都已经见过,这里不再解释,下面为了更好地理解这几步,我们来举个例子。

例子

还是盒子球模型。

盒子和球模型λ= (A, B,π),状态集合Q={1, 2, 3},观测集合V={红, 白},

\

已知观测序列O=(红,白,红),试求最优状态序列,即最优路径I*= (i1*, i2*, i3*)。

如下图所示(图中的数字在之后的步骤中会一一推导出来)

\

要在所有可能的路径中选择一条最优路径,按照以下步骤出来。

1,初始化

t=1时,对每个状态i, i=1, 2, 3,求状态为i观测o1为红的概率,记此概率为δ1(i),则:

δ1(i) = πibi(o1)=πibi(红), i = 1, 2, 3

代入实际数据

δ1(1) = 0.10,δ1(2) =0.16,δ1(3) = 0.28

记ψ1(i) = 0,i = 1, 2, 3。

2,在t=n时

t=2时,对每个状态i,求在t=1时状态为j观测为红并且在t=2时状态为i观测为白的路径的最大概率,记概率为δ2(t),则根据:

\

同时,对每个状态i, i = 1, 2, 3,记录概率最大路径的前一个状态j:

\

计算:

\

同样,在t=3时

\

3,求最优路径的终点

以P*表示最优路径的概率,则

\

最优路径的终点是i3*:

\

4,逆向找i2*,i1*

在t=2时,i2* = ψ3(i3*) =ψ3(3) = 3

在t=2时,i1* = ψ2(i2*) =ψ2(3) = 3

于是求得最优路径,即最有状态序列I* = (i1*,i2*, i3*) = (3, 3, 3)。


转载自:https://www.2cto.com/kf/201609/544539.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/980440
推荐阅读
相关标签
  

闽ICP备14008679号