HMM数学推导—Evaluation问题

本章涉及到的知识点清单:

1、前向概率的定义

2、前向概率的递推关系推导

3、前向概率求解

4、Forward算法流程

5、后向概率的定义

6、后向概率的递推关系推导

7、后向概率求解

8、Backward算法流程

9、案例演示

10、Evaluation问题总结

一、前向概率的定义

前向概率的定义

为了解决Evaluation问题的高时间复杂度,我们引入一个前向概率,如上图所示,表示时刻的观测,以及时刻的隐变量状态,在给定参数下的联合概率,即

t时刻的前向概率

易知:可以用的矩阵表示


二、前向概率的递推关系推导

通过前向概率的定义,可以推导出它的递推关系

由可得到的表达

t+1时刻的前向概率

将展开化简得:

前向概率递推关系

(PS:由于HMM中隐变量是离散序列,故)

上述化简使用了观测独立假设齐次Markov假设,可见和之间存在着具体的递推关系。且根据前向概率的定义,当处于初始时刻时,前向概率为:

初始时刻t=1的前向概率

则利用这个递推关系和,就可以从前向后分别求出


三、前向概率求解

回归Evaluation问题,很自然的引入隐变量,经过简单的化简得:

Evaluation问题计算

以上就是利用前向概率的定义和递推关系,逐步向前递推,最终计算出,即Forward算法,显然,其时间复杂度已经降低至


四、Forward算法流程

输入:模型参数,观测序列

输出: 概率值

Step1:初始值赋值

Forward算法step1

Step2:递推计算

Forward算法step2

Step3:计算

Forward算法step3

五、后向概率的定义

受前向概率定义的启发,我们可以从另一个角度定义出后向概率

后向概率定义

如上图所示,我们引入后向概率,表示时刻的观测,以及时刻的隐变量状态,在给定参数下的联合概率,即

t时刻的后向概率

同理,易知可以用的矩阵表示


六、后向概率的递推关系推导

通过后向概率的定义,可以推导出它的递推关系

由可以得到的表达式

t+1时刻的后向概率

将展开化简得:

后向概率递推

上述蓝色部分的化简,利用了概率图D-Seperation中head-to-tail,可见与之间存在着具体的递推关系。且根据后向概率定义,当处于末尾时刻时,后向概率为:

末尾时刻t=T的后向概率

则利用这个递推关系和,就可以从后往前分别求出


七、后向概率求解

同前向概率一样,回归Evaluation问题,很自然的引入隐变量,经过简单的化简得:

Evaluation问题计算

以上就是利用后向概率的定义和递推关系,逐步向后递推,最终计算出,即Backward算法,显然,其时间复杂度依然已经降低至


八、Backward算法流程

输入:模型参数,观测序列

输出:概率值

Step1:初始值赋值

Backward算法step1

Step2:递推计算

Backward算法step2

Step3:计算

Backward算法step3

九、案例演示

最后我们使用李航老师——《统计学方法》中的例子:

例:考虑盒子和球模型,状态集合,观测集合

,,

设观测序列长度,观测序列为:,求:

根据Forward算法理论,我们可以很方便的使用Python语言编程实现求解Evaluation问题

Forward算法

Forward算法计算出的

Forward算法

同理,Backward算法也很容易实现

Backward算法

Backward算法计算出的

Backward算法

十、Evaluation问题总结

(1)Forward和Backward两个算法利用HMM的两个假设:齐次Markov假设和观测独立假设,可以非常有效的简化概率推导

(2)利用Forward和Backward算法可将Evaluation问题的时间复杂度由,降低至

(3)利用前向概率和后向概率的定义,对HMM后续的Learning问题的推导有着极大的帮助

案例代码参加:HMM数学推导—Evaluation问题

你可能感兴趣的:(HMM数学推导—Evaluation问题)