1.背景知识
(1)期望
离散型
X1,X2,X3,……,Xn为这离散型随机变量,p(X1),p(X2),p(X3),……p(Xn)为这几个数据的概率函数。在随机出现的几个数据中p(X1),p(X2),p(X3),……p(Xn)概率函数就理解为数据X1,X2,X3,……,Xn出现的频率f(Xi).则:
设Y是随机变量X的函数:Y=g(X)(g(X)是连续函数)它的分布律为若
绝对收敛,则有:
连续型
设连续性随机变量X的概率密度函数为f(x),若积分绝对收敛,则称积分的值为随机变量的数学期望,记为E(X)。
若随机变量Y符合函数Y=g(x),且绝对收敛,则有:
(2)Jensen不等式
最优化理论中的一些概念。设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数。当x是向量时,如果其hessian矩阵H是半正定的(
),那么f是凸函数。如果
或者
,那么称f是严格凸函数。
Jensen不等式表述如下:
如果f是凸函数,X是随机变量,那么。特别地,如果f是严格凸函数,那么
。当且仅当
,也就是说X是常量。
如图所示,我们用f(E(X))简写成f(EX)。实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。(就像掷硬币一样)。X的期望值就是a和b的中值了,图中可以看到成立。
当f是(严格)凹函数当且仅当-f是(严格)凸函数。
Jensen不等式应用于凹函数时,不等号方向反向,也就是。
2.初识EM
EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代有两步组成:E步,求期望。M步,求极大。所以这一算法称为期望极大算法(expectation maximization),简称EM算法。
一般地,用Y表示观测随机变量的数据,Z表示隐随机变量的数据。Y和Z连在一起称为完全数据(complete-data),观测数据Y又称为不完全数据(incomplete-data)。假设给定观测数据Y,其概率分布是P(Y| ),其中
是需要估计的模型参数,那么不完全数据Y的似然函数时P(Y|
),对数似然函数时L(
)=logP(Y|
);假设Y和Z的联合概率分布式P(Y,Z |
),那么完全数据的对数似然函数时logP(Y,Z |
)。
EM算法通过迭代求L()= logP(Y|
)的极大似然估计。每次迭代包含两步:E步,求期望。M步,求极大。
EM算法:
3.示例(三硬币模型)
假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是π,p,q。进行如下掷硬币试验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立重复n次试验(这里,n=10),观测结果如下:
1,1,0,1,0,0,1,0,1,1
假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数。
三硬币模型可以写作:
这里随机变量y是观测变量,表示一次试验观测的结果是1或0;随机变量z是隐变量,表示未观测到的掷硬币A的结果; = (π,p,q)是模型参数。这一模型是以上数据的生成模型。注意,随机变量y的数据可以观测,随机变量z的数据不可观测。
考虑求模型参数的极大似然估计,即
这个问题没有解析解,只有通过迭代的方法求解。EM算法就是可以用于求解这个问题的一种迭代算法,下面给出针对以上问题的EM算法,其推导过程省略。
EM算法首先选取参数的初值,记作,然后通过下面步骤迭代计算计算参数的估计值,直到收敛为止。第i次迭代参数的估计值为
.EM算法的第i+1次迭代如下:
E步:计算在模型参数下观测数据
来自掷硬币B的概率
M步:计算模型参数的新估计值
4.推导证明
为什么EM算法能近似实现对观测数据的极大似然估计呢?
注意到这一极大化的主要困难是上式中有未观测数据并有包含和(或积分)的对数。
上面用到的Jensen不等式是指:,其中
下图给出了EM算法的直观解释
5.EM算法在高斯混合模型(GMM)学习中的应用
在三个硬币模型中,模型参数更新的推导没有详细说明,这里可以借鉴一下
6.小结
什么时候需要EM算法:
Q函数定义及迭代计算:
参考文献:
(1)《统计学习方法》