RNN的开端!最详细推导HMM模型之:EM算法

详细推导HMM模型+直观例子+项目应用(三):EM算法进行参数估计

  • HMM模型介绍
  • HMM参数估计
    • 两种使用情景
  • 需要EM的情景
  • EM算法求解HMM中的参数
    • 回顾前向和后向算法
    • A、B、 π \pi π的估计方法

HMM模型介绍

本文将帮您深入浅出的彻底理解HMM模型架构和其中用于参数估计的EM算法,全文阅读大约需要10分钟,如果您希望亲自手推公式,则总耗时约20分钟。

EM算法可谓动态规划里的明珠。

本文为HMM系列的第三篇,第一篇请见
RNN的开端!最详细推导HMM模型+例子(一):维特比算法和模型建立
第二篇请见
RNN的开端!最详细推导HMM模型+例子(二):forward算法backward算法
如果你觉得这几篇文章有用,请不吝赐赞呀

本文为贪心学院课程的学习笔记,讲师为李文哲博士。

HMM参数估计

在第一篇文章中,我们介绍了如何通过complete case,即已知所有参数的情况下,求解维特比算法,从而获得隐藏状态z的序列。
现在我们将介绍,如何通过incomplete case转换成complete case,算法即是forward算法和backward算法,分别简称为F算法和B算法。

两种使用情景

通过第二篇文章的前向与后向算法,现在我们知道了 P ( z k ∣ x ) P(z_{k}|x) P(zkx),接下来通过EM估计参数。

应用场景

  • complete case:(x,z)已知
  • incomplete case:只知道x,这个时候要EM,迭代式算法,如KMM,K-means,都属于EM算法

先看完全形式下:
RNN的开端!最详细推导HMM模型之:EM算法_第1张图片
从上图可知,统计方法即可计算π(初始),A(1,2,3之间的转化),B(1,2,3生成A,B,C)的概率.

需要EM的情景

incomplete case需要EM算法递归估计,寻找θ
RNN的开端!最详细推导HMM模型之:EM算法_第2张图片
寻找参数,可以转化成求下式的argmax:
在这里插入图片描述
分为两步:
RNN的开端!最详细推导HMM模型之:EM算法_第3张图片
在M-step时已经是complete sase,不断循环E-step和M-step,直到收敛。

当然,在求期望的时候,z可能会成为非整数。

EM算法求解HMM中的参数

回顾前向和后向算法

先回顾一下FB算法们的作用,供EM算法使用:(详细信息在RNN的开端!最详细推导HMM模型+例子(二):forward算法backward算法)
RNN的开端!最详细推导HMM模型之:EM算法_第4张图片

A、B、 π \pi π的估计方法

估计起始的π:
RNN的开端!最详细推导HMM模型之:EM算法_第5张图片
就通过 P ( z 1 = i ∣ x ) P(z1=i|x) P(z1=ix)来计算,加起来求得期望值,如下图
RNN的开端!最详细推导HMM模型之:EM算法_第6张图片
转化成概率形式:
RNN的开端!最详细推导HMM模型之:EM算法_第7张图片
(此处笔者认为老师算错,应该除以3吧)

接下来估计B矩阵:在已观测到AB的情况下,估计灰色圈
RNN的开端!最详细推导HMM模型之:EM算法_第8张图片
同理,通过FB算法,再计算期望值
RNN的开端!最详细推导HMM模型之:EM算法_第9张图片
通过FB算法的P(zk|x)可以获得灰色节点的概率向量
RNN的开端!最详细推导HMM模型之:EM算法_第10张图片
统计即可得到状态对应观测的概率
RNN的开端!最详细推导HMM模型之:EM算法_第11张图片

为了符合概率定义,需要除以行的和
RNN的开端!最详细推导HMM模型之:EM算法_第12张图片
同理即可获得A矩阵。

至此,整个HMM模型参数全部获得

你可能感兴趣的:(经典机器学习模型,算法,机器学习,动态规划,概率论,图论)