HMM学习最佳范例五:前向算法3

五、前向算法(Forward Algorithm)

前向算法定义(Forward algorithm definition)

  我们使用前向算法计算T长观察序列的概率:
     5.2_1
  其中y的每一个是观察集合之一。局部(中间)概率(alpha‘s)是递归计算的,首先通过计算t=1时刻所有状态的局部概率alpha
     5.2_2
  然后在每个时间点,t=2,… ,T时,对于每个状态的局部概率,由下式计算局部概率alpha:
     5.2_3
  也就是当前状态相应的观察概率与所有到达该状态的路径概率之积,其递归地利用了上一个时间点已经计算好的一些值。
  最后,给定HMM,lamda,观察序列的概率等于T时刻所有局部概率之和:
     5.2_4
  再重复说明一下,每一个局部概率(t > 2 时)都由前一时刻的结果计算得出。
  对于“天气”那个例子,下面的图表显示了t = 2为状态为多云时局部概率alpha的计算过程。这是相应的观察概率b与前一时刻的局部概率与状态转移概率a相乘后的总和再求积的结果:
   example.forward
(注:本图及维特比算法4中的相似图存在问题,具体请见文后评论,非常感谢读者YaseenTA的指正)

总结(Summary)

  我们使用前向算法来计算给定隐马尔科夫模型(HMM)后的一个观察序列的概率。它在计算中利用递归避免对网格所有路径进行穷举计算。
  给定这种算法,可以直接用来确定对于已知的一个观察序列,在一些隐马尔科夫模型(HMMs)中哪一个HMM最好的描述了它——先用前向算法评估每一个(HMM),再选取其中概率最高的一个。

未完待续:前向算法4

本文翻译自:http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html
部分翻译参考:隐马尔科夫模型HMM自学

转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-3

相关文章:

  1. HMM学习最佳范例五:前向算法1
  2. HMM学习最佳范例五:前向算法2
  3. HMM学习最佳范例五:前向算法4
  4. HMM学习最佳范例四:隐马尔科夫模型
  5. HMM学习最佳范例五:前向算法5
  6. HMM学习最佳范例六:维特比算法5
  7. HMM学习最佳范例七:前向-后向算法1
  8. HMM学习最佳范例六:维特比算法4
  9. HMM学习最佳范例八:总结
  10. HMM学习最佳范例六:维特比算法2

此条目发表在 隐马尔科夫模型 分类目录,贴了 , , , , , 标签。将固定链接加入收藏夹。

HMM学习最佳范例五:前向算法3》有 8 条评论

  1. YaseenTA 说:

    这个图里面
    http://www.52nlp.cn/images/example.forward.gif (原文里面的图)
    t=1,Rainy状态那一部分有错误吧?
    应该是
    α1( r )= πr *brw
    就是括号里面(r)还有cw应该是rw

    [回复]

    52nlp 回复:

    不好意思,这两天出游晚上刚回来。
    应该是你所写的这个公式,我摘录的原文公式,没有仔细看,谢谢。

    [回复]

    YaseenTA 回复:

    还有一个地方 Cloudy 应该是α1( c )= 而不是 α1( r )=
    同样这些错误也在http://www.52nlp.cn/images/example.viterbi.gif

    [回复]

    52nlp 回复:

    非常感谢,已在相关图下做了注明!

  2. candy_636 说:

    您好,我想问一下,计算t+1时刻的局部概率时,最后的混淆矩阵为什么是bjkt,我觉得应该是bjkt+1吧?呵呵,谢谢了

    [回复]

    52nlp 回复:

    谢谢指正,这个应该是bjkt+1,抱歉,摘录原图时没注意,关于HMM,建议看一下论文:Lawrence R. Rabiner (February 1989). “A tutorial on Hidden Markov Models and selected applications in speech recognition”,这个比较经典。

    [回复]

  3. Moco Sun 说:

    博主您好有个问题没明白
    http://www.52nlp.cn/images/example.forward.gif
    这张图里的wet状态是哪里来的
    前面的混淆矩阵b里面只有4个状态 dry dryish damp soggy,而没有wet
    难道wet = damp + soggy?

    [回复]

  4. 52nlp 说:

    谢谢,我也没注意有这样的变化,不过这个不影响前向算法的说明。

    [回复]

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>