隐马尔科夫模型(HMM)学习笔记

参考文献

1.李航《统计学习方法》
2.刘建平老师的博客内容
3.一文搞懂HMM

1.HMM模型的应用场景

首先我们来看看什么样的问题解决可以用HMM模型。使用HMM模型时我们的问题一般有这两个特征:
1)我们的问题是基于序列的,比如时间序列,或者状态序列。
2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。


2.HMM模型的基本定义

在这里插入图片描述
强调HMM的两个强假设:

【1】状态依前:即任意时刻的隐藏状态只依赖于它前一个隐藏状态
在这里插入图片描述
【2】观测独立:即任意时刻的观察状态只仅仅依赖于当前时刻的隐藏状态
在这里插入图片描述
在这里插入图片描述

HMM模型的三元组表示:(A,B,π)


3.HMM观测序列生成算法

在这里插入图片描述


4.HMM模型的三个基本问题

4.1评估观测序列出现的概率

在这里插入图片描述
(1)暴力解法求HMM观测序列出现的概率
直观上的想法就是:既然模型参数已知,观测序列也已知,那么我们可以穷举所有的隐藏序列。对于每一个隐藏序列,
首先计算其出现的概率,而后计算观测序列出现的概率,则隐藏序列和观测序列同时出现的联合概率就是两个概率相乘,然后求边缘概率分布,即可得到观测序列O在模型λ下出现的条件概率。计算看起来很容易,也很直观,但是当隐藏状态数N较大时,穷举的所有隐藏序列数目将是非常可怕的,这会使得这种计算方式无法进行。

(2)用前向算法求HMM观测序列出现的概率
前向算法本质上属于动态规划的算法,也就是我们要通过找到局部状态递推的公式,这样一步步的从子问题的最优解拓展到整个问题的最优解。
前向概率定义:定义时刻 t 时,隐藏状态为 qi ,观测状态序列为 o1,o2,…ot 的概率为前向概率。
在这里插入图片描述
在这里插入图片描述
前向算法步骤:
在这里插入图片描述
(3)用后向算法求HMM观测序列出现的概率

后向概率定义:定义时刻 t 时,隐藏状态为qi ,从时刻 t+1 到最后时刻 T 的观测状态序列为 ot+1,ot+2,…,oT的概率为后向概率。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后向算法步骤:
在这里插入图片描述


4.2求解HMM模型参数

在这里插入图片描述
HMM模型参数求解根据已知的条件可以分为两种情况:

1.简单情况,就是我们已知 D 个长度为 T 的观测序列和对应的隐藏状态序列,此时我们可以很容易地用最大似然来求解模型参数,解法如下:
在这里插入图片描述
2.我们无法得到HMM样本观察序列对应的隐藏序列,只有 D 个长度为 T 的观测序列,即{(O1),(O2),…(OD)}是已知的,这种是比较困难的问题,我们采用鲍姆-韦尔奇算法进行处理:

鲍姆-韦尔奇算法,其实就是基于EM算法的求解,只不过鲍姆-韦尔奇算法出现的时代,EM算法还没有被抽象出来而已。

总体思路:
在这里插入图片描述
E步:
在这里插入图片描述
M步:
在这里插入图片描述

附:HMM常用概率的计算
在这里插入图片描述

鲍姆-韦尔奇算法步骤:
在这里插入图片描述


4.3预测最可能对应的隐藏状态序列

在这里插入图片描述
(1)直观的解法
在这里插入图片描述
(2)维特比算法
维特比算法作为一种动态规划算法,需要找到合适的局部状态,以及局部状态的递推公式。
在HMM中,维特比算法定义了两个局部状态用于递推:
在这里插入图片描述
有了这两个局部状态,我们就可以从时刻0一直递推到时刻 T,然后利用Ψ t (i) 记录的前一个最可能的状态节点回溯,直到找到最优的隐藏状态序列。

维特比算法步骤:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值