【机器学习】隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现

【机器学习】隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现


隐马尔可夫模型状态序列预测问题是指给定模型 λ = [ A , B , ∏ ] \lambda = \left[ {A,B,\prod } \right] λ=[A,B,]和观测序列 X = { x 1 , x 2 , ⋯   , x n } X = \left\{ { {x_1},{x_2}, \cdots ,{x_n}} \right\} X={ x1,x2,,xn},求最可能出现的对应状态序列。本篇博文介绍状态序列预测算法中的维特比算法(Viterbi algorithm)[参考资料1]。

一、维特比算法

维特比算法实际是用动态规划解隐马尔科夫模型的预测问题,首先导入两个变量 δ \delta δ ψ \psi ψ

定义在时刻 t t t状态为 q i q_i qi的所有单个路径 ( y 1 , y 2 , ⋯   , y t ) ({y_1},{y_2}, \cdots ,{y_t}) (y1,y2,,yt)中概率最大值为:
δ t ( q i ) = max ⁡ y 1 , y 2 , ⋯   , y t − 1 P ( y t = q i , y t − 1 , ⋯   , y 1 , x t , ⋯   , x 1 ∣ λ ) , i = 1 , 2 , ⋯   , N {\delta _t}\left( { {q_i}} \right) = \mathop {\max }\limits_{ {y_1},{y_2}, \cdots ,{y_{t - 1}}} P\left( { {y_t} = {q_i},{y_{t - 1}}, \cdots ,{y_1},{x_t}, \cdots ,{x_1}\left| \lambda \right.} \right),i = 1,2, \cdots ,N δt(qi)=y1,y2,,yt1maxP(yt=qi,yt1,,y1,xt,,x1λ),i=1,2,,N

则变量 δ \delta

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值