隐马尔科夫模型(三)
上两篇文章我们了解了隐马尔可夫模型的基本工作原理和暴力求解观测概率问题。
这篇文章咱们就推导一下常用的前向传播和后项传播、EM算法等原理



由上一篇文章我们知道,暴力求解的思路是:非独立性求解!就是全部一起去求解,比如观测值为:A、A、B、C,那么我们就去求解
P(C|AAB)
的概率,这样的结果就是乘积,一直乘积!那么问题来了,它的时间复杂度那么大怎么办?于是前向传播算法就来了,前向求解的思路是:独立性求解!就是一个一个求解然后叠加。比如观测值为:A、A、B、C,那么我们就去求解
P(A)+P(A|A)+P(B|A)+P(C|B)
,这样的结果就是乘积之后叠加,时间复杂度一下子降了下来。它的思路就是:递归!利用独立性,当前观测为A发生的概率为p,那么下一个发生的C的概率就为:
p*A*B
. 就是下一个值利用上一个推导出来,由于是独立性所以和上上一次无关。<u>其实从结果来看是有关系的,不过这个计算被递归隐藏了</u> 。








这里最主要是理解后项算法的含义,下面给一个图做解释,具体推导你看图明了。
这里再说明一下为什么T时刻的概率为1 ??其实从定义我们就看出来了,当时间为T的时候,它求解的是T+1时刻的后项概率,这个时候无论你怎么抽奖都于T无关,所以就是1.
再废话说一下t=1的时候的概率问题,这个时候从定义我们知道求解的是t+1的概率。。。。这里你自己去计算吧,就是前向公式。(在图书馆没草稿纸,不方便手写~~)


这里再求解单个目标的情况下,因为存在独立情况,所以就可以直接相乘。



这里实际是利用独立性求解隐藏层的概率问题,我们想要的是非独立性,所以这个还是没达到我们需求。






在我的博客园已经说明过大数定律,这里简单说一下,就是当一个数无限大的时候他就趋于一个特定的规律。
比如抛硬币无限大就是等于0.5.
比如人群无限大的分布就是高斯正太分布.
.......再比如这次伯努利大数定律说的频率无限大的时候就等于概率.
我们不用管他是怎么来的,记住结论就可以了。
监督学习就是给定Label,去学习中间参数。这样我们就可以用Label的频率=概率,那么应马尔科夫模型很简单就简历了。