隐马尔可夫模型问题三:求最可能的隐藏状态序列

隐马尔可夫模型问题三求解

求最可能的隐藏状态序列,主要是通过动态规划求解概率最大的路径(最优路径),即通过动态规划求解马尔科夫模型的预测问题,最优路径对应一个状态序列。求解这种问题,我们一般使用马尔科夫模型。
已知模型 λ = ( A , B , π ) \lambda = (A,B,\pi ) λ=(A,B,π),并且
A = [ 0.5 0.2 0.3 0.3 0.5 0.2 0.2 0.3 0.5 ] A = \left[ {\begin{matrix} {0.5}&{0.2}&{0.3}\\ {0.3}&{0.5}&{0.2}\\ {0.2}&{0.3}&{0.5} \end{matrix}} \right] A=0.50.30.20.20.50.30.30.20.5

B = [ 0.5 0.5 0.4 0.6 0.7 0.3 ] {\rm{ B = }}\left[ {\begin{matrix}{} {0.5}&{0.5}\\ {0.4}&{0.6}\\ {0.7}&{0.3}\\ \end{matrix}} \right] B=0.50.40.70.50.60.3

π = [ 0.2 0.4 0.4 ] \pi {\rm{ = }}\left[ {\begin{matrix}{} {0.2}&{0.4}&{0.4} \end{matrix}} \right] π=[0.20.40.4]

观测序列序列是已知的,并且 O = 红 , 白 , 红 O = {红,白,红} O=,,,那么可以求得最优的状态序列,即最优路径 I ∗ = ( i 1 ∗ , i 2 ∗ , i 3 ∗ ) {I^*} = (i_1^{\rm{*}},i_2^*,i_{\rm{3}}^*) I=(i1,i2,i3)
解:如下图所示,如果在所有的隐藏状路径中找到一条最优路径,那么需要首先初始化。在 t = 1 t = 1 t=1时刻,对应的每一个隐藏状态 i = 1 , 2 , 3 i = 1,2,3 i=1,2,3,因此可以求出状态为 i i i并且观测状态 o 1 {o_1} o1为红色的概率 δ 1 ( i ) {\delta _{\rm{1}}}(i) δ1(i),即
δ 1 ( i ) = π i b i ( o 1 ) = π i b i ( 红 ) , i = 1 , 2 , 3 {\delta _{\rm{1}}}(i) = {\pi _i}{b_i}({o_1}) = {\pi _i}{b_i}(红),i = 1,2,3 δ1(i)=πibi(o1)=πibi(),i=1,2,3
ψ 1 ( i ) = 0 , i = 1 , 2 , 3 {\psi _{\rm{1}}}(i) = 0,i = 1,2,3 ψ1(i)=0,i=1,2,3,作为概率最大的第一个隐藏状态。

在这里插入图片描述

图 最优路径求解

(1) 当 t = 2 t=2 t=2时,状态 i = 1 , 2 , 3 i = 1,2,3 i=1,2,3,需要求解 t = 1 t = 1 t=1时的并且隐藏状态是 j j j,观测状态为红色,并且 t = 2 t = 2 t=2隐藏状态是 i i i,观测状态 o 2 {o_2} o2为白色的路径最大概率, δ 2 ( i ) {\delta _{\rm{2}}}(i) δ2(i),则

δ 2 ( i ) = max ⁡ 1 ≤ j ≤ 3 [ δ 1 ( j ) a j i ] b i ( o 2 ) {\delta _{\rm{2}}}(i) = \mathop {\max }\limits_{{\rm{1}} \le j \le {\rm{3}}} [{\delta _1}(j){a_{ji}}]{b_i}({o_2}) δ2(i)=1j3max[δ1(j)aji]bi(o2)

对每个状态 i = 1 , 2 , 3 i = 1,2,3 i=1,2,3,我们需要记录概率最大的路径对应的前一个隐藏状态 j j j:
ψ 2 ( i ) = arg ⁡ max ⁡ 1 ≤ j ≤ 3 [ δ 1 ( j ) a j i ] i = 1 , 2 , 3 {\psi _{\rm{2}}}(i) = \arg \mathop {\max }\limits_{{\rm{1}} \le j \le {\rm{3}}} [{\delta _{\rm{1}}}(j){a_{ji}}]i = 1,2,3 ψ2(i)=arg1j3max[δ1(j)aji]i=1,2,3
使用实际数据带入上述公式,得

δ 2 ( 1 ) = max ⁡ 1 ≤ j ≤ 3 [ δ 1 ( j ) a j 1 ] b 1 ( o 2 ) = max ⁡ j { 0 . 10 × 0 . 5 0 . 16 × 0 . 3 0 . 28 × 0 . 2 } × 0 . 5 = 0 . 028 \begin{matrix}{} {\delta _{\rm{2}}}({\rm{1}}) = \mathop {\max }\limits_{{\rm{1}} \le j \le {\rm{3}}} [{\delta _1}(j){a_{j{\rm{1}}}}]{b_{\rm{1}}}({o_2})\\ {\kern 125pt}{\rm{ = }}\mathop {\max }\limits_j {\rm{\{ 0}}{\rm{.10}} \times {\rm{0}}{\rm{.5}}{\rm{0}}{\rm{.16}} \times {\rm{0}}{\rm{.3}}{\rm{0}}{\rm{.28}} \times {\rm{0}}{\rm{.2\} }} \times {\rm{0}}{\rm{.5}}\\ {\kern -34pt}{\rm{ = 0}}{\rm{.028}} \end{matrix} δ2(1)=1j3max[δ1(j)aj1]b1(o2)=jmax{0.10×0.50.16×0.30.28×0.2}×0.5=0.028

ψ 2 ( 1 ) = 3 {\psi _2}(1) = 3 ψ2(1)=3

δ 2 ( 1 ) = 0 . 0504 {\delta _2}(1) = {\rm{0}}{\rm{.0504}} δ2(1)=0.0504

ψ 2 ( 2 ) = 3 {\psi _2}({\rm{2}}) = 3 ψ2(2)=3

δ 2 ( 3 ) = 0 . 0042 {\delta _2}({\rm{3}}) = {\rm{0}}{\rm{.0042}} δ2(3)=0.0042

ψ 2 ( 3 ) = 3 {\psi _2}({\rm{3}}) = 3 ψ2(3)=3

t = 3 t = 3 t=3时,

δ 3 ( i ) = max ⁡ 1 ≤ j ≤ 3 [ δ 2 ( j ) a j i ] b i ( o 3 ) {\delta _{\rm{3}}}(i) = \mathop {\max }\limits_{1 \le j \le 3} [{\delta _2}(j){a_{ji}}]{b_i}({o_3}) δ3(i)=1j3max[δ2(j)aji]bi(o3)

ψ 3 ( i ) = arg ⁡ max ⁡ 1 ≤ j ≤ 3 [ δ 2 ( j ) a j i ] {\psi _3}(i) = \arg \mathop {\max }\limits_{1 \le j \le 3} [{\delta _2}(j){a_{ji}}] ψ3(i)=arg1j3max[δ2(j)aji]

δ 3 ( 1 ) = 0.00756 {\delta _{\rm{3}}}(1) = 0.00756 δ3(1)=0.00756

ψ 3 ( 1 ) = 2 {\psi _3}(1) = 2 ψ3(1)=2

δ 3 ( 2 ) = 0.01008 {\delta _3}(2) = 0.01008 δ3(2)=0.01008

ψ 3 ( 2 ) = 2 {\psi _3}(2) = 2 ψ3(2)=2

δ 3 ( 3 ) = 0.0147 {\delta _3}(3) = 0.0147 δ3(3)=0.0147

ψ 3 ( 3 ) = 3 {\psi _3}(3) = 3 ψ3(3)=3

(2) 我们使用 P ∗ {P^*} P表示最终求解得到的最优路径的概率,得
P ∗ = max ⁡ 1 ≤ j ≤ 3 δ 3 ( i ) = 0 . 0147 {P^*} = \mathop {\max }\limits_{1 \le j \le 3} {\delta _3}(i){\rm{ = 0}}{\rm{.0147}} P=1j3maxδ3(i)=0.0147
所以,已知最优路径的终点 i 3 ∗ i_3^* i3
i 3 ∗ = arg ⁡ max ⁡ i [ δ 3 ( i ) ] = 3 i_3^* = \arg \mathop {\max }\limits_i [{\delta _3}(i)] = 3 i3=argimax[δ3(i)]=3

(3) 通过最优路径的结束点 i 3 ∗ i_3^* i3进行逆向查找,得到 i 2 ∗ , i 1 ∗ i_2^*,i_1^* i2,i1

t = 2 t = 2 t=2时,
i 2 ∗ = ψ 3 ( i 3 ∗ ) = ψ 3 ( 3 ) = 3 i_2^* = {\psi _3}(i_3^*) = {\psi _3}(3) = 3 i2=ψ3(i3)=ψ3(3)=3
t = 1 t = {1} t=1时,
i 1 ∗ = ψ 2 ( i 2 ∗ ) = ψ 2 ( 3 ) = 3 i_{\rm{1}}^* = {\psi _{\rm{2}}}(i_2^*) = {\psi _2}(3) = 3 i1=ψ2(i2)=ψ2(3)=3
通过最优路径,我们得到的隐藏状态序列为 I ∗ = ( i 1 ∗ , i 2 ∗ , i 3 ∗ ) = ( 3 , 3 , 3 ) {I^*} = (i_1^{\rm{*}},i_2^*,i_{\rm{3}}^*){\rm{ = (3,3,3)}} I=(i1,i2,i3)=(3,3,3)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值