隐马尔科夫-维特比算法

 继上篇贝叶斯(http://www.cnblogs.com/zhiranok/archive/2012/09/22/native_bayes.html)后,一直想完成隐马尔科夫这篇,一是一直没有时间完成python的示例实现代码,二是想找一个区别于天气的隐马尔科夫例子。区别于贝叶斯,隐马尔科夫模型是基于时序的概率模型,本文只关注于一阶隐马尔科夫模型,即某一时刻的状态值只跟上一时刻的状态值有关。该模型可以用三元组表示:λ = (A, B,π ), 其中:

  • A:为状态转移概率矩阵
  • B:为观察概率矩阵,或称为概率矩阵
  • π:为初始概率矩阵 

举一个例子来说明。

  • 假设有一只电动玩具狗,它只会干三件事:汪汪叫(W),跑来跑去(R),睡觉(S)。则观察状态集合V为{W, R, S}, 则观察状态数目M=3 .
  • 经过了解得知,电动玩具狗是受情绪控制的,它会无聊(B),高兴(H),生气(A),故状态集合Q={B, H,A}, 状态数目N=3
  • 分析这只玩具狗后得知其状态转移概率矩阵为:

  • 混淆矩阵为:

  • 初始概率矩阵为:π = (0.2, 0.4, 0.4)

维特比算法

  假设一天中观察到玩具狗的行为序列为{W,R,S,R,S}, 求最可能的情绪状态序列是什么。这是典型的隐马尔科夫解码问题,下面使用维特比算法求解。

  •  维特比变量 : 使t时刻为状态i的最佳状态序列的概率值,递推公式:

 

  

  •  辅助变量   表示t时刻为状态i时的前一时刻t-1时的最佳状态,注意, 为t时刻为i的最佳的概率,而为最佳状态值,由此也可知 记录了到达此点的最佳上一个时刻的状态点路径,故分配T*N数组存储,用于最后回溯路径得到最终结果,动态规划的思想。

  

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值