期望最大化算法(The EM algorithm)

在上一章中,我们为了解决拟合混合高斯模型的拟合问题已经接触了EM算法。这一章里,我们会进一步扩展EM算法的应用,你会发现它可以用于解决一大类包含隐参数的估计问题。让我们从Jensen不等式开始我们的讨论。

1 Jensen 不等式

f 是一个定义域为实数的函数,回忆前面的内容,当f′′(x)0是函数 f 就是一个凸函数(下凸)。而当f的输入是一个向量时,当它的海森矩阵是一个半正定矩阵时,我们可以说函数 f 是一个严格凸函数。Jensen不等式的表述如下:

定理.f是一个凸函数, X 是一个随机变量。那么:

E[f(X)]f(EX).

不仅如此,若 f 为严格凸时,那么E[f(X)]=f(EX)当且仅当 X=E[X] 的概率为1时发生。关于定理的阐述我们可以看看下面这张图片:

这里写图片描述

图中凸函数f是实线绘制的曲线,随机变量 X 有50%的概率是a,50%的概率是b,所以X的期望是a,b的中点。从这个例子可以看到,只要 f 是凸函数,必有E[f(X)]f(EX)


2 EM算法

设某估计问题中有m个独立的样本 {x(1),,x(m)} 。我们希望使模型 p(x,z) 的参数和数据拟合,则对数似然函数写成如下形式:

(θ)=i=1mlog p(x;θ)=i=1mlogzp(x,z;θ).

由于无法直接求解参数 θ 的极大似然估计,引入隐参数 z(i) ,如果假设隐参数的值已知,那么求解极大似然估计就会变得很容易。

这时求最大似然估计,EM算法是一个行之有效的方法。直接最大化 (θ) 很困难,但我们的策略是先构造 的下界(E步骤),再最优化其下界(M步骤)。过程如下图所示
这里写图片描述

对每一个 i ,设z服从 Qi 分布( zQi(z)=1,Qi(z)0 ),则下式成立:

ilogp(x(i);θ)=ilogz(i)p(x(i),z(i);θ)=ilogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))=ilog Ez(i)Qi[p(x(i),z(i);θ)Qi(z(i))]iEz(i)Qi [logp(x(i),z(i);θ)Qi(z(i))]iz(i)Qi(z(i)) logp(x(i),z(i);θ)Qi(z(i))(1)(2)(3)

因为 f′′(x)=1/x2<0 f(x)=log x 是一个凹函数。第四步可以根据Jensen不等式求得。

对于任意的分布 Qi ,方程(3)给出了对数似然函数 (θ) 的下界。这时 Qi 分布有很多可能的选择,我们应该如何决定呢?如果我们现在有关于参数 θ 的假设值,那么很自然下界的选择要和 θ 相关。
要使下界的选择与 θ 相关,我们需要推导中使用Jensen不等式的地方变为相等。为此期望值需要是一个常数变量。则有:

p(x(i),z(i);θ)Qi(z(i))=c

为使常数c不依赖 z(i) 的取值。我们需要 Qi(z(i)) p(x(i),z(i);θ) 成比例。

实际上因为 zQi(z(i))=1 ,这进一步告诉我们:

Qi(z(i))=p(x(i),z(i);θ)zp(x(i),z(i);θ)=p(x(i),z(i);θ)p(x(i);θ)=p(z(i)|x(i);θ)

我们令 Qi 为给定 x(i) 与参数 θ 关于 z(i) 的后验概率。

通过选择 Qi ,我们求对数似然函数的最大下界,这是E阶段。通过改变参数 θ ,我们求方程(3)中的最大值。重复执行一上两个步骤就是EM算法:

循环至收敛 {

(E步骤)对每个i,令:

Qi(z(i))=p(z(i)|x(i);θ).

(M步骤) 令:
θ:=arg maxθiz(i)Qi(z(i)) logp(x(i),z(i);θ)Qi(z(i))

}
EM算法是一个一致收敛的算法。我们在算法描述时说循环至收敛。实际情况下判断收敛的方式一般为,当对数函数的增长小于某一设定值时,我们认为EM算法继续改善的能力已经很小了,即认为其收敛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值