《统计学习方法》第9章 EM算法及其推广
EM是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计/极大后验概率估计
基本步骤
- 初始化参数 θ \theta θ
- E步:计算期望,也就是Q函数(完全数据的对数似然函数关于在给定观测数据和当前参数下对隐变量的条件概率分布的期望,其中完全数据=观测数据+隐变量)
- M步:求使Q函数极大化的参数 θ \theta θ
- 重复步骤2和步骤3,直至收敛
EM算法的导出(=Q函数的导出)
EM算法可以看作是不断求解下界的极大化逼近求解对数似然函数极大化的算法
- 面对含隐变量的概率模型,目标是极大化观测数据关于模型参数的对数似然 L ( θ ) L(\theta) L(θ)
- 困难: L ( θ ) L(\theta) L(θ)含有隐变量Z、包含和的对数
- 考虑 L ( θ ) L(\theta) L(θ)和 L ( θ i ) L(\theta^i) L(θi)的差,利用jensen不等式进行缩放
- 令 B ( ( θ , θ i ) B((\theta,\theta^i) B((θ,θi)= L ( θ i ) L(\theta^i) L(θi)+缩放后的差,可推导出令 B ( ( θ , θ i ) B((\theta,\theta^i) B((θ,θi)增大的 θ \theta θ就可令 L ( θ ) L(\theta) L(θ)增大,因此原问题转化为极大化 B ( ( θ , θ i ) B((\theta,\theta^i) B((θ,θi)
- 去除 B ( ( θ , θ i ) B((\theta,\theta^i) B((θ,θi)中的常数项后获得Q函数
关于EM算法对几点说明
- 对初值敏感
- 不能保证找到全局最优解
EM算法的收敛性
- 基于Q函数的单调递增和jensen不等式证明似然函数单调递增
高斯混合模型参数估计的EM算法
- 推导计算完成后的步骤:
- 初始化
- E步:依据当前模型参数,计算分模型k对观测数据y的响应度 γ j k \gamma_{jk} γjk
- M步:根据偏导为0的计算公式,计算新一轮迭代的模型参数
- 重复步骤2和步骤3,直至收敛
EM算法的变形—GEM算法
- EM算法可以解释为F函数的极大(P)-极大(theta)算法
- GEM算法的特点是每次迭代增加F函数值(并不一定是极大化F函数(相当于极大化Q函数),因为有时极大化Q函数比较困难),从而增加似然函数值