EM算法的深入理解

在现实应用中,我们往往会遇到“不完整”的训练样本,如某些样本的属性值未知(未观测),而这些未知的属性值统称为隐变量。由于EM算法在这些未观测属性的情形下仍能对模型参数进行估计,所以其应用及其广泛,比如高斯混合模型,隐马尔可夫模型的非监督学习。本文将从不同角度理解并解释EM算法,最后通过手写数字图像的非监督聚类对EM算法进行进一步解释。

1. EM算法的理解

假设 X 为观测变量,Z表示未观测变量, θ 为模型参数。在概率模型中,我们常常根据最大似然估计方法进行参数的估计,即极大化观测数据关于参数的对数似然函数:

logP(X|θ)=logZP(X,Z|θ)

注意到上式包含隐变量以及和的对数,而无法有效求解。而EM算法这一利器正是避开了上式的求解,而是通过Jensen不等式( logjλjyjjλjlogyj ,其中 λj0 ,且 jλj=1 )找到其下界(lower bound),通过不断求解下界的极大化来逼近求解对数似然函数极大化。为了使用Jensen不等式,我们必须把对数似然函数构造成类似的式子如下:
logZP(X,Z|θ)=logZq(Z)P(X,Z|θ)q(Z)

其中上式中 q(Z) 为概率分布,很显然满足Jensen不等式的条件,因此我们进一步得到
logZP(X,Z|θ)=logZq(Z)P(X,Z|θ)q(Z)Zq(Z)logP(X,Z|θ)q(Z)

那么对数似然函数的下界是 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算法:在现实中,我们很难得到完全数据{X,Z},但是我们能根据已有知识能得到隐变量 Z 的后验概率分布P(Z|X,θ)。虽然我们不能建立完全数据的对数似然函数,但是可以考虑隐变量在其后验分布下的期望值,这样有了隐变量的期望值,则可以构建完全数据的对数似然函数。进一步,参数的优化目标为

maxθEp(Z|X,θold)[logp(X,Z|θ)]=maxθZp(Z|X,θold)logp(X,Z|θ)

我们首先利用当前参数 θold 来得到隐变量的后验分布,在根据完全数据的对数似然函数在后验分布下的期望下更新 θ

如果我们对对数似然函数的Jensen不等式进行进一步的分析,我们会发现如下等式成立:

logp(X|θ)=L(q,θ)+KL(q||p)

其中
L(q,θ)=Zq(Z)logp(X,Z|θ)q(Z)KL(q||p)=Zq(Z)logp(Z|X,θ)q(Z)

L(q,θ) 为下界,包含 X Z的联合概率分布;而 KL(q||p) 包含 Z 的条件分布。Kullback-Leibler divergene 具有非负性,KL(q||p)0,且只有当 q(Z)=p(Z|X,θ) 时,等号成立。则此时下界 L(q,θ) 等于不完全数据的对数似然函数。

2. 优化最大后验概率

EM算法不仅能优化求解不完全数据的对数似然函数,还能优化求解在不完全数据下参数的后验概率。一般,根据参数的最大后验概率估计属于频率学派,往往需要事先给定参数的先验分布 p(θ) 。待优化的目标函数为最大化后验概率的对数:

logp(θ|X)=logp(X|θ)+logp(θ)logp(X)

根据前面的Jensen不等式,我们能得到 logp(X|θ) 的下界 L(q,θ) ,则
logp(θ|X)L(q,θ)+logp(θ)logp(X)

其中 logp(X) 为常数项。上式的优化又可交替的优化 q θ。与标准的最大似然对比,紧紧只增加了参数的先验项。

3. 手写数字图像的建模

下面通过一个手写数字图像的非监督分类来加深对EM算法的理解。假设手写数字图像中笔画所占像素点取值为1,而其它像素点取值为0。那么,整个图像向量(将像素点矩阵取值拉成一列向量) x 为一个服从伯努力分布的多元随机变量。假设给定无标签数据集 X={xn}Nn=1 ,其中 xnRD ,现在我们的任务是对其进行分类。

由于给定的数据集中有0~9等10个类别,因此我们引入混合的伯努力分布对数据集进行模型建立,这里我们取 K=10 个伯努力分布。那么观测数据集 X 的对数似然函数为

logp(X|u,π)=n=1Nlog{k=1Kπkp(xn|uk)}

同样,由于和对数的存在,使得最大似然解没有闭合表达式。因此我们采用EM算法进行求解。针对每一个数据 xn ,我们引入显示的隐变量 zn ,且 znRK ,其中 zn 中尤且只有一个元素对应为1,其它为0,即表示对应数据 xn 所属类别。根据EM算法,我们构造完全数据 {X,Z} 的对数形式:

logp(X,Z|u,π)=nNlogp(xn,zn|u,π)=nNlogp(xn|zn,u)p(zn|π)

其中
p(xn|zn,u)=kp(xn|uk)znkp(xn|uk)=iDuxniki(1uki)(1xni)p(zn|π)=kπznkk

其中,值得注意的是 xn 中属性值之间在类别确定的情况下假设相互独立,也即没有考虑像素点之间的邻域相关性。接下来,我们构造完全数据的对数形式的期望
EZ[logp(X,Z|u,π)]=nNkKE[znk]{logπk+iD[xniloguki+(1xni)log(1uki)]}

最后我们通过EM算法的步骤即可对参数 {uk,πk}Kk=1 的估计。这里值得指出的是 E[znk] 的计算,由于 znk 为一个二值(0/1)变量,所以 E[znk]=p(znk=1|xn,u,π) ,那么
p(znk=1|xn,u,π)=p(xn|znk=1,u)p(znk=1|π)znkp(xn|znk=1,u)p(znk=1|π)

注意当 znk=0 时,表示对应数据 xn 不属于 k 类,则属于其他类别。因此上式转化为
p(znk=1|xn,u,π)=p(xn|uk)πkkp(xn|uk)πk

这样有了 E[znk] ,我们就得到了完全数据的对数似然函数,只需要对参数 uk,πk 分别求偏导数,令其等于0,就能得到其闭合解形式。需要注意的是 kπk=1 约束。有了模型的参数,我们就能通过数据对应的隐变量 zn 得到其后验概率,进而判别数据 xn 的类别。

EM算法使用两个步骤交替计算:第一步期望步,利用当前估计参数来计算对数似然的期望值;第二部最大化步,寻找能使第一步产生的似然期望最大化的参数值。通俗的讲,EM算法首先对缺失数据进行估计,再对整个完全数据进行参数估计。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值