![v2-78888afa1a7f4eae6c915788c3b7b52a_1440w.jpg?source=172ae18b](http://img-01.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-78888afa1a7f4eae6c915788c3b7b52a_1440w.jpg?source=172ae18b)
ZEM Algorithm
EM(Expectation maximization)算法,也即期望最大化算法,作为“隐变量”(属性变量不可知)估计的利器在自然语言处理(如HMM中的Baum-Welch算法)、高斯混合聚类、心理学、定量遗传学等含有隐变量的概率模型参数极大似然估计中有着十分广泛的应用。EM算法于1977年由Arthur Dempster, Nan Laird和Donald Rubin总结提出,其主要通过E步(exceptation),M步(maximization)反复迭代直至似然函数收敛至局部最优解。由于其方法简洁、操作有效,EM算法曾入选“数据挖掘十大算法”,可谓是机器学习经典算法之一。
Introduction
EM算法推导一
对于概率模型,当模型中的变量均为观测变量时,我们可以直接使用给定数据通过最大似然估计(频率学派)或贝叶斯估计(贝叶斯学派)这两种方法求解。然而当我们的模型中存在隐变量时,我们将无法使用最大似然估计直接求解,这时即导出EM算法。
假设一个概率模型中同时存在隐变量
式(1)中我们假设直接优化
这里我们根据Jensen(琴生)不等式:
同时由于
因此有:
因此,
由于在上一轮迭代中
因此在EM算法的每一迭代中,我们均需求解使得
EM算法推导二
这里我们采用变分的方法,假设隐变量服从任一分布为
记(1)为
由于
式(9)中
对于观测变量数据
- Step1. 参数初始化
,开始迭代。
- Step2. E步:记
为第
次迭代的参数
的估计值,则在第
次迭代的E步中,有:
上式中,
- Step3. M步:计算使
取得极大值的
,确定第
次迭代的参数估计值
,有:
- Step4. 迭代Step2,Step3直至收敛。其收敛条件一般为给定较小的正数
,若满足:
由于目标函数为非凸函数,因此EM算法并不能保证收敛至全局最小值,即EM算法的求解结果与初值的选择有较大关系,该算法对初值敏感。
上述推导过程可由下图表示:
![v2-46faded4678144be4c5895301dd34fb3_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-46faded4678144be4c5895301dd34fb3_b.jpg)
图1即对应式(8),可以看出
![v2-eb51ff165cc5b0083c5c1b0594ce604b_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-eb51ff165cc5b0083c5c1b0594ce604b_b.jpg)
在M步中我们总期望最大化
![v2-d9420aef7424a1c6fb6d6f0db5bec011_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-d9420aef7424a1c6fb6d6f0db5bec011_b.jpg)
从图3中可以明显看出在
![v2-f4c8b6d39ce3ecd07bec886932d433db_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-f4c8b6d39ce3ecd07bec886932d433db_b.jpg)
从图4中我们也能明显看出,通过
由上文讨论我们已经知道,通过EM反复迭代,其对数似然的下界将不断提高,然而我们却还是要问对于这种启发式的方法,即下界不断增大的这种方法,其等价于求解对数似然的最大值吗?或者说通过不断优化下界,算法就一定会收敛到似然函数的最大值吗?我们对此能否给出理论证明呢?
EM算法收敛性的理论证明
这里我们分别给出两种方法的理论证明。
收敛性证明方法一
这里主要利用变分的思想,参照式(7)有:
由于
故对于每一次的迭代均能保证
收敛性证明方法二
这里我们使用Jensen不等式进行证明,即对于凸函数
同样跟据第
故算法最终能够收敛至局部极小值点。
![v2-de535b789883a03758ecfff16ca6ce57_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-de535b789883a03758ecfff16ca6ce57_b.jpg)
GMM
与K-Means聚类不同,高斯混合聚类采用概率模型来刻画每个样本的簇类,即为一种“软划分”方法。这里我们首先回忆多元高斯模型。
对于
其中
![v2-bbfec25eb0369295eb6d1e00c8ca766a_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-bbfec25eb0369295eb6d1e00c8ca766a_b.jpg)
这里假设存在
观察式(15)发现函数
这里首先我们令
这里我们记
同理我们令
其中
最后我们考虑混合系数即变量
式(19)对
上式两边同时乘以
这里我们将
这里需要注意的是由于
- Step1. 初始化参数并计算对数似然;
- Step2. E步:依据当前模型参数,计算观测数据
属于簇
的概率(从属度):
- Step3. M步:基于当前参数最大化对数似然函数,即重新求解新一轮迭代参数(第
轮):
- Step4. 反复迭代直至收敛。
至此我们已经给出了EM算法求解GMM模型的具体方法。对比GMM与K-Means方法,我们可已看出由于概率的引入使得点到簇的从属关系为软分配,故其可以被用于非球形簇。
![v2-31084e8d42a1729c7e4d4615ed6e6613_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-31084e8d42a1729c7e4d4615ed6e6613_b.jpg)
![v2-3b25e08ac7b6d5adb70f9242b2cf1396_b.gif](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-3b25e08ac7b6d5adb70f9242b2cf1396_b.gif)
上图即为GMM算法的聚类过程。EM算法求解结果为局部最优解,其在隐变量的估计中应用广泛。
![v2-3adc8b0774ad4e1c758f9796b53e1742_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bce8c815-1230-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-3adc8b0774ad4e1c758f9796b53e1742_b.jpg)
由上图可以明显看出GMM相较于K-Means聚类有更佳的效果。
Variants
由于EM算法是只能收敛至局部极小值点,其对初值敏感。为克服这一缺陷,各种各样的启发式搜索算法如模拟退火法(其能较好的收敛至全局最优解)、随机重复爬山法等,通过多次随机的参数初始化或一定概率拒绝当前解从而使算法收敛至全局最优。此外卡尔曼滤波的思想同EM算法结合从而发展了Filtering and smoothing EM algorithms,以解决联合状态参数估计问题。共轭梯度与拟牛顿法也在EM中得到了应用。参数扩展期望最大化算法(PX-EM,parameter-expanded expectation maximization)通过协方差的调整引入额外的信息来修正M步中参数的估计以加速算法收敛。
Reference
[1] Dempster A P. Maximum likelihood estimation from incomplete data via the EM algorithm (with discussion[J]. Journal of the Royal Statistical Society, 1977, 39(1):1-38.(http://web.mit.edu/6.435/www/Dempster77.pdf)
[2] Jensen's inequality - Wikipedia
[3] Bishop C M, 박원석. Pattern Recognition and Machine Learning, 2006[M]. Academic Press, 2006.](http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf)
[4] Expectation–maximization algorithm - Wikipedia