EM算法:期望最大化算法

MLE(极大似然估计法)是一种非常有效的参数估计方法,但在概率模型中,有时既含有观测变量 (observable variable), 又含有隐变量(hidden variable)或潜在变量(latent variable),例如:分布中有多余参数或数据为截尾或缺失时,这个时候使用MLE求解是比较困难的。于是Dempster等人于1977年提出了EM算法,其出发点是把求MLE的过程分两步走,第一步是求期望,以便把多余的部分去掉,第二步是求极大值。

我们给定数据和参数:
EMD原理详解 emd方法_EMD原理详解
EMD原理详解 emd方法_统计学_02 也就是隐变量
EMD原理详解 emd方法_统计学_03
EMD原理详解 emd方法_算法_04

EM 算法对这个问题的解决方法是采用迭代的方法,这里直接给出最终的公式
EMD原理详解 emd方法_机器学习_05

后面再说明这个式子是从何得来的。

这个公式包含了迭代的两步:
E step:计算 EMD原理详解 emd方法_机器学习_06 在概率分布 EMD原理详解 emd方法_算法_07 下的期望
M step:计算使这个期望最大化的参数得到下一个 EM 步骤的输入

对于上述算法求解过程,似然函数在每一步迭代的过程中都是在增大的,除非已经达到最大值,证明如下。

求证:EMD原理详解 emd方法_迭代_08

证明:
我们知道
EMD原理详解 emd方法_统计学_09EMD原理详解 emd方法_统计学_10概率下对左右两边求期望:
EMD原理详解 emd方法_统计学_11

EMD原理详解 emd方法_EMD原理详解_12

所以:
EMD原理详解 emd方法_算法_13
由于 EMD原理详解 emd方法_迭代_14
EMD原理详解 emd方法_统计学_15
所以 EMD原理详解 emd方法_迭代_16
这时要证 EMD原理详解 emd方法_迭代_08,只需证:EMD原理详解 emd方法_迭代_18

EMD原理详解 emd方法_统计学_19

EMD原理详解 emd方法_EMD原理详解_20
综上我们得证
EMD原理详解 emd方法_迭代_21

进一步,我们来看EM 迭代过程是如何得来的

EMD原理详解 emd方法_算法_22

在概率分布EMD原理详解 emd方法_迭代_23下, 对上式左右两边求期望EMD原理详解 emd方法_统计学_24

EMD原理详解 emd方法_EMD原理详解_25

其中EMD原理详解 emd方法_统计学_26
EMD原理详解 emd方法_迭代_27 的全称是Evidence lower bound,我们知道EMD原理详解 emd方法_EMD原理详解_28,所以

EMD原理详解 emd方法_算法_29

EMD原理详解 emd方法_算法_30,上式取等号,即:EMD原理详解 emd方法_算法_31,EM 算法的目的是将 ELBO 最大化,根据上面的证明过程,在每一步 EM 后,求得了最大的EMD原理详解 emd方法_迭代_27,并将这个使 $ELBO $最大的参数代入下一次迭代中,这时便有
EMD原理详解 emd方法_EMD原理详解_33

由于 EMD原理详解 emd方法_机器学习_34的时候,最大值才能取等号,所以

EMD原理详解 emd方法_统计学_35
我们就得到了开始给出的EM算法迭代式。

从 Jensen 不等式出发,也可以导出上式:

EMD原理详解 emd方法_统计学_36
右边的式子便是我们上面的 EMD原理详解 emd方法_迭代_27,等号在 $ \frac{p(x,z|\theta)}{q(z)} =C$ 时成立。这里EMD原理详解 emd方法_迭代_38是常数,于是:

EMD原理详解 emd方法_统计学_39
EMD原理详解 emd方法_EMD原理详解_40, 另外我们知道EMD原理详解 emd方法_机器学习_41, 所以
EMD原理详解 emd方法_算法_42

这个结果就是上面的最大值取等号的条件。

参考:
模式识别与机器学习(PRML)
李航的统计学习方法