EM算法是一种通过观测到的数据,找到含潜在分布的参数的最大似然估计(MLE,Maximum Likelihood Estimate)的通用方法。一般我们称观测到的数据是incomplete的,或有missing values。
那EM算法如果要成功得到MLE,需要将不可观测的complete data和incomplete data联系起来,这样complete data可以被未知参数的函数所描述,MLE求解也变的简单。
EM框架中,我们通常将 logp(X∣θ) 称为不完全对数似然(incomplete log data likelihood),而 log p(X,Z|θ) 称为完全对数似然(complete log data likelihood ),EM算法的目标是通过最大化完全对数似然找到参数的合理估计。然而由于我们对隐变量一无所知,因此没办法直接最大化完全对数似然,替代方案是最大化完全对数似然的后验数学期望,这里先给出该算法的参数迭代更新式:
公式推导和解释
求参数
θ
的最大似然:
需要一些trick,上面公式中的 Z 成为模型的latent variable
要证明Eq(1)的EM迭代公式是有效的,那么就需要确保
使得最终结果收敛。
所以先看如下证明,已知:
Eq(2)式子两边同时对分布 p(Z|X,θ(g)) 在latent变量 Z 上求积分。
其中Q的形式和Eq(1)是一样的,如果参数从 θ(g) 迭代到 θ(g+1) ,那么 Q(θ,θ(g+1))⩾Q(θ,θ(g)) ,那么为什么最大化这个Q就可以保证Eq(2)的左边也能增大呢,如果要确保这个关系就需要证明 H(θ,θ(g+1))⩽H(θ,θ(g))
我们知道第g次迭代的时候, θ(g) 使得H值取到最大,即
证明对于任意的 θ (里面当然也包括了 θ(g+1) ), H(θ,θ(g))−H(θ,θ(g))⩾0
其中,上面推导过程 ⩾ 的出现是由于Jensus inequality的性质得到的:函数值的期望大于等于期望的函数值。这个性质仅在convex function下成立。
高斯混合模型(GMM)
高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。
对于数据集 X={x1,……,xn} ,引入latent变量 Z={z1,……,zn} ,其中每个 zi 表示 xi 属于哪个mixture component。
重新看Eq(1),要通过EM算法来解决一个高斯混合模型的参数估计问题,需要定义 p(X,Z|θ) 和 p(Z|X,θ) 。
note:下面公式中出现的
l
,
定义 p(X,Z|θ) :
p(X,Z|θ)=∏i=1np(xi,zi|θ)=∏i=1np(xi,zi|θ)(μzi,σzi)p(zi|θ)⏟αzi=∏i=1nαzi(μzi,σzi)
可以看到 p(X,Z|θ) 比 p(X|θ) 形式更简单。定义 p(Z|X,θ)
p(Z|X,θ)=∏i=1np(zi|xi,θ)=∏i=1nαzi(μzi,σzi)∑kl=1αl(μl,σl)
那么,现在就可以把高斯混合模型放在Eq(1)所示的EM算法框架里了
- E-step:
由于 Z={z1,……,zn} 是离散变量,所以积分形式变为求和形式(注意 zi 的取值有k个,n个样本每个样本都有对应的 zi )
∑z1=1k∑z2=1k……∑zn=1k⎛⎝⎜⎜⎜⎜⎜∑i=1nlogαzi+log(xi|μzi,σzi)fi(zi)∏i=1np(zi|xi,θ(g))p(Z)⎞⎠⎟⎟⎟⎟⎟(3)
拆开:
=∑z1=1k∑z2=1k……∑zn=1k(f1(z1)+f2(z2)+……+fn(zn))⋅p(z1,……,zn)
观察第一个term:
=∑z1=1k∑z2=1k……∑zn=1kf1(z1)⋅p(z1,……,zn)=∑z1=1kf1(z1)∑z2=1k……∑zn=1kp(z1,……,zn)边际概率=∑z1=1kf1(z1)p(z1)
每一个term都可以化简成这么简单的形式,所以
Eq(3)=∑i=1n∑zi=1kfi(zi)p(zi)=∑i=1n∑zi=1k(logαzi+log(xi|μzi,σzi))p(zi|xi,θ(g)) - M-step:
参数有三个 αl , μl , σl ,分开来求解最大值:
maximizing
α
:
这种式子的求解一般用Lagrange Multiplier。这里略过详细推导,直接给出结论:
maximizing
μl
,
σl
:
还是直接给出结果:
如果对其中的推导感兴趣,要知道解决这个问题,需要知道一些线性代数恒等式,详细信息可以参考:
J. Bilmes. “A Gentle Tutorial on the EM Algorithm and its Application to Parameter Estimation for Gaussian Mixture and Hidden Markov Models”