隐马尔科夫模型(四)

本文主要解决隐马尔科夫模型基本问题三。给定观测序列组成的训练集,也就是多个观测序列,对模型λ进行估计,使得产生这个训练集的概率最大化,也就是最大似然估计。
首先我们先明确一下所使用的符号:

  • S={S1,...,SN} 表示模型的状态,一共有N个

  • V={vi,...vM} 表示不同的观测符号,一共有M个

  • Ok=Ok1...OkT 表示第k个观测序列,序列长度为 T

  • Qk=qk1...qkT表示第k个观测序列所对应的状态序列

  • χ={Ok}k=1,...,K ,表示观测序列集,我们假设有 K 个观测序列.

  • Z={Qk}k=1,...,K,表示状态序列集

  • λ={A,B,Π} ,其中 A 表示状态转移矩阵,B表示状态与观测值之间的条件概率, Π 表示初试状态概率

我们用公式来表示问题三就是求 λ ,使得

λ=argmaxλP(χ|λ)

我们运用EM算法来求解。但是我们并不在此多解释EM算法的由来,所以我们直接写出E-步和M-步。

E-step

W(λ,λs)=Zlog[P(χ,Z|λ)]P(Z|χ;λs)

M-step
λs+1=argmaxλW(λ,λs)


我们首先对E-步的式子进行等价变化
W(λ,λs)=Zlog[P(χ,Z|λ)]P(Z,χ|λs)(1)

然后我们推导出
[P(χ,Z|λ)]=k=1KP(Ok,Qk|λ)

P(Ok,Qk|λ)=πqk1bqk1(Ok1)t=2Taqkt1qktbqkt(Okt)

然后,我们取对数,代入公式(1),我们可得下式
W(λ,λs)=Zk=1Klogπqk1+Zk=1Kt=2Tlogaqkt1qkt+Zk=1Kt=1Tlogbqkt(Okt)

这样,我们把 λ 的三个参数分开写,加上如下的约束条件
Mi=1=1Mj=1aij=1,i=1,...,MNj=1bi(j)=1,i=1,...,M

针对每个参数进行求导,然后令其等于零,我们得到如下的表达式
πi=1Kk=1KP(qk1=i|χ,λs)

aij=Kk=1Tt=2P(qkt1=i,qdt=j|χ,λs)Kk=1Tt=2P(qkt1=i|χ,λs)

bi(j)=Kk=1Tt=1P(qkt=i|χ,λs)I(Okt=j)Kk=1Tt=1P(qkt=i|χ,λs)

那么剩下的问题就是求解如下两个式子
ξt(i,j)=P(qt=Si,qt+1=Sj|O,λ)=αt(i)aijbj(Ot+1)βt+1(j)klαt(k)aklbl(Ot+1)βt+1(l)

γt(i)=P(qt=Si|O,λ)=j=1Nξt(i,j)

其中的 α , β 的求解参见隐马尔科夫模型(一)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值