=========================JENSEN不等式========================
若
f(x)
是凸函数,即
f″(x)=0
,则
f(E[x])≥E[f(x)]
,当
E[x]=x
时,取等号。若
f(x)
是凹函数,不等号反向。
该不等式有直观的几何理解,引用网上的图(http://wiki.mbalib.com/wiki/%E8%A9%B9%E6%A3%AE%E4%B8%8D%E7%AD%89%E5%BC%8F)
可以看到,对于上图的凹函数,在
[x,y]
区间,
E[f(x)]
的值在红色的线上,
f(E(X))
的值在凹函数所在的绿色线上,
f(E(X))≤E[f(x)]
。
说明:关于JENSEN不等式,网上很多博客等资料里把不等号方向弄反了,请仔细辨别
=========================EM算法的一般形式=======================
对于一些无标签的样本
{x1,x2,x3…xm}
,我们建立一个参数为
θ
的模型,参数可以有很多个。该模型含有隐变量
z
,要求隐变量分布函数
对似然函数
L(θ)=∏mi=1P(xi;θ)
取对数,并引入隐变量得:
因为 ∑ki=1Q(zi)=1 ,上式等于
根据期望值的定义,上式等于
因为当底大于1时, log 是凸函数(底一般取 e ),根据JENSEN不等式,
根据期望值的定义,上式等于
上式为似然函数 L(θ) 的下界。根据JENSEN不等式,当 E[x]=x 时,取等号,即上式取到最大值。该条件要求x为常数,即
根据 ∑ki=1Q(zi)=1 ,可得到
即
此时
上式说明,当 Qi(Zji)=P(zji | xi;θ) 时,下界是最紧致的,此时
接下来,只需调整 θ ,使得似然函数最大即可。
以下是EM算法的迭代步骤:
E步骤:
对于每一个样本,调整 Qi(zji) ,使其等于 P(zji | xi;θ)
M步骤:
调整模型参数 θ ,使其等于 argmaxθ∑mi=1∑kj=1Qi(zji)logP(xi,zji;θ)Qi(zji)
===========================EM算法可以收敛的证明====================
可以将EM算法看成对
L(θ)
使用Q和
θ
的坐标上升方法优化。直接优化目标函数是行不通的,因此通过JENSEN不等式,找到目标函数的下界函数,E步骤调整Q,使得下界函数等于被目标函数,M步骤是调整参数
θ
,使得下界函数最优化。通过E,M两个步骤的反复迭代,达到优化目标。