EM算法的计算方法中每一步都分为两个部分,一个期望步(E),一个极大步(M)
大体思想为:先根据已有的数据预测模型的参数,然后再使用该模型得到隐变量的分布,随后再优化现有的模型,以此类推。
但有一个重要前提:Expectation-Maximum - 图1是可观测的

极大似然估计

极大似然估计用于当我们拥有有限数据,且数据服从一个已知分布,却不知道模型的参数时。
设有样本集Expectation-Maximum - 图2,由于各样本独立同分布,似然函数如下式所示:
Expectation-Maximum - 图3
优化目标:
Expectation-Maximum - 图4

最大后验估计

与最大似然估计最大化Expectation-Maximum - 图5不同,最大后验估计最大化Expectation-Maximum - 图6,即在最大化Expectation-Maximum - 图7的基础上同时最大化Expectation-Maximum - 图8
可由贝叶斯估计推得,但由于Expectation-Maximum - 图9是常数项,所以只看分子就好
Expectation-Maximum - 图10

  • 两者的不同在于,前者把参数当成随机变量,而后者把参数当成服从某一分布的变量

    Jensen不等式

    若对于所有实数x,函数的二阶导数均大于0,则该函数为凸函数
    函数Expectation-Maximum - 图11为凸函数,Expectation-Maximum - 图12为随机变量,则Expectation-Maximum - 图13,等号成立条件是当且仅当x为常量
    右图即x取a或b概率各为0.5的情况
    image.pngimage.png

    推导

    对于n个观测数据Expectation-Maximum - 图16,找出模型的参数Expectation-Maximum - 图17,使似然函数最大。假设在观测数据中含有未知分布的隐含数据Expectation-Maximum - 图18,则似然函数如下:
    Expectation-Maximum - 图19
    进一步推演:
    Expectation-Maximum - 图20
    在这里,Expectation-Maximum - 图21就是Expectation-Maximum - 图22Expectation-Maximum - 图23Expectation-Maximum - 图24的期望,即Expectation-Maximum - 图25。同理Expectation-Maximum - 图26也是Expectation-Maximum - 图27的期望,即Expectation-Maximum - 图28

所以这样就得到了似然函数Expectation-Maximum - 图29的下界。似然函数Expectation-Maximum - 图30的下界取决于Expectation-Maximum - 图31以及Expectation-Maximum - 图32,可以通过调整这两个概率使它的下界不断上升,从而逼近Expectation-Maximum - 图33的真实值。

所以,首先找到等号成立的条件。根据Jensen不等式:
Expectation-Maximum - 图34
由于Expectation-Maximum - 图35Expectation-Maximum - 图36
Expectation-Maximum - 图37

至此,Expectation-Maximum - 图38如何选择的问题就已经确定好了

总结一下,当Expectation-Maximum - 图39即等同于后验概率时:

  • 进行M操作,也就是最大化Expectation-Maximum - 图40
  • 进行E操作,建立似然函数Expectation-Maximum - 图41的下界

这两个步骤反复进行,即可达到优化的目的,直至收敛到最低点(假设函数为凸的话)

步骤

image.png

例子

https://www.jianshu.com/p/1121509ac1dc