Machine Learning Series No.6 -- EM algorithm

EM算法

1.直观理解

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

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

2.数学推导

极大似然估计:

L(θ)=ilogp(xi;θ)=ilog(jp(xi,zj;θ))

L(θ)=ilog(jp(xi,zj;θ)Qj(zj)Qj(zj))

=ilog(Ezj Qj(zj)(p(xi,zj;θ)Qj(zj)))

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

L(θ)ijQj(zj)logp(xi,zj;θ)Qj(zj)

p(xi,zj;θ)Qj(zj)=c(常数)时,取等号。

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

p(xi,zj;θ)Qj(zj)=c

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

所以,可得:
jp(xi,zj;θ)c=1

jp(xi,zj;θ)=p(xi;θ)=c

Qj(zj)=p(xi,zj;θ)jp(xi,zj;θ)=p(zj|xi;θ)

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

而M步为了最大化下界:

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

maxθijQj(zj)logp(xi,zj;θ)Qj(zj)

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

3.图形理解

Machine Learning Series No.6 -- EM algorithm

先随机初始化θ0,对应的下界为g_z0,然后E步构造似然函数下界g_z1,使得下界在θ0时与L(θ)相等(即Jensen不等式中,等于常数时取等号)。M步最大化下界,得到M1,对应的θ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函数代入,下界得到的却是:
ijp(zj|xi,θt)logp(xi,zj;θ)p(zj|xi,θt)

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

这里的θ是不一样的。

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

Machine Learning Series No.6 -- EM algorithm