EM算法在涉及不完整数据,隐含数据的统计评估问题或者混合评估问题如高斯混合模型(Gaussian Mixture model,GMM)中有着较为广泛的应用。
1 知识储备
1.1 凹凸函数(convex function)定义及其性质
定义1:
记f为定义在区间I=[a,b]上的实函数,如果对∀x1, x2 ∈ I, λ ∈ [0, 1],有下式成立,则称f为凸函数。
f(λx1 + (1 - λ)x2) ≤ λf(x1) + (1 - λ)f(x2) (式1-1)
如果不等号严格成立,那么f便是严格的凸函数
判别:
如果函数f在定义区间二阶连续可导,且有f''>0,那么称f在区间部分为凸
定义2:
f是凹函数(严格的凹函数)如果-f是凸函数(严格的凸函数)
注:这里的定义可能跟我们所学的高等数学凹凸性相反,但性质不一样。我们称张三为张三,也可以称张三为李四,但张三的灵魂仍然是张三自己的。
图1: 凸函数示例
因此,根据上面的描述。我们可以知道:
- ln(x),x>0为凹函数
- -ln(x),x>0为凸函数
1.2 Jensen不等式
对于在其定义域I内满足凸函数定义的任意函数f,如果有x1, x2, . . . , xn ∈ I,
(式1-2)
其中,λ1, λ2, . . . , λn ≥ 0且成立
当n=2时,即为凸函数定义
在上面我们已经提到,对数函数ln(x)满足凹函数定义。则有下式成立
(式1-3)
2 EM算法
EM算法是用于计算存在不完全或者丢失数据情况下计算极大似然估计值的有效迭代过程。可分为E步(Expectation step)和M步(Maximization step)。具体流程如下
- 在E步中,根据样本数据和当前模型参数的预估值来求隐含数据或缺失数据的期望
- 在M步中,将E步中隐含数据的期望用来替代实际缺失的数据,并进行最大似然估计
- 重复以上两步,直至收敛
2.1 符号含义
X:数据样本
θ:待估计值
Z:缺失数据、隐含变量
2.2 EM算法推导
在求θ的极大似然估计过程中,通常将似然函数取对数进行后续操作。因为似然函数L(θ)通常由概率密度函数Pi连乘得到。可能会出现指数部分,通过取对数实现求偏导过程简化。因此,对数似然函数表达式如下:
(式2-1)
当存在隐含变量或缺失数据Z时,式2-1中对数似然函数可表示为
(式2-2)
由EM算法经过n次迭代运算后变为,因为我们迭代的目的在于不断更新θ值使其满足,因此我们可以得到
(式2-3)
进而将式2-2代入式2-3可得
(式2-4)
因为且恒成立。因此借Jensen不等式(式1-2)可以由(12)到(13).
令,则(14)可写为
(式2-5)
由式2-5及上图可知,函数上界为似然函数,当且仅当时,取等号。可以看出使增加的任意也会使似然函数增加。EM算法选用最大时的来求取似然函数的最大可能增长值。如下图所示
其中表示EM算法的更新值
(17)包含了EM算法的E-step和M-step
- E-Step:根据样本数据和当前模型参数的预估值来求隐含数据或缺失数据的期望EZ|X,θn{ln P(X, z|θ)}
- M-Step: 求该期望表达式中的最大似然估计量
2.3 收敛性证明
由于与似然函数在时相等。当通过EM算法得到使最大的参数时,如果与在均可微,那么一定是似然函数的一个驻点(临界点)。
McLachlan and Krishnan在他们的著作《The EM Algorithm and Extensions》中,细致地论述了EM算法的收敛性。
后记
由于刚接触学习相关的东西,写的不对劲或者模糊的地方。欢迎看到的朋友指出,也让我以及后面的读者注意。谢谢!