EM算法

含有隐藏变量时,不好直接求极大似然,可以考虑用EM算法。

参考   (EM 算法)The EM Algorithm      从最大似然到 EM 算法浅解

1.Jensen 不等式

 回顾优化理论中的一些概念。

设 f 是定义域为实数的函数,如果对于所有的实数 x,clip_image002,那么 f 是凸函数。

当 x 是向量时,如果其 hessian 矩阵 H 是半正定的(clip_image004),那么 f 是凸函数。

如果clip_image006或者clip_image008,那么称 f 是严格凸函数。

      Jensen 不等式表述如下:

      如果 f 是凸函数,X 是随机变量,那么

      clip_image010

      特别地,如果 f 是严格凸函数,那么clip_image012当且仅当clip_image014,也就是说 X 是常量。

      这里我们将clip_image016简写为clip_image018

      如果用图表示会很清晰:

      clip_image019

      图中,实线 f 是凸函数,X 是随机变量,有 0.5 的概率是 a,有 0.5 的概率是 b。(就像掷硬币一样)。X 的期望值就是 a 和 b 的中值了,图中可以看到clip_image010[1]成立。

      当 f 是(严格)凹函数当且仅当 - f 是(严格)凸函数。

      Jensen 不等式应用于凹函数时,不等号方向反向,也就是clip_image021

2.EM算法

输入:观测变量数据Y,隐变量数据Z,联合分布 ,条件分布

输出:模型参数

step 1: 选择参数的初值,开始迭代

step 2: 步,记为第次迭代参数的估计值,在第+1次迭代的步,计算函数:

这里 是在给定观测数据Y和当前的参数估计下隐变量数据Z的条件概率分布

step 3:M步骤,求使得 极大化的,确定第i+1次迭代的参数的估计值

 step 4:重复2,3,直至收敛

思路:

   给定的训练样本是clip_image023,样例间独立,我们想找到每个样例隐含的类别 z,能使得 p(x,z) 最大。p(x,z) 的最大似然估计如下:

其中分号表示竖线,  ,一个意思啊

第一步是对极大似然取对数,第二步是对每个样例的每个可能类别 z 求联合分布概率和。但是直接求clip_image026一般比较困难,因为有隐藏变量 z 存在,但是一般确定了 z 后,求解就容易了

EM 是一种解决存在隐含变量优化问题的有效方法。竟然不能直接最大化clip_image028,我们可以不断地建立clip_image030的下界(E 步),然后优化下界(M 步)。这句话比较抽象,看下面的。

    期望计算方法:    设 Y 是随机变量 X 的函数clip_image041(g 是连续函数),那么

      (1) X 是离散型随机变量,它的分布律为clip_image043,k=1,2,…。若clip_image045绝对收敛,则有

      clip_image047

      (2) X 是连续型随机变量,它的概率密度为clip_image049,若clip_image051绝对收敛,则有

      clip_image053

证明收敛性

 

posted @ 2018-01-22 19:05  dahu1  Views(300)  Comments(0Edit  收藏  举报