基于n-gram模型的前向-反向算法和基于隐马尔可夫模型(HMM)的Viterbi算法有什么区别?
当我回顾这两个算法的实现时,我唯一发现的是事务概率来自不同的概率模型。
这两种算法之间有区别吗?
发布于 2009-12-14 12:57:59
前向-后向算法结合了前一步和后一步,以获得在特定时间处于每个状态的概率。因此,对所有时间步骤执行此操作可以在每个时间给出一个单独的最可能状态的序列(尽管不能保证是有效序列,因为它考虑了每个步骤的单个状态,并且可能发生转换模型中的概率p(q_i -> q_j)=0 ),换句话说:

,其中

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

我建议你参考这篇著名的论文来获得详细的解释(参见问题#2):
LAWRENCE R.Rabiner,关于语音识别
中隐马尔可夫模型和选定应用程序的教程
发布于 2013-02-07 14:28:23
简而言之:
如果只想预测某一特定时刻最可能的令牌是什么,则使用前向后向。它将考虑每个可能的序列,并对它们进行平均,以找到当时最可能的令牌。因此,当您考虑所有可能的序列时,您将返回的序列将不是真正的序列,而是最可能的标记的集合。
Viterbi用于查找最可能的事件序列。这将查看每个序列,并简单地选择最有可能的序列。
发布于 2013-07-10 18:26:10
看看Rabiner's paper的第262- 264页,一切都会变得清晰。以下是这篇论文对您的问题的直接引用的答案:
"...It应该注意到,维特比算法在实现上与前向-后向算法(公式19-21)的正向计算类似(除了回溯步骤)。主要区别在于(公式33a)在先前状态上的最大化,其被用来代替(公式20)中的求和过程。“
。
https://stackoverflow.com/questions/1898768
复制相似问题