(斯坦福机器学习课程笔记)EM算法

=========================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,x3xm} ,我们建立一个参数为 θ 的模型,参数可以有很多个。该模型含有隐变量 z ,要求隐变量分布函数ki=1Q(zi)=1,不同的 z ,对应不同的模型参数θi值。则此时可用EM算法估算出 z θ的值,算法推导如下:

对似然函数 L(θ)=mi=1P(xi;θ) 取对数,并引入隐变量得:

i=1mlogj=1kP(xi,zji;θ)

因为 ki=1Q(zi)=1 ,上式等于
i=1mlogj=1kQi(zji)P(xi,zji;θ)Qi(zji)

根据期望值的定义,上式等于
i=1mlogE[P(xi,zji;θ)Qi(zji)]

因为当底大于1时, log 是凸函数(底一般取 e ),根据JENSEN不等式,logE[x]E[log(x)],因此上式大于等于
i=1mE[logP(xi,zji;θ)Qi(zji)]

根据期望值的定义,上式等于
i=1mj=1kQi(zji)logP(xi,zji;θ)Qi(zji)

上式为似然函数 L(θ) 的下界。根据JENSEN不等式,当 E[x]=x 时,取等号,即上式取到最大值。该条件要求x为常数,即
P(xi,zji;θ)Qi(zji)=C

根据 ki=1Q(zi)=1 ,可得到
i=1kQ(zi)P(xi,zji;θ)Qi(zji)=C


i=1kP(xi,zji;θ)=C

此时
Qi(Zji)=P(xi,zji;θ)C=P(xi,zji;θ)ki=1P(xi,zji;θ)=P(xi,zji;θ)P(xi;θ)=P(zji | xi;θ)

上式说明,当 Qi(Zji)=P(zji | xi;θ) 时,下界是最紧致的,此时
L(θ)=i=1mj=1kQi(zji)logP(xi,zji;θ)Qi(zji)

接下来,只需调整 θ ,使得似然函数最大即可。
以下是EM算法的迭代步骤:
E步骤:
对于每一个样本,调整 Qi(zji) ,使其等于 P(zji | xi;θ)
M步骤:
调整模型参数 θ ,使其等于 argmaxθmi=1kj=1Qi(zji)logP(xi,zji;θ)Qi(zji)

===========================EM算法可以收敛的证明====================
可以将EM算法看成对 L(θ) 使用Q和 θ 的坐标上升方法优化。直接优化目标函数是行不通的,因此通过JENSEN不等式,找到目标函数的下界函数,E步骤调整Q,使得下界函数等于被目标函数,M步骤是调整参数 θ ,使得下界函数最优化。通过E,M两个步骤的反复迭代,达到优化目标。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值