观测数据表示为 Y=(y1,…,yn)T ,未观测数据表示为 Z=(Z1,…,Zn)T,则观测数据的似然函数为
L(θ)=logj=i∏nP(Y∣θ)=j=i∑nlogP(Y∣θ)=j=i∑nlogz∑P(Z∣θ)P(Y∣Z,θ) EM思路:先是对整体求极大似然估计对数,但因为隐藏变量Z的存在,所以直接最大化L就不可能了。但是可以通过不断的建立L的下界(E步),然后优化下界(M步)。
EM算法一般化分析
每次迭代优化的目标: lnp(Y∣θg+1)≥lnp(Y∣θg)
对 lnp(Y∣θ)=lnp(Z∣Yθ)p(Y,Z∣θ)=lnp(Y,Z∣θ)−lnp(Z∣Y,θ) 式子两边求期望。
注意,期望是对某个分布的而言的,这里是对p(Z∣Y,θg)求期望的。
左边: ∫Zlnp(Y∣θ)p(Z∣Y,θg)dZ=lnp(Y∣θ) 因为不包含Z,所以可以提到积分外,里面的概率分布积分就是1.
右边: ∫Zlnp(Y,Z∣θ)p(Z∣Y,θg)dZ−∫Zlnp(Z∣Y,θ)p(Z∣Y,θg)dZ 每次迭代只对前面一部分求最大,即θg+1=argmaxθ∫Zlnp(Y,Z∣θ)p(Z∣Y,θg)dZ ,这个就是《统计学习方法》中的Q函数。
《统计学习方法》page158,Q函数定义:完全数据的对数似然logP(Y,Z∣θ)关于在给定的观测数据Y和当前参数θg下对未观测数据Z的条件概率分布P(Z∣Y,θ)的期望
这个式子里面是期望,外面求最大,这就是Expectation Maximization。
在每次迭代后,后面一部分会变小,所以整体保证了迭代目标。
p(X∣θ)lnp(X∣θ)KL(q∣∣p)L(q,θ)=Z∑p(X,Z∣θ)=L(q,θ)+KL(q∣∣p)=−Z∑q(Z)lnq(Z)p(Z∣X,θ)=Z∑q(Z)lnq(Z)p(X,Z∣θ)=Z∑p(Z∣X,θold)lnp(X,Z∣θ)−Z∑p(Z∣X,θold)lnp(Z∣X,θold) EM算法框架
E-step,计算隐含变量的后验概率p(Z∣Y,θold)。利用当前参数值计算隐含变量的后验概率,并基于此计算目标函数的期望
M-step,优化θold=argmaxθQ(θ,θold),其中Q(θ,θold)=∑Zp(Z∣Y,θold)lnp(Y,Z∣θ)
以下是以前从jensen不等式看EM算法的,感觉不如EM一般化分析清晰
E步
完全数据的对数似然logP(Y,Z∣θ) 关于在给定观测数据Y和当前参数θi下对未观测数据Z的条件概率分布logP(Z∣Y,θi)的期望
−L(θ)=−j=i∑nlogzi∑P(Y,zi∣θ)=−j=i∑nlogzi∑Q(Zi)Q(Zi)P(Y,zi∣θ)≤j=i∑nzi∑Q(Zi)(−logzi∑Q(Zi)P(Y,zi∣θ)) 其中∑ziQ(Zi)Q(Zi)P(Y,zi∣θ) 就是 Q(Zi)P(Y,zi∣θ) 的期望,−log是凸函数,所以可以用 jensen 不等式。
将上式简化下,就得到《统计学习方法》上的形式:
L(θ)≥j=i∑nzi∑Q(Zi)logzi∑Q(Zi)P(Y,zi∣θ) 期望的 Lazy Statistician 规则
x是离散型随机变量,分布律为P(X=xk)=pk,k=1,2,…,则:
E(Y)=∑k=1∞g(xk)pk
x是连续型随机变量,概率密度函数为 f(x),则有
E(Y)=∫−∞∞g(x)f(x)dx
jensen不等式
如果f是凸函数,则E[f(X)]≥f(E[X]) 。
其实凸函数的定义就一个jensen不等式。
f(λx1+(1−λ)x2)≤λf(x1)+(1−λ)f(x2)
推广到多个变量,得:
f(λ1x1+…+λnxn)≤λf1(x1)+⋯+λnf(xn)λ1…λn≤0λ1+…+λn=1 M步
上式相当于给出了目标函数的下界,提高下界即最大化目标函数。这个不等式的最高就是等式成立,需要让随机变量或函数值为常数, 即 Q(Zi)P(Y,zi∣θ)=C。假设θ给定。
因为∑ZiQ(Zi)=1,所以∑ZiP(Y,zi∣θ)=C。
则Q(Zi)=CP(Y,zi∣θ)=∑ZiP(Y,zi∣θ)P(Y,zi∣θ)=P(Y∣θ)P(Y,zi∣θ)=P(Zi∣Y,θ)
所以EM算法的步骤如下:
E步:Q(Zi)=P(Zi∣Y,θ)
M步:θ=argmaxθ∑j=in∑ziQ(Zi)log∑ziQ(Zi)P(Y,zi∣θ)
半监督EM
网上没找到半监督式的EM,但是我想,在E步算每个样本分类的期望时,不改变已经标注的类别,这样在M步时,这些标注样本依然可以起效。
online EM
参考MLAPP和《Online EM for Unsupervised Models》
有batch EM,incremental EM,stepwise EM。
Let ϕ(x,z) be a vector of sufficient statistics for a single data case.
Let si=∑zp(z∣xi,θ)ϕ(xi,z) be the expected sufficient statistics for case i, and μ=∑i=1Nsi be the sum of the ESS.
let θ(μ) denote the ML or MAP estimate of the parameters in the M step.
stepsize 和 mimi_batch_size很重要。
if we take ηk=(k+2)α , then any 0.5<α≤1 is valid.
mimi_batch_size越大,则越稳定。
个人理解就是 新来的样本训练出的新参数, 然后跟momentum方式一样结合老参数更新参数
Other EM variants
Variational EM , Monte Carlo EM , Generalized EM
The EM algorithm is simple, but can be much slower than direct gradient methods
EM算法的应用
EM算法存在的意义是什么?