机器学习笔记(十七)——EM算法的推导

来源:互联网 发布:图形图像处理的软件 编辑:程序博客网 时间:2024/06/06 19:51

一、Jensen 不等式

    在EM算法的推导过程中,用到了数学上的Jensen不等式,这里先来介绍一下。
若Ω是有限集合{x1,x2,,xn},而μ是Ω上的正规计数测度,则不等式的一般形式可以简单地用和式表示:

φ(i=1ng(xi)λi)i=1nφ(g(xi))λi171

  其中λ1+λ2++λn=1,λi0

  若φ是凹函数,只需把不等式符号调转。主要参考文献【1】
  

二、EM算法推导

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

L(θ)=logP(Y;θ)=logzP(Y,Z;θ)=logzP(Y|Z;θ)P(Z;θ)

    事实上,EM算法是通过迭代逐步极大化L(θ)的。假设在第i次迭代后θ的估计值是θ(i)。我们希望新的估计值θ能使L(θ)增加,即L(θ)>L(θ(i)),并逐步达到极大值。为此考虑两者的差:
L(θ)L(θ(i))=log(zP(Y|Z;θ)P(Z;θ))logP(Y;θ(i))=log(zP(Y|Z;θ(i))P(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i)))logP(Y;θ(i))zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))logP(Y;θ(i))=zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i))

上式利用了Jensen不等式,在17-1式中, 令 φlogP(Y;θ(i))λi,则可得上述推导。注意log为凹函数,不等号要改变方向


B(θ,θ(i))=L(θ(i))+zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i))172

则:
L(θ)B(θ,θ(i))

那么,B(θ,θ(i))L(θ)的一个下界,由17-2知道:
L(θ(i))=B(θ(i),θ(i))

因此,任何可以使B(θ,θ(i))增大的θ,都可使L(θ)增大,选择θ(i+1)使B(θ,θ(i))达到极大,即:
θ(i+1)=argmaxθB(θ,θ(i))

现在求θ(i+1) 的表达式,省去对于θ而言都是常数的项:
θ(i+1)=argmaxθ(L(θ(i))+zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i)))=argmaxθ(zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ))=argmaxθ(zP(Y|Z;θ(i))logP(Y,Z;θ))=argmaxθQ(θ,θ(i))

EM算法并不能保证全局最优值,直观解释如图所示。
这里写图片描述

参考文献

http://wiki.mbalib.com/wiki/%E8%A9%B9%E6%A3%AE%E4%B8%8D%E7%AD%89%E5%BC%8F

0 0