EM算法小结(对于GMM和pLSA)

EM算法,全称为Expectation-maximization algorithm,为期望最大算法,其基本思想是:首先随机选取一个值去初始化待估计的值,然后不断迭代寻找更优的使得其似然函数likelihood 比原来的要大。换言之,假定现在得到了,想求,使得

    EM的关键便是要找到的一个下界(注:,其中,X表示已经观察到的随机变量),然后不断最大化这个下界,通过不断求解下界的极大化,从而逼近要求解的似然函数

    所以EM算法的一般步骤为:

  • 1. 随机选取或者根据先验知识初始化
  • 2. 不断迭代下述两步
    • ①给出当前的参数估计,计算似然函数的下界
    • ②重新估计参数θ,即求,使得
  • 3. 上述第二步后,如果收敛(即收敛)则退出算法,否则继续回到第二步。

    上述过程好比在二维平面上,有两条不相交的曲线,一条曲线在上(简称上曲线),一条曲线在下(简称下曲线),下曲线为上曲线的下界。现在对上曲线未知,只已知下曲线,为了求解上曲线的最高点,我们试着不断增大下曲线,使得下曲线不断逼近上曲线,下曲线在某一个点达到局部最大值并与上曲线在这点的值相等,记录下这个值,然后继续增大下曲线,寻找下曲线上与上曲线上相等的值,迭代到收敛(即收敛)停止,从而利用当前下曲线上的局部最大值当作上曲线的全局最大值(换言之,EM算法不保证一定能找到全局最优值)。如下图所示:

    以下是详细介绍。

    假定有训练集,包含m个独立样本,希望从中找到该组数据的模型p(x,z)的参数。   

    然后通过极大似然估计建立目标函数--对数似然函数:

    这里,z是隐随机变量,直接找到参数的估计是很困难的。我们的策略是建立的下界,并且求该下界的最大值;重复这个过程,直到收敛到局部最大值。

  令Qi是z的某一个分布,Qi≥0,且结合Jensen不等式,有:

    为了寻找尽量紧的下界,我们可以让使上述等号成立,而若要让等号成立的条件则是:

    换言之,有以下式子成立:,且由于有:

    所以可得:

    


最终得到EM算法的整体框架如下:

评论:所以说,那个Qi(zi),实际上就是z的分布(z在给定x和theta的分布),说白了就是z的比例(比如对于xi=1.90这个样本,男的比例为0.9,女的比例为0.1) 也就是E步

M步,说是找最大化下界的theta,其实在GMM里面,就是根据极大似然估计(这个的确是最大化概率求参数的思想啊!)的思想,求theta值,作为更新




在pLSA中:

  1. 由于未知,所以我们用EM算法去估计这个参数的值。
  2. 而后,用表示词项出现在主题中的概率,即,用表示主题出现在文档中的概率,即,从而把转换成了“主题-词项”矩阵Φ(主题生成词),把转换成了“文档-主题”矩阵Θ(文档生成主题)。
  3. 最终求解出




















没有更多推荐了,返回首页