StanFord ML 笔记 第九部分

时间:2023-03-09 18:02:37
StanFord ML 笔记 第九部分

第九部分:

  1.高斯混合模型

  2.EM算法的认知


1.高斯混合模型

  

  之前博文已经说明http://www.cnblogs.com/wjy-lulu/p/7009038.html

2.EM算法的认知

  2.1理论知识之前已经说明http://www.cnblogs.com/wjy-lulu/p/7010258.html

  2.2公式的推导 

    2.2.1. Jensen不等式

     回顾优化理论中的一些概念。设f是定义域为实数的函数,如果对于所有的实数x,StanFord ML 笔记 第九部分,那么f是凸函数。当x是向量时,如果其hessian矩阵H是半正定的(StanFord ML 笔记 第九部分),那么f是凸函数。如果StanFord ML 笔记 第九部分或者StanFord ML 笔记 第九部分,那么称f是严格凸函数。

    Jensen不等式表述如下:

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

      StanFord ML 笔记 第九部分

    特别地,如果f是严格凸函数,那么StanFord ML 笔记 第九部分当且仅当StanFord ML 笔记 第九部分,也就是说X是常量。

    这里我们将StanFord ML 笔记 第九部分简写为StanFord ML 笔记 第九部分

    如果用图表示会很清晰:

StanFord ML 笔记 第九部分

    图中,实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。(就像掷硬币一样)。X的期望值就是a和b的中值了,图中可以看到StanFord ML 笔记 第九部分成立。

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

    Jensen不等式应用于凹函数时,不等号方向反向,也就是StanFord ML 笔记 第九部分

    2.2.2 EM算法

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

StanFord ML 笔记 第九部分

StanFord ML 笔记 第九部分

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

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

     对于每一个样例i,让StanFord ML 笔记 第九部分表示该样例隐含变量z的某种分布,StanFord ML 笔记 第九部分满足的条件是StanFord ML 笔记 第九部分。(如果z是连续性的,那么StanFord ML 笔记 第九部分是概率密度函数,需要将求和符号换做积分符号,这里概率论书上也有说明,看个例子大家就明白)。比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。如果按照隐藏变量是男女,那么就是伯努利分布了。这里就是上面说的Z的概率和为1.

    可以由前面阐述的内容得到下面的公式:

StanFord ML 笔记 第九部分

    (1)到(2)比较直接,就是分子分母同乘以一个相等的函数。(2)到(3)利用了Jensen不等式,考虑到StanFord ML 笔记 第九部分是凹函数(二阶导数小于0),而且

StanFord ML 笔记 第九部分

    就是StanFord ML 笔记 第九部分的期望(回想期望公式中的Lazy Statistician规则):

      Lazy Statistician:这个公式没啥稀奇的,就是连续概率函数的期望公式,每本概率论书上都有的!

设Y是随机变量X的函数StanFord ML 笔记 第九部分(g是连续函数),那么

(1) X是离散型随机变量,它的分布律为StanFord ML 笔记 第九部分,k=1,2,…。若StanFord ML 笔记 第九部分绝对收敛,则有

StanFord ML 笔记 第九部分

(2) X是连续型随机变量,它的概率密度为StanFord ML 笔记 第九部分,若StanFord ML 笔记 第九部分绝对收敛,则有

StanFord ML 笔记 第九部分

对应于上述问题,Y是StanFord ML 笔记 第九部分,X是StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分,g是StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分的映射。这样解释了式子(2)中的期望,再根据凹函数时的Jensen不等式:

StanFord ML 笔记 第九部分

可以得到(3)。

注释:这里(3)的推到没有什么捷径,大家动手一下就可以了,连续函数的期望+Log函数性质+Jensen不等式,运用这三个公式去推导!

    这个过程可以看作是对StanFord ML 笔记 第九部分求了下界。对于StanFord ML 笔记 第九部分的选择,有多种可能,那种更好的?假设StanFord ML 笔记 第九部分已经给定,那么StanFord ML 笔记 第九部分的值就决定于StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分了。我们可以通过调整这两个概率使下界不断上升,以逼近StanFord ML 笔记 第九部分的真实值,那么什么时候算是调整好了呢?当不等式变成等式时,说明我们调整后的概率能够等价于StanFord ML 笔记 第九部分了。按照这个思路,我们要找到等式成立的条件。根据Jensen不等式,要想让等式成立,需要让随机变量变成常数值,这里得到:

注释:开投的Jensen正面已经有说明!

StanFord ML 笔记 第九部分

StanFord ML 笔记 第九部分

     c为常数,不依赖于StanFord ML 笔记 第九部分。对此式子做进一步推导,我们知道StanFord ML 笔记 第九部分,那么也就有StanFord ML 笔记 第九部分,(多个等式分子分母相加不变,这个认为每个样例的两个概率比值都是c),那么有下式:

StanFord ML 笔记 第九部分

StanFord ML 笔记 第九部分

    此,我们推出了在固定其他参数StanFord ML 笔记 第九部分后,StanFord ML 笔记 第九部分的计算公式就是后验概率,解决了StanFord ML 笔记 第九部分如何选择的问题。这一步就是E步,建立StanFord ML 笔记 第九部分的下界。接下来的M步,就是在给定StanFord ML 笔记 第九部分后,调整StanFord ML 笔记 第九部分,去极大化StanFord ML 笔记 第九部分的下界(在固定StanFord ML 笔记 第九部分后,下界还可以调整的更大)。那么一般的EM算法的步骤如下:

循环重复直到收敛 {

(E步)对于每一个i,计算

StanFord ML 笔记 第九部分

(M步)计算

StanFord ML 笔记 第九部分

    那么究竟怎么确保EM收敛?假定StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分是EM第t次和t+1次迭代后的结果。如果我们证明了StanFord ML 笔记 第九部分,也就是说极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。下面来证明,选定StanFord ML 笔记 第九部分后,我们得到E步

StanFord ML 笔记 第九部分

     这一步保证了在给定StanFord ML 笔记 第九部分时,Jensen不等式中的等式成立,也就是

StanFord ML 笔记 第九部分

     然后进行M步,固定StanFord ML 笔记 第九部分,并将StanFord ML 笔记 第九部分视作变量,对上面的StanFord ML 笔记 第九部分求导后,得到StanFord ML 笔记 第九部分,这样经过一些推导会有以下式子成立:

    注释:其实我们做的每一步都是求每个位置的局部极大值,这里肯定是大于等于前面一个值的。StanFord ML 笔记 第九部分

    解释第(4)步,得到StanFord ML 笔记 第九部分时,只是最大化StanFord ML 笔记 第九部分,也就是StanFord ML 笔记 第九部分的下界,而没有使等式成立,等式成立只有是在固定StanFord ML 笔记 第九部分,并按E步得到StanFord ML 笔记 第九部分时才能成立。

StanFord ML 笔记 第九部分

    况且根据我们前面得到的下式,对于所有的StanFord ML 笔记 第九部分StanFord ML 笔记 第九部分都成立

StanFord ML 笔记 第九部分

    第(5)步利用了M步的定义,M步就是将StanFord ML 笔记 第九部分调整到StanFord ML 笔记 第九部分,使得下界最大化。因此(5)成立,(6)是之前的等式结果。

    这样就证明了StanFord ML 笔记 第九部分会单调增加。一种收敛方法是StanFord ML 笔记 第九部分不再变化,还有一种就是变化幅度很小。

    再次解释一下(4)、(5)、(6)。首先(4)对所有的参数都满足,而其等式成立条件只是在固定StanFord ML 笔记 第九部分,并调整好Q时成立,而第(4)步只是固定Q,调整StanFord ML 笔记 第九部分,不能保证等式一定成立。(4)到(5)就是M步的定义,(5)到(6)是前面E步所保证等式成立条件。也就是说E步会将下界拉到与StanFord ML 笔记 第九部分一个特定值(这里StanFord ML 笔记 第九部分)一样的高度,而此时发现下界仍然可以上升,因此经过M步后,下界又被拉升,但达不到与StanFord ML 笔记 第九部分另外一个特定值一样的高度,之后E步又将下界拉到与这个特定值一样的高度,重复下去,直到最大值。

    如果我们定义

StanFord ML 笔记 第九部分

    从前面的推导中我们知道StanFord ML 笔记 第九部分,EM可以看作是J的坐标上升法,E步固定StanFord ML 笔记 第九部分,优化StanFord ML 笔记 第九部分,M步固定StanFord ML 笔记 第九部分优化StanFord ML 笔记 第九部分

参考:https://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html#2103308