机器学习实战应用案例100篇(二十九)-序列算法应用案例(一)
HMM维特比算法及扩展
1 维特比算法
在隐马尔可夫模型的许多应用中,潜变量有一些有意义的解释,因此对一个给定的观察序列寻找最可能的隐状态序列往往是有趣的。例如,在语音识别中,我们可能希望为给定的一系列声学(acoustic)观察找到最可能的音素(phoneme)序列。由于隐马尔可夫模型的图是一个有向树
,这个问题可 以用最大和算法(max-sum algorithm)精确地解决。
寻找最可能的潜在状态序列的问题与寻找个别最可能的状态集的问题是不同的。后一个问题可以通过先运行前向后向(和积)算法
来找到潜在变量的边际,然后分别最大化每个边缘值来解决。但是,这些状态的集合通常不符合最可能的状态序列。事实上,这组状态甚至可以表示一个概率为零的序列,例如有两个连续的状态,它们各自的概率最大,但连接它们的转移矩阵元素为零。
在实践中,我们通常对寻找最有可能的状态序列感兴趣,而这可以使用最大和算法有效地解决,在隐马尔可夫模型中称为维特比算法
(Viterbi algorithm)。请注意,最大和算法适用于对数概率,因此不需要像前向后向算法那样使用缩放后的变量。
图16显示了扩展为格图的隐马尔可夫模型的一个片段。正如我们已经注意到的,通过网格的可能路径的数量随着链的长度呈指数
增长。维特比算法有效地搜索这个路径空间,以找到计算代价仅随链长线性增长的最有可能的路径。
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/123686285
- 点赞
- 收藏
- 关注作者
评论(0)