EM算法expection maximization

来源:互联网 发布:小甲鱼windows sdk 编辑:程序博客网 时间:2024/05/07 21:03

本文是《统计学习方法》李航著学习笔记。
EM算法本身并不是一种能进行预测的机器学习算法,它只能算作“某个整体机器学习预测算法概率模型”建模过程中的一个重要的概率参数估计算法,它的地位等价于“极大似然估计”,只不过它是处理“含有隐变量的”概率模型参数估计算法。

通常,监督学习的训练数据集T={(x1,y1),(x2,y2),,(xN,yN)}xi=(x1i,x2i,,xni)Rn的各维度的数据是全部已知的,但是有些情况会出现无法观测的情况,即某个xji,其中i=1,2,,N,j=1,2,,n无法给出,这时称该维度数据为“隐变量”,相应给定维度的数据称为“观测数据”,隐变量和观测数据组成“完全数据”。存在隐变量时,如何进行先验概率和条件概率的估计?显然不能直接利用极大似然估计,这时利用EM算法就可以估计“先验概率”和“条件概率”,就是所谓的概率模型参数估计。得到先验概率和条件概率后,可以类似朴素贝叶斯算法一样,构建后验概率模型,进行分类问题预测。有关朴素贝叶斯和极大似然估计的内容请参考http://blog.csdn.net/cymy001/article/details/78016109

注:可以将《统计学习方法》书中的符号对应映射作Y,ZXˆθYˆ,则学习先验概率P(Yˆ)=P(θ),学习条件概率P(Xˆ|Yˆ)=P(Y,Z|θ),利用先验概率、条件概率及贝叶斯定理得后验概率P(Yˆ|Xˆ)=P(θ|Y,Z),即对于新给定的预测完全数据Y,Z,求后验概率P(θ|Y,Z)最大的θ对应的分类就是该预测实例点所在类。

下面重点叙述有关EM算法的模型的内容:包括EM算法的导出,EM算法的收敛性,EM算法的F函数解释,高斯混合模型的构建方法。

EM算法的导出

对于含有隐变量的概率模型,优化目标是极大化观测数据Y关于参数θ的对数似然函数

L(θ)=logP(Y|θ)=logZP(Y,Z|θ)=logZ(P(Y|Z,θ)P(Z|θ))

由于上式包含关于未知隐变量P(Z|θ))的求和,所以不能直接求解,利用EM算法迭代求解:找到使L(θ)递增的参数序列θ(i)。下面通过寻找下界函数的方法,寻求L(θ)极大化的弱化条件。
L(θ)L(θ(i))=logZ(P(Y|Z,θ)P(Z|θ))logP(Y|θ(i))=log(ZP(Z|Y,θ(i))P(Y|Z,θ)P(Z|θ)P(Z|Y,θ(i)))logP(Y|θ(i))ZP(Z|Y,θ(i))logP(Y|Z,θ)P(Z|θ)P(Z|Y,θ(i))ZP(Y,Z|θ(i))P(Y|θ(i))logP(Y|θ(i))=ZP(Z|Y,θ(i))logP(Y|Z,θ)P(Z|θ)P(Z|Y,θ(i))P(Y|θ(i))

所以
L(θ)L(θ(i))+ZP(Z|Y,θ(i))logP(Y|Z,θ)P(Z|θ)P(Z|Y,θ(i))P(Y|θ(i))B(θ,θ(i))

所以B(θ,θ(i))L(θ)的一个下界,并且当θ=θ(i)时,L(θ(i))=B(θ(i),θ(i))。也就是,可以使B(θ,θ(i))增大的θ,也可以使L(θ)增大。所以,极大化L(θ)可以转化为极大化B(θ,θ(i))
θ(i+1)=argmaxθB(θ,θ(i))=argmaxθ(L(θ(i))+ZP(Z|Y,θ(i))logP(Y|Z,θ)P(Z|θ)P(Z|Y,θ(i))P(Y|θ(i)))=argmaxθ(L(θ(i))ZP(Z|Y,θ(i))log(P(Z|Y,θ(i))P(Y|θ(i)))+ZP(Z|Y,θ(i))log(P(Y|Z,θ)P(Z|θ)))=argmaxθ(ZP(Z|Y,θ(i))log(P(Y|Z,θ)P(Z|θ)))Q(θ,θ(i))

上式证明中用到了ZP(Z|Y,θ(i))=1,此外,QQ(θ,θ(i))是“完全数据的对数似然函数logP(Y,Z|θ)”对“未观测数据Z的条件概率分布P(Z|Y,θ(i))”的期望。
综上所述,EM算法实现参数θ的更新包括:求Q(θ,θ(i))函数,即期望expectation步;求argmaxθQ(θ,θ(i)),即极大化maximization步。

EM算法的收敛性

Theory:观测数据的似然函数P(Y|θ)关于EM算法得到的参数序列θ(i)是单增的,即P(Y|θ(i+1))P(Y|θ(i))

Proof

logP(Y|θ)=logP(Y,Z|θ)P(Z|Y,θ)=logP(Y,Z|θ)logP(Z|Y,θ)

对上式左右两侧都乘P(Z|Y,θ(i)),再对Z遍历求和得
ZlogP(Y|θ)P(Z|Y,θ(i))=ZlogP(Y,Z|θ)P(Z|Y,θ(i))ZlogP(Z|Y,θ)P(Z|Y,θ(i))

其中
=ZlogP(Y|θ)P(Z|Y,θ(i))=ZP(Z|Y,θ(i))logP(Y|θ)=logP(Y|θ)

=Q(θ,θ(i))ZlogP(Z|Y,θ)P(Z|Y,θ(i))

所以
logP(Y|θ)=Q(θ,θ(i))ZlogP(Z|Y,θ)P(Z|Y,θ(i))

考虑
logP(Y|θ(i+1))logP(Y|θ(i))=Q(θ(i+1),θ(i))Q(θ(i),θ(i))+ZlogP(Z|Y,θ(i+1))P(Z|Y,θ(i))P(Z|Y,θ(i))=Q(θ(i+1),θ(i))Q(θ(i),θ(i))

由序列θ(i)的生成过程知,θ(i+1)是使Q(θ,θ(i))达到极大的点,所以
Q(θ(i+1),θ(i))Q(θ(i),θ(i)),从而得证定理。

注:EM算法对参数初值的选取较敏感,一般选取几个不同的初值进行迭代和最后的估计值比较选取。EM算法得到的参数序列收敛到对数似然函数序列的稳定点,但是不能保证收敛到极大值点。

EM算法的F函数解释

EM算法可以解释为F的极大-极大算法:第一步极大化指,固定参数θ,求隐变量数据Z的概率分布使F极大化;第二步极大化指,固定第一步得到的Z的概率分布,求参数θ使F极大化。这里,F相比于Q,主要是利用求极大化目标函数的转化得到的,F的第一步极大化相当于求Q,第一步极大化相当于求argmaxθQ(θ,θ(i))

DefinationP˜(Z)是隐变量Z的概率分布,分布P˜(Z)的熵为H(P˜)=P˜(Z)logP˜(Z)=EP˜P˜(Z),定义分布P˜与参数θ的函数

F(P˜,θ)=EP˜[logP(Y,Z|θ)]+H(P˜)

F
显然,此时ZP˜(Z)=1,则将约束优化F转化成无约束的Lagrange函数求极大值问题Lf=F(P˜,θ)+λ(1ZP˜(Z))。首先,Lf关于P˜(Z)求偏导数,得到是Lf极大化的P˜θ(Z)=P(Z|Y,θ);再将P˜θ(Z)带回F(P˜,θ)化简得F(P˜,θ)=logP(Y|θ)=Lf(θ)。由P˜θ关于θ的连续性可证,F(P˜,θ)Lf(θ)取到极值具有同步性。

最后,看一下FQ的关系:
由第一步Lf极大化,固定θ(i)求得P˜(i+1)(Z)=P(Z|Y,θ(i)),此时

F(P˜(i+1),θ)=EP˜(i+1)[logP(Y,Z|θ)]+H(P˜(i+1))=ZlogP(Y,Z|θ)P(Z|Y,θ(i))+H(P˜(i+1))=Q(θ,θ(i))+H(P˜(i+1))

显然,H(P˜(i+1))项在极大化θ时是无关项,所以得证。进而,极大化Q可以转化成极大化F,即对应GEM算法的相关内容。

高斯混合模型的构建方法

所谓的“混合模型”就是对单个概率模型做凸组合形成的模型,其中,最常用的是高斯分布概率分布(也叫“正态分布”)凸组合形成的“高斯混合模型”,该模型的数学表达如下

P(y|θ)=k=1Kαkϕ(y|θk)=k=1Kαk12πσkexp((yμk)22σ2k)

上式中αk0,k=1Kαk=1

通常,需要根据给定的观测数据y1,y2,,yN,利用EM算法求“高斯混合模型”P(y|θ)的参数θ=(α1,,αK,μ1,,μK,σ1,,σK)。将yi看成来自“某一个高斯模型”,这是一个隐含的中间过程,所以定义隐变量

γjk={1jyjkϕ(y|θk)0

显然γjk是0-1随机变量,且k=1Kj=1Nγjk=N

对完全数据的(yj,γj1,,γjK)j=1,,N求其对数似然函数logP(y,γ|θ);对数似然函数关于隐变量γjk求期望,得Q(θ,θ(i))函数;再加上限制k=1Kαk=1,利用Lagrange乘子法求参数θ的值。

原创粉丝点击