隐马尔科夫学习五(三)

来源:互联网 发布:淘宝账号异常 编辑:程序博客网 时间:2024/05/22 04:25

出处:http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-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),再选取其中概率最高的一个。


0 0
原创粉丝点击