简介:本文主要介绍以下两个方面内容:

  1. 混合高斯(Mixtures of Gaussians)和EM算法
  2. EM算法相关推导证明

混合高斯和EM算法


关于混合高斯可以看  ​​漫谈 Clustering (3): Gaussian Mixture Model​​ 和  ​​混合高斯模型(Mixtures of Gaussians)和EM算法​​。观察样本数据X满足公式一概率密度函数:



EM算法_极大似然估计公式1




其中 EM算法_解决方法_02表示第i个Gaussian选中的概率,满足 EM算法_解决方法_03,数据满足第i个Guassian分布的概率为 EM算法_迭代_04,那么公式一中未知参数为


EM算法_极大似然估计_05


采用 ​​极大似然估计法maximum-likelihood estimation (MLE)​​求参数,似然函数如公式2所示:



EM算法_迭代_06公式2





  • 公式2对EM算法_迭代_07求导并令其等于0可得:


EM算法_极大似然估计_08


设一个 ​​后验概率(Posterior probability​​ ​ ​)​​如公式3所示:


EM算法_后验概率_09公式3



可以得出 EM算法_后验概率_10的表达式如公式4所示:





EM算法_解决方法_11公式4



EM算法_解决方法_13


求导可得


EM算法_解决方法_14


易知 EM算法_后验概率_15,那么最终可以得到 EM算法_解决方法_16如公式5所示:








EM算法_极大似然估计_17公式5






EM算法_数据_19公式6


其中 EM算法_极大似然估计_20。那么公式2对 EM算法_极大似然估计_21求导并令其等于0可得:

EM算法_后验概率_22


最终整理可以得到 EM算法_解决方法_23的表达式如公式7所示:




EM算法_迭代_24公式7


我们得到问题相关参数的表达式如公式4、公式5、公式7所示,但是无法根据样本数据直接获得,因为在计算后验概率 EM算法_迭代_25 无法直接计算。EM算法给出这类问题的解决方法,即先初始化一组参数 EM算法_迭代_26,在E-Step计算后验概率 EM算法_极大似然估计_27,在M步骤更新参数 EM算法_迭代_28. 如算法一所示:



算法1:EM算法求解混合高斯


  • Initialize:   EM算法_极大似然估计_29EM算法_迭代_30EM算法_极大似然估计_31
  • E-Step:    EM算法_数据_32

    EM算法_数据_33

  • M-Step: EM算法_迭代_34



    EM算法_数据_35



    EM算法_迭代_36


这部分主要是利用混合高斯引出EM算法,下部分内容详细讲解EM算法推导及相关证明。



EM算法


EM算法是用极大似然估计法求解存在隐含变量(如混合高斯中的 EM算法_迭代_37)问题时的一种有效的方法。下面假定观察样本为X,隐含变量为H,联合概率密度 EM算法_数据_38由参数 EM算法_数据_39决定:


EM算法_极大似然估计_40


我们的目标就是极大化公式8来求参数 EM算法_数据_41:




EM算法_数据_42公式8


直接求解公式8有难度,通常如果隐含变量H知道,那么公式8的求解将会容易一些。


EM算法对此类问题提供了一个有效的解决方法: 重复构造EM算法_迭代_43的一个下界(E-Step),优化(提高)这个下界(M-Step)。如果构造和优化下界的任务比较容易,那么我们就间接的极大化公式8求得参数 EM算法_数据_39


对于每一个i,我们定义隐含变量满足某种分布的概率 EM算法_解决方法_45(即满足 EM算法_迭代_46EM算法_数据_47),那么我们可以得到公式9:





EM算法_后验概率_48公式9



这里公式9最后一步用到了 ​​Jensen不等式​​,如过f是一个凹函数(如开口向下的抛物线),X是随机变量,有如下结论:



EM算法_迭代_49


等式成立的条件是X=E[X]即X是常量。易知lnx是一个凹函数,那么最后一步推导如下:


EM算法_解决方法_50



给定一组隐含变量的分布 EM算法_数据_51,公式9给出了 EM算法_数据_52的一个下界。对于给定一组参数 EM算法_后验概率_53等号成立的条件是 EM算法_后验概率_54,那么我们可以得到 EM算法_数据_55如公式10所示:



EM算法_后验概率_56公式10


EM算法_极大似然估计_57定义为给定样本x和参数 EM算法_解决方法_58时隐含变量h的后验概率。


给出这个下界后我们可以通过 EM算法_解决方法_58来优化这个下界:


EM算法_后验概率_60


最终我们可以得到EM算法如算法2所示:



算法2:EM算法过程


  • Initialize:   EM算法_后验概率_61

  • E-Step:    EM算法_迭代_62
  • M-Step: EM算法_迭代_63


剩余的最后一个问题是如何证明EM算法会收敛,也就是证明 EM算法_后验概率_64,证明如公式11所示:




EM算法_极大似然估计_65公式11


其中第一个不等式利用就是公式9结论,第二个不等式是第t+1次迭代式M-Step的过程,最后一个等号就是t次迭代完的结果。至此,关于EM算法的相关推导证明全部结束。