【机器学习】【隐马尔可夫模型-3】后向算法:算法详解+示例讲解+Python实现

0.前排提示csdn有些数学公式编辑不出来,所以本博用容易书写的表达式来表示专业数学公式,如: (1)  在本博客中用α<T>(i)来表示  (2)在本博客中用[i=1, N]∑来表示注:这是为了表示一些无法编辑出来的数学公式而本博自己想出来的表示方法,不是专业使用,在离开此博客时请忘记他们~~1.隐马尔可夫模型简介    隐马尔可夫模型的详细讲解,请详见:【机器学习】【隐马尔可夫模型...
摘要由CSDN通过智能技术生成

0.前排提示

csdn有些数学公式编辑不出来,所以本博用容易书写的表达式来表示专业数学公式,如:

 (1)  在本博客中用α<T>(i)来表示

  (2)在本博客中用[i=1, N]∑来表示

注:这是为了表示一些无法编辑出来的数学公式而本博自己想出来的表示方法,不是专业使用,在离开此博客时请忘记他们~~

1.隐马尔可夫模型简介

    隐马尔可夫模型的详细讲解,请详见:【机器学习】【隐马尔可夫模型-1】基本概念+观测序列的生成算法+示例讲解

2.后向算法简介

2.1后向算法的需求背景

首先简要介绍下后向算法的需求背景。

隐马尔可夫模型有3个问题:概率计算问题,学习问题,预测问题。后向算法就是为了解决概率计算问题的。

概率计算问题描述如下:

已知一个隐马尔可夫模型λ=(A,B,λ),已知一个观测序列O=(o1, o2,……,oT)

问题:请计算在模型λ下观测序列O出现的概率P(O|λ)

HMM的这个概率计算问题有前向算法和后向算法,本博客介绍后向算法,

前向算法在前面博客已经有介绍,详见:【机器学习】【隐马尔可夫模型-2】前向算法:算法详解+示例讲解+Python实现

到此后向算法的需求背景讲解完了,下面开始详解后向算法。

2.2后向概率

已知隐马尔可夫模型λ=(A, B, π),定义到时刻t(t<T)状态为q<i>的条件下,从t+1到T的部分观测序列为o<t+1>,o<t+2>,...,O<T>的概率为后向概率,记作:


用我自己定义的书写表达式就是:

β<t>(i) = P(o<t+1>,o<t+2>,……,o<T>|i<t> = q<i>,λ), i=1,2,...,N

2.3观测序列概率的后向算法

可以递推得后向概率以及观测序列概率P(O|λ)

输入:隐马尔卡夫模型λ=(A, B, π),观测序列O

输出:观测序列概率P(O | λ)


核心是通过模型λ=(A, B, π)以及时刻t+1的β<t+1>(i)来递推得到前一个时刻t的β<t>(i).直到递推得到β<0>(i)

上面步骤比较容易理解,如果看不懂,可以借助下面的示例来理解就变得很容易啦。

话不多说,直接上例子。

3.观测序列概率的后向算法示例

3.1模型λ

从前面介绍的内容可知,模型λ由三个对象确定表示:λ=(A, B, π)=(状态转移概率分布,观测概率分布,初始状态概率分布)

考虑盒子和球模型λ=(A, B, π),此模型相关信息我们假设给定为:

1)状态集合Q={盒子1, 盒子2, 盒子3},N=3

2)观测集合V={红,白},M=2

3)状态转移概率分布 A = [0.5,0.2,0.3

                                               0.3,0.5,0.2

                                               0.2,0.3,0.5]

4)观测概率分布B=[0.5,0.5

  • 30
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值