HMM前向-后向算法

首先通过计算以下给定的HMM模型中,求出三天观察是(Dizzy,Cold,Normal)的概率是多少来感受HMM的计算过程。
在这里插入图片描述
上图HMM模型的参数对应如下形式:

trainsition_probability = [[0.7,0.3],[0.4,0.6]]转移矩阵     
emission_probability = [[0.5,0.4,0.1],[0.1,0.3,0.6]]发射矩阵    
pi = [0.6,0.4]初始化概率

通常在计算的过程中就能感受到,我们是通过递推的方法进行计算,而非采用暴力法求解。也即我们无意中就使用了HMM的前向算法。但我们还是分析下暴力算法的计算复杂度。假设状态值是N个,观察值是K个,总共观察长度为T。则使用暴力法求解的过程是:枚举出所有T长度的所有状态转移序列,计算每个序列产生指定观测序列的概率,累加。计算复杂度约为: N T ∗ T N^T*T NTT
计算复杂度太高,这我们忍不了!上高级算法!

前向算法

先给出定义:

前向概率:给定隐马科夫模型 λ \lambda λ,定义到时刻t为止的观测序列为 o 1 , o 2 , o 3 , . . . o t {o_1},{o_2},{o_3},...{o_t} o1,o2,o3,...ot ,且状态为 q i {q_i} qi的概率为前向概率,记作
α t ( i ) = P ( o 1 , o 2 , o 3 , . . . o t , i t = q i ∣ λ ) {\alpha _t}\left( i \right) = P\left( {{o_1},{o_2},{o_3},...{o_t},{i_t} = {q_i}|\lambda } \right) αt(i)=P(o1,o2,o3,...ot,it=qiλ)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值