HMM学习最佳范例七:前向-后向算法4

七、前向-后向算法(Forward-backward algorithm)

隐马尔科夫模型(HMM)的三个基本问题中,第三个HMM参数学习的问题是最难的,因为对于给定的观察序列O,没有任何一种方法可以精确地找到一组最优的隐马尔科夫模型参数(A、B、pi)使P(O|lamda)最大。因而,学者们退而求其次,不能使P(O|lamda)全局最优,就寻求使其局部最优(最大化)的解决方法,而前向-后向算法(又称之为Baum-Welch算法)就成了隐马尔科夫模型学习问题的一种替代(近似)解决方法。
  我们首先定义两个变量。给定观察序列O及隐马尔科夫模型lamda,定义t时刻位于隐藏状态Si的概率变量为:


image.png

  回顾一下第二节中关于前向变量at(i)及后向变量Bt(i)的定义,我们可以很容易地将上式用前向、后向变量表示为:


HMM学习最佳范例七:前向-后向算法4_第1张图片
image.png

其中分母的作用是确保:
image.png

 给定观察序列O及隐马尔科夫模型lamda,定义t时刻位于隐藏状态Si及t+1时刻位于隐藏状态Sj的概率变量为:
image.png

  该变量在网格中所代表的关系如下图所示:


HMM学习最佳范例七:前向-后向算法4_第2张图片
image.png

  同样,该变量也可以由前向、后向变量表示:
HMM学习最佳范例七:前向-后向算法4_第3张图片
image.png

  而上述定义的两个变量间也存在着如下关系:
image.png

如果对于时间轴t上的所有
image.png

相加,我们可以得到一个总和,它可以被解释为从其他隐藏状态访问Si的期望值(网格中的所有时间的期望),或者,如果我们求和时不包括时间轴上的t=T时刻,那么它可以被解释为从隐藏状态Si出发的状态转移期望值。相似地,如果对
image.png

在时间轴t上求和(从t=1到t=T-1),那么该和可以被解释为从状态Si到状态Sj的状态转移期望值。即:
image.png

image.png

你可能感兴趣的:(HMM学习最佳范例七:前向-后向算法4)