EM算法

简介 :本文主要介绍以下两个方面内容:
  1. 混合高斯(Mixtures of Gaussians)和EM算法
  2. EM算法相关推导证明

混合高斯和EM算法

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

公式1




其中 表示第i个Gaussian选中的概率,满足 ,数据满足第i个Guassian分布的概率为 ,那么公式一中未知参数为
采用 极大似然估计法 maximum-likelihood estimation  ( MLE )求参数,似然函数如公式2所示:

公式2




  • 公式2对求导并令其等于0可得:

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

公式3




可以得出 的表达式如公式4所示:

公式4




  • 用拉格朗日乘数法Lagrange multiplier求对。构造拉格朗日乘子如下:

求导可得

易知 ,那么最终可以得到 如公式5所示:





公式5




  • 计算。这里用到单高斯分布极大似然估计的相关结论(详见Pattern Recognition and Machine Learning 练习2.34)。对于单高斯分布,有如公式6所示结论:
公式6



其中 。那么公式2对 求导并令其等于0可得:


最终整理可以得到 的表达式如公式7所示:
公式7



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

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

  • Initialize:  

  • E-Step:   



  • M-Step:






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

    EM算法

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

    我们的目标就是极大化公式8来求参数 :
    公式8



    直接求解公式8有难度,通常如果隐含变量H知道,那么公式8的求解将会容易一些。
    EM算法对此类问题提供了一个有效的解决方法: 重复构造的一个下界(E-Step),优化(提高)这个下界(M-Step)。如果构造和优化下界的任务比较容易,那么我们就间接的极大化公式8求得参数
    对于每一个i,我们定义隐含变量满足某种分布的概率 (即满足 ),那么我们可以得到公式9:

    公式9



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


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

    给定一组隐含变量的分布 ,公式9给出了 的一个下界。对于给定一组参数 等号成立的条件是 ,那么我们可以得到 如公式10所示:
    公式10



    定义为给定样本x和参数 时隐含变量h的后验概率。
    给出这个下界后我们可以通过 来优化这个下界:

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

    算法2:EM算法过程

  • Initialize:  


  • E-Step:   

  • M-Step:


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

    公式11



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

    参考文献

    1、 CS229 Mixtures of Gaussians and the EM algorithm
    2、 CS229 The EM algorithm
    3、Gaussian Mixture Model and EM(Expectation Maximization) Algorithm(清华大学PR课件)
    4、 The Expectation-Maximization (EM) Algorithm
    5、 Pattern Recognition and Machine Learning


    你可能感兴趣的:(EM算法)