Machine Learning Series No.6 -- EM algorithm

EM算法

1.直观理解

通俗理解:https://blog.csdn.net/v_JULY_v/article/details/81708386

通俗的理解看出就是EM算法由于不知道隐变量的分布,先给出参数的随机初始值,然后根据参数,去得到隐变量的分布,然后根据隐变量和观测变量的共同分布基于最大似然去重新估计参数,知道参数稳定。

2.数学推导

极大似然估计:

L(θ)=ilogp(xi;θ)=ilog(jp(xi,zj;θ)) L ( θ ) = ∑ i log ⁡ p ( x i ; θ ) = ∑ i log ⁡ ( ∑ j p ( x i , z j ; θ ) )

L(θ)=ilog(jp(xi,zj;θ)Qj(zj)Qj(zj)) L ( θ ) = ∑ i log ⁡ ( ∑ j p ( x i , z j ; θ ) Q j ( z j ) Q j ( z j ) )

=ilog(Ezj Qj(zj)(p(xi,zj;θ)Qj(zj))) = ∑ i log ⁡ ( E z j   Q j ( z j ) ( p ( x i , z j ; θ ) Q j ( z j ) ) )

由于log函数是凹函数,有 f(E(x))E(f(x)) f ( E ( x ) ) ≥ E ( f ( x ) ) ,则上式可化为:

L(θ)ijQj(zj)logp(xi,zj;θ)Qj(zj) L ( θ ) ≥ ∑ i ∑ j Q j ( z j ) log ⁡ p ( x i , z j ; θ ) Q j ( z j )

p(xi,zj;θ)Qj(zj)=c p ( x i , z j ; θ ) Q j ( z j ) = c (常数)时,取等号。

因此以当前点构造的下界为:

p(xi,zj;θ)Qj(zj)=c p ( x i , z j ; θ ) Q j ( z j ) = c

因为 zj z j 的分布为 Qj Q j ,同时他们的概率和应为1。
jQj(zj)=1 ∑ j Q j ( z j ) = 1

所以,可得:
jp(xi,zj;θ)c=1 ∑ j p ( x i , z j ; θ ) c = 1

jp(xi,zj;θ)=p(xi;θ)=c ∑ j p ( x i , z j ; θ ) = p ( x i ; θ ) = c

Qj(zj)=p(xi,zj;θ)jp(xi,zj;θ)=p(zj|xi;θ) Q j ( z j ) = p ( x i , z j ; θ ) ∑ j p ( x i , z j ; θ ) = p ( z j | x i ; θ )

至此,E步完毕。E步目的是为了构造最大下界,此时Q函数为后验概率。

而M步为了最大化下界:

Qj(zj) Q j ( z j ) 代入原有的 L(θ) L ( θ ) 中去:

maxθijQj(zj)logp(xi,zj;θ)Qj(zj) max θ ∑ i ∑ j Q j ( z j ) log ⁡ p ( x i , z j ; θ ) Q j ( z j )

最大化下界,得到新的 θ θ 估计。

3.图形理解

img

先随机初始化 θ0 θ 0 ,对应的下界为 g_z0 g _ z 0 ,然后E步构造似然函数下界 g_z1 g _ z 1 ,使得下界在 θ0 θ 0 时与 L(θ) L ( θ ) 相等(即Jensen不等式中,等于常数时取等号)。M步最大化下界,得到 M1 M 1 ,对应的 θ1 θ 1 为参数的新的估值。这个过程在迭代求解。

4.与K-means的关系

https://www.zhihu.com/question/49972233?sort=created

5.EM算法

EM算法中的Q函数为:

Q(θ,θi)=Ez[logP(X,Z|θ)|X,θi] Q ( θ , θ i ) = E z [ log ⁡ P ( X , Z | θ ) | X , θ i ]

而将我们的最大似然推导出来的Q函数代入,下界得到的却是:
ijp(zj|xi,θt)logp(xi,zj;θ)p(zj|xi,θt) ∑ i ∑ j p ( z j | x i , θ t ) log ⁡ p ( x i , z j ; θ ) p ( z j | x i , θ t )

这里注意,求解出来的Q函数代入的时候,不能使用
p(xi,zj;θ)p(zj|xi,θt)=p(xi) p ( x i , z j ; θ ) p ( z j | x i , θ t ) = p ( x i )

这里的 θ θ 是不一样的。

最终的等价可由以下式子推出:

1534940623243

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值