从头开始(概率)学 HMM:精讲第五课 -EM 算法
1. Q 函数的推导
问题:假设有一观测变量数据 Y,隐藏变量数据 Z,联合部分,条件分布,已知观测变量数据 Y,求参数,使取得最大值。(如果学过 HMM,这里的 Y 可以理解成观测序列 O;这里的 Z 可以理解成隐藏序列 I,就是参数,问题描述就是 HMM 的学习问题)
面对一个含有隐变量的概率模型,目标是极大化观测数据(不完全数据:不含有隐变量的数据)Y 关于参数的对数似然函数:。就是关于 Y 的概率函数,因此对数极大似然函数就是取对数。
完全数据的对数极大似然函数::称作完全数据(函数隐变量数据)的概率函数,等号后面的式子称作完全数据的对数极大似然函数。
完全数据的对数极大似然函数进一步推导:
回顾梯度下降法,对,求 Y 最大值。某一时刻,如 t=1,我们知道 X 为 3,求使得 Y 最大的 X 取值 。对于时刻 t=1,我们对 X 求偏导为 2,然后可以得到下一时刻的 X 的取值:,可以理解成步长,自定义的常量值。
对于含有隐变量的函数求最大值,思想参考梯度下降,对于时刻 t=0,我们能够得到参数的一个初始值(准确地说,自定义一个的一个初始值,回归和深度学习,权重 W 都是随机初始化,或按照某一分布初始化的)。对于 t=0 时刻,广泛地,对于 t=i 时刻,完全数据的对数极大似然函数记做,注意这里的是已知量,由 t-1 时刻推导过来的。t+1 时刻的对数极大似然函数记做,注意这里的是未知量,是我们要求的参数。
求 t+1 时刻的参数,就是极大化上述
jensen inequality(杰森不等式):
应用杰森不等式,可得到如下推导过程:
令,故。的表达式就有点像梯度下降法中,i+1 时刻的值等于 i 时刻的值+梯度。因此求解使最大的,其实就是求 i+1 时刻的值
任何可以使增大的,也可以使增大,为了使尽可能大的增长,选择使得达到最大,即
现在求的表达式,是已知量,故可以省去与有关的常数量,故
从上式我们可以得到:
令
最大化,等价于最大化
总结:要想求的最大值,可以根据迭代(梯度)的思想,递推的求 i+1 步的值,也就是求,当走到最后一步时,也就求出参数值了。
2. EM 算法的步骤
步骤 1:初始化参数值,但是需要注意 EM 算法对初值是敏感的
步骤 2:E 步:求
步骤 3:M 步:求的极大化,得到,完成一次迭代:
步骤 4:循环步骤 1-3,直到达到终止条件: 或者。
版权声明: 本文为 InfoQ 作者【herosunly】的原创文章。
原文链接:【http://xie.infoq.cn/article/db12eef2f217c5663daaf4c84】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论