一、Jensen 不等式
在EM算法的推导过程中,用到了数学上的Jensen不等式,这里先来介绍一下。
若Ω是有限集合{x1,x2,…,xn}{x1,x2,…,xn},而μ是Ω上的正规计数测度,则不等式的一般形式可以简单地用和式表示:
φ(∑i=1ng(xi)λi)≤∑i=1nφ(g(xi))λi,(17−1)(1)(1)φ(∑i=1ng(xi)λi)≤∑i=1nφ(g(xi))λi,(17−1)
其中 λ1+λ2+⋯+λn=1,λi≥0λ1+λ2+⋯+λn=1,λi≥0。
若φ是凹函数,只需把不等式符号调转。主要参考文献【1】
二、EM算法推导
面对一个含有隐含变量的概率模型,目标是极大化观测数据YY关于参数的对数似然函数,即极大化:
L(θ)=logP(Y;θ)=log∑zP(Y,Z;θ)=log∑zP(Y|Z;θ)P(Z;θ)(184)(184)L(θ)=logP(Y;θ)=log∑zP(Y,Z;θ)=log∑zP(Y|Z;θ)P(Z;θ)
事实上,EM算法是通过迭代逐步极大化 L(θ)L(θ)的。假设在第 ii次迭代后 θθ的估计值是 θ(i)θ(i)。我们希望新的估计值 θθ能使 L(θ)L(θ)增加,即 L(θ)>L(θ(i))L(θ)>L(θ(i)),并逐步达到极大值。为此考虑两者的差:
L(θ)−L(θ(i))=log(∑zP(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))−logP(Y;θ(i))=∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))P(Y;θ(i))(185)(185)L(θ)−L(θ(i))=log(∑zP(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))−logP(Y;θ(i))=∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))P(Y;θ(i))
上式利用了Jensen不等式,在17-1式中, 令 φφ 为 loglog, 且∑zP(Z|Y;θ(i))=1∑zP(Z|Y;θ(i))=1,则可得上述推导。注意loglog为凹函数,不等号要改变方向。
令
B(θ,θ(i))=L(θ(i))+∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i)),(17−2)(186)(186)B(θ,θ(i))=L(θ(i))+∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i)),(17−2)
则:
L(θ)≥B(θ,θ(i))(187)(187)L(θ)≥B(θ,θ(i))
那么, B(θ,θ(i))B(θ,θ(i))是 L(θ)L(θ)的一个下界,由17-2知道:
L(θ(i))=B(θ(i),θ(i))(188)(188)L(θ(i))=B(θ(i),θ(i))
因此,任何可以使 B(θ,θ(i))B(θ,θ(i))增大的 θθ,都可使 L(θ)L(θ)增大,选择 θ(i+1)θ(i+1)使 B(θ,θ(i))B(θ,θ(i))达到极大,即:
θ(i+1)=argmaxθB(θ,θ(i))(189)(189)θ(i+1)=argmaxθB(θ,θ(i))
现在求 θ(i+1)θ(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))(190)(190)θ(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