自然语言处理——6.3 HMM之 前向算法

解决问题1:快速计算观察序列概率

给定模型和观察序列 ,快速计算:

1. 基本方法

对于给定的状态序列 ,?


5631876-536de6490a3cfd01.png

  • 困难

如果模型有个不同的状态,时间长度为,那么有个可能的状态序列,搜索路径成指数级组合爆炸。

2. 解决方法:动态规——前向算法(The forward procedure)

1)基本思想:定义前向变量

如果可以高效地计算,就可以高效地求得。

因为 是在到达状态 时观察到序列 的概率(所有可能的概率之和):

动态规划计算:在时间的前向变量可以根据时间 的前向变量的值递推计算:

5631876-3d7f2e671bbab296.png

2)算法6.1:前向算法描述:
5631876-8bfe4134f05034e1.png
3)算法的时间复杂性:
5631876-abc6fb26b20f7135.png

猜你喜欢

转载自blog.csdn.net/weixin_33836874/article/details/87229715