在现实应用中,我们往往会遇到“不完整”的训练样本,如某些样本的属性值未知(未观测),而这些未知的属性值统称为隐变量。由于EM算法在这些未观测属性的情形下仍能对模型参数进行估计,所以其应用及其广泛,比如高斯混合模型,隐马尔可夫模型的非监督学习。本文将从不同角度理解并解释EM算法,最后通过手写数字图像的非监督聚类对EM算法进行进一步解释。
1. EM算法的理解
假设X为观测变量,
注意到上式包含隐变量以及和的对数,而无法有效求解。而EM算法这一利器正是避开了上式的求解,而是通过Jensen不等式(log∑jλjyj≥∑jλjlogyj,其中λj≥0,且∑jλj=1)找到其下界(lower bound),通过不断求解下界的极大化来逼近求解对数似然函数极大化。为了使用Jensen不等式,我们必须把对数似然函数构造成类似的式子如下:
其中上式中q(Z)为概率分布,很显然满足Jensen不等式的条件,因此我们进一步得到
那么对数似然函数的下界是L(q,θ)=∑Zq(Z)logP(X,Z|θ)q(Z)。可以看出下界是关于q(Z)和θ的函数,因此EM算法分为两步:
固定θ,得到q(Z)的分布。如果进一步求隐变量Z的期望,则对应EM算法的E-step。这里值得注意的是,
q(Z) 的分布该如何确定。现在我们回顾一下在Jensen不等式当中,只有当y为常数时,等式成立,也即当P(X,Z|θ)q(Z)=C 。通过这个条件,我们能轻易得到q(Z)=p(Z|X,θ)。固定q(Z),优化θ,对应EM算法的M-step。这两个步骤不断重复,直至收敛到局部最优解。
一般来讲,EM算法主要用于含有隐变量的概率模型的学习,针对不完全数据X的最大对数似然函数找到局部最优解。下面从另一个角度解释EM算法:在现实中,我们很难得到完全数据
我们首先利用当前参数θold来得到隐变量的后验分布,在根据完全数据的对数似然函数在后验分布下的期望下更新θ。
如果我们对对数似然函数的Jensen不等式进行进一步的分析,我们会发现如下等式成立:
其中
L(q,θ)为下界,包含X与
2. 优化最大后验概率
EM算法不仅能优化求解不完全数据的对数似然函数,还能优化求解在不完全数据下参数的后验概率。一般,根据参数的最大后验概率估计属于频率学派,往往需要事先给定参数的先验分布p(θ)。待优化的目标函数为最大化后验概率的对数:
根据前面的Jensen不等式,我们能得到logp(X|θ)的下界L(q,θ),则
其中logp(X)为常数项。上式的优化又可交替的优化q和
3. 手写数字图像的建模
下面通过一个手写数字图像的非监督分类来加深对EM算法的理解。假设手写数字图像中笔画所占像素点取值为1,而其它像素点取值为0。那么,整个图像向量(将像素点矩阵取值拉成一列向量)x为一个服从伯努力分布的多元随机变量。假设给定无标签数据集X={xn}Nn=1,其中xn∈RD,现在我们的任务是对其进行分类。
由于给定的数据集中有0~9等10个类别,因此我们引入混合的伯努力分布对数据集进行模型建立,这里我们取K=10个伯努力分布。那么观测数据集X的对数似然函数为
同样,由于和对数的存在,使得最大似然解没有闭合表达式。因此我们采用EM算法进行求解。针对每一个数据xn,我们引入显示的隐变量zn,且zn∈RK,其中zn中尤且只有一个元素对应为1,其它为0,即表示对应数据xn所属类别。根据EM算法,我们构造完全数据{X,Z}的对数形式:
其中
其中,值得注意的是xn中属性值之间在类别确定的情况下假设相互独立,也即没有考虑像素点之间的邻域相关性。接下来,我们构造完全数据的对数形式的期望
最后我们通过EM算法的步骤即可对参数{uk,πk}Kk=1的估计。这里值得指出的是E[znk]的计算,由于znk为一个二值(0/1)变量,所以E[znk]=p(znk=1|xn,u,π),那么
注意当znk=0时,表示对应数据xn不属于k类,则属于其他类别。因此上式转化为
这样有了E[znk],我们就得到了完全数据的对数似然函数,只需要对参数uk,πk分别求偏导数,令其等于0,就能得到其闭合解形式。需要注意的是∑kπk=1约束。有了模型的参数,我们就能通过数据对应的隐变量zn得到其后验概率,进而判别数据xn的类别。
EM算法使用两个步骤交替计算:第一步期望步,利用当前估计参数来计算对数似然的期望值;第二部最大化步,寻找能使第一步产生的似然期望最大化的参数值。通俗的讲,EM算法首先对缺失数据进行估计,再对整个完全数据进行参数估计。