基于HMM(隐马尔可夫)的维特比匹配方法
本文中部分内容来自于李航《统计学习方法》。1.什么是HMM隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程----具有一定状态数的隐马尔可夫链和显示随机函数集。自20世纪80年代以来,HMM被应用于语音识别,取得重
本文中部分内容来自于李航《统计学习方法》。
目录
1.什么是HMM
隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程----具有一定状态数的隐马尔可夫链和显示随机函数集。自20世纪80年代以来,HMM被应用于语音识别,取得重大成功。到了90年代,HMM还被引入计算机文字识别和移动通信核心技术“多用户的检测”。HMM在生物信息科学、故障诊断等领域也开始得到应用。
2.基于HMM的三种问题,三种方法
- 评估问题:前向、后向算法
- 解码问题:维特比算法
- 学习问题(参数估计):鲍姆-韦尔奇算法
3.关于解码问题的维特比算法
3.1HMM可以解决什么问题
使用HMM模型时我们的问题一般有这两个特征:1)我们的问题是基于序列的,比如时间序列,或者状态序列。2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。例如路网匹配方法,给定一系列GPS轨迹点样本,给一张完整路网地图,求解这些GPS轨迹点走的是这张路网图的哪一条路。此类的问题非常多,最近在研究路网识别,因此看到较多文献用到此经典方法,故拜读一番,收获颇丰,在这里分享一点学习经验,若有解释不当或失误,请指正。
3.2维特比算法求解最短路径问题思路
现在我们来总结下维特比算法的流程:
输入:HMM模型,观测序列
输出:最有可能的隐藏状态序列
1)初始化局部状态:
2) 进行动态规划递推时刻t=2,3,...T时刻的局部状态:
3) 计算时刻T最大的,即为最可能隐藏状态序列出现的概率。计算时刻TT最大的,即为时刻T最可能的隐藏状态。
4) 利用局部状态开始回溯。对于t=T−1,T−2,...,1:
最终得到最有可能的隐藏状态序列
3.3实例说明
举个栗子:已知有三个盒子是隐藏状态,每个盒子中有一个球,球的颜色分别为红色和白色,观测序列是(红、白)
那么观察集合是:
V={红,白},M=2
状态集合是:
Q={盒子1,盒子2,盒子3},N=3
而观察序列和状态序列的长度为3.
初始状态分布为:
状态转移概率分布矩阵为:
观测状态概率矩阵为:
球的颜色的观测序列:
O={红,白,红}
按照我们上一节的维特比算法,首先需要得到三个隐藏状态在时刻1时对应的各自两个局部状态,此时观测状态为1:
现在开始递推三个隐藏状态在时刻2时对应的各自两个局部状态,此时观测状态为2:
继续递推三个隐藏状态在时刻3时对应的各自两个局部状态,此时观测状态为1:
此时已经到最后的时刻,我们开始准备回溯。此时最大概率为δ3(3),从而得到
由于,所以, 而又由于,所以。从而得到最终的最可能的隐藏状态序列为:(3,3,3)
ps:文章部分内容参考大佬的博客,感谢大佬分享,链接:https://www.cnblogs.com/pinard/p/6991852.html
整理不易,欢迎点赞,感谢关注!!!
更多推荐
所有评论(0)