隐马尔科夫模型(二)

本文主要针对隐马尔科夫模型的第一个基本问题展开讨论。问题是:给定一个模型 λ ,我们希望估计任意给定观测变量序列 O=O1O2....OT 的概率。

分析:我们是要估计 P(O|λ) ,我们加入状态序列Q,那么就可以得到

P(O|λ)=QP(O,Q|λ)(1)

同时我们知道
P(O,Q|λ)=P(O|Q,λ)P(Q|λ)
,显然等式的右边是容易知道的,但是问题是对于所有的Q求和,这是相当麻烦的。因此,我们使用正反向过程来求解。


我们定义如下的正向变量 αt(i) ,

αt(i)=P(O1,O2,...,Ot,Qt=Si|λ)(2)

同时,我们可以通过迭代的方式得到求解 αt(i) 的方法。
αt(i)=jαt1(j)ajibj(Ot)(3)

那么类似于公式一,我们有
P(O|λ)=SiP(O,qT=Si|λ)=iαT(i)


我们也定义反向过程 βt(i) 如下:
βt(i)=P(Ot,...,OT|qt=Si,λ)

它的解释就是在给定第t时刻的状态为 Si ,那么从第t时刻到第T时刻的观测序列概率。同样我们也可以给出 bt(i) 的迭代求法,如下
βt(i)=jaijbj(Ot)βt+1(j)(4)

类似于式(1),我们有
P(O|λ)=SiP(O1,...OT|q1=Si,λ)P(q1=Si|λ)=iβ1(i)πi


观察式3和式4,都相当于两层的for循环,每一层都是N,故为 O(N2) ,但是这是有观测值O是有T个元素,故总体时间复杂度为 O(TN2)

待续。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值