在介绍EM算法之前首先介绍Jensen不等式
一、Jensen不等式
定义:设f是定义域为实数的函数,如果对于所有的实数x。如果对于所有的实数x,f(x)的二次导数大于等于0,那么f是凸函数。当x是向量时,如果其hessian矩阵H是半正定的,那么f是凸函数。如果只大于0,不等于0,那么称f是严格凸函数。
Jensen不等式表述如下:
如果f是凸函数,X是随机变量,那么:E[f(X)]>=f(E[X])
特别地,如果f是严格凸函数,当且仅当X是常量时,上式取等号。
如果用图表示会很清晰:
图中,实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。(就像掷硬币一样)。X的期望值就是a和b的中值了,图中可以看到E[f(X)]>=f(E[X])成立。
当f是(严格)凹函数当且仅当-f是(严格)凸函数。
Jensen不等式应用于凹函数时,不等号方向反向。
关于EM算法的总结:EM算法是在样本属于哪个分布不确定,分布参数θ不确定、的情况下来估算分布参数,总体来说还是使用似然估计,但是此时由于似然估计使用的似然函数中多了一个隐含变量z即样本属于哪个分布不确定,导致似然函数的极大值不好通过求导运算,此时我们通过另一种方法,一步一步逼近似然函数的极大值,逐步逼近时,估算的分布参数也在不断变化,当极大值稳定时,分布参数也就出来了。逼近的方法是,利用jensen不等式构造一个似然函数的下界,得到下界的计算公式后(其中含有两个变参θ、Q),先固定Q,然后求jensen不等式等号成立时(在θ处)Q的值(主要是固定其分布函数,实际就是其后验分布),然后固定该Q值,利用似然函数求下界函数的极大值(其对应θ1处),然后再固定θ1,继续求在θ1处等号成立时的Q值,然后在固定Q,求下界函数的极大值,就这样一步一步,先竖向上升,在横向找最大值,这样采用坐标上升的方法来逼近似然函数的极值点,并用那点的θn估计分布参数
关于似然估计和EM算法的例子 1、假设我们需要调查我们学校的男生和女生的身高分布。你怎么做啊?你说那么多人不可能一个一个去问吧,肯定是抽样了。假设你在校园里随便地活捉了100个男生和100个女生。他们共200个人(也就是200个身高的样本数据,为了方便表示,下面,我说“人”的意思就是对应的身高)都在教室里面了。那下一步怎么办啊?你开始喊:“男的左边,女的右边,其他的站中间!”。然后你就先统计抽样得到的100个男生的身高。假设他们的身高是服从高斯分布的。但是这个分布的均值u和方差∂2我们不知道,这两个参数就是我们要估计的。记作θ=[u, 2、如果没有“男的左边,女的右边,其他的站中间!”这个步骤,或者说我抽到这200个人中,某些男生和某些女生一见钟情,已经好上了,纠缠起来了。咱们也不想那么残忍,硬把他们拉扯开。那现在这200个人已经混到一起了,这时候,你从这200个人(的身高)里面随便给我指一个人(的身高),我都无法确定这个人(的身高)是男生(的身高)还是女生(的身高)。也就是说你不知道抽取的那200个人里面的每一个人到底是从男生的那个身高分布里面抽取的,还是女生的那个身高分布抽取的。用数学的语言就是,抽取得到的每个样本都不知道是从哪个分布抽取的。 这个时候,对于每一个样本或者你抽取到的人,就有两个东西需要猜测或者估计的了,一是这个人是男的还是女的?二是男生和女生对应的身高的高斯分布的参数是多少? |
三、EM算法的思想
A:不知道分布的参数
B:不知道样本属于哪个具体的分布
1、假设知道A则可以由A推导B,其过程其实就是计算样本属于某个分布的概率,也可以理解为期望,因为如果属于的话就取1,概率乘以1就是期望。
2、假设知道B则可以由B推导A,其过程实际就是似然估计的过程。
M步是在固定的Q后(即把z的分布函数用后验分布代替)后,求L的最大值,在L中分别对Q和θ求偏导,具体过程参看LDA中的解释。
Reference
http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html
http://blog.csdn.net/zouxy09/article/detail