2009-12-14 100 views
18

n-gram模型上的正向 - 反向算法与隐马尔可夫模型(HMM)上的维特比算法有什么区别?Forward-backward算法和Viterbi算法有什么区别?

当我回顾这两种算法的实现时,我发现只有事物发生概率来自不同的概率模型。

这两种算法有区别吗?

回答

16

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

equation 1,其中equation 2

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

Equation 3

我建议你参考这个著名论文进行了详细的说明(见问题2):

LAWRENCE R. RABINER,在 隐马尔可夫模型的教程及选定 在语音应用识别

5

简洁地提出:

正倒向使用如果只是想预测最有可能的标记是在一个特定的时间什么。它会考虑到每一个可能的顺序,并在它们的平均值上找出当时最可能的标记。所以你将返回的序列将不是一个真正的序列,而是当你考虑所有可能的序列时收集最可能的标记。

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

0

看看Rabiner's paper的第262-264页,它应该都清楚了。 这里是一个直接引用的答案 - 从这个纸 - 你的问题:

” ......应当指出的是,Viterbi算法是类似的(除了 的回溯步骤)在实施前向 计算正向 - 反向算法(等式19-21)主要差异在于在(等式33a)中相对于先前的 状态的最大化,其被用来代替(等式 20)中的求和过程。

相关问题