首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前向后向算法和维特比算法有什么不同?

前向后向算法和维特比算法有什么不同?
EN

Stack Overflow用户
提问于 2009-12-14 11:33:33
回答 3查看 8.3K关注 0票数 20

基于n-gram模型的前向-反向算法和基于隐马尔可夫模型(HMM)的Viterbi算法有什么区别?

当我回顾这两个算法的实现时,我唯一发现的是事务概率来自不同的概率模型。

这两种算法之间有区别吗?

EN

回答 3

Stack Overflow用户

发布于 2009-12-14 12:57:59

前向-后向算法结合了前一步和后一步,以获得在特定时间处于每个状态的概率。因此,对所有时间步骤执行此操作可以在每个时间给出一个单独的最可能状态的序列(尽管不能保证是有效序列,因为它考虑了每个步骤的单个状态,并且可能发生转换模型中的概率p(q_i -> q_j)=0 ),换句话说:

,其中

另一方面,Viterbi算法通过最大化不同的最优性标准,找到给定观察序列的最可能的状态序列:

我建议你参考这篇著名的论文来获得详细的解释(参见问题#2):

LAWRENCE R.Rabiner,关于语音识别

中隐马尔可夫模型和选定应用程序的教程

票数 18
EN

Stack Overflow用户

发布于 2013-02-07 14:28:23

简而言之:

如果只想预测某一特定时刻最可能的令牌是什么,则使用前向后向。它将考虑每个可能的序列,并对它们进行平均,以找到当时最可能的令牌。因此,当您考虑所有可能的序列时,您将返回的序列将不是真正的序列,而是最可能的标记的集合。

Viterbi用于查找最可能的事件序列。这将查看每个序列,并简单地选择最有可能的序列。

票数 5
EN

Stack Overflow用户

发布于 2013-07-10 18:26:10

看看Rabiner's paper的第262- 264页,一切都会变得清晰。以下是这篇论文对您的问题的直接引用的答案:

"...It应该注意到,维特比算法在实现上与前向-后向算法(公式19-21)的正向计算类似(除了回溯步骤)。主要区别在于(公式33a)在先前状态上的最大化,其被用来代替(公式20)中的求和过程。“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1898768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档