文章目录
- 1.高斯混合模型
- 2.Jensen不等式
- 3.EM算法及推导过程
- 4.EM算法的可行性
- 5.EM算法的收敛性
- 6.EM的另一种推导
- 7.应用EM算法求解GMM
1.高斯混合模型
两个参数。
如果是多组数据,多个模型呢?获取现在我们有全国多个省份的身高数据,但并不知道它们具体属于哪个省份,只知道每个省之间服从不同的高斯分布,此时的模型称为高斯混合模型(GMM),其公式为
此时用极大似然估计的方法并不能很好地求出模型里面的参数,因为模型中存在一个隐变量——样本的label。令其为Z,则可以写出似然函数的形式:
如果根据极大似然估计的算法对式子(2)进行求导,意味着我们要对的形式进行求导,这计算量简直爆炸。
2.Jensen不等式
这里我们需要用到EM算法来进行求解,在介绍EM算法前,我们先来了解一个不等式——Jensen不等式,它的定义如下:
如果X是一个随机变量,f(X)是一个凸函数(二阶导数大或等于0),那么有:
如果f(X)是凹函数,不等号反向
当且仅当X是常数的时候等号成立。
结合图像我们可以对Jensen不等式有一个直观的理解,对于x=a和x=b两个点,E(f(x))可以看成是,f[E(x)]可以看成是,即ab中点对应的函数值。由于图像是凹图像,所以不难得出。
3.EM算法及推导过程
利用Jensen不等式,由于log函数是凹函数,式子(2)可以改写成:
由于是概率分布,所以满足
根据Jenson不等式,等式成立时,有
根据4和5,有
将(7)回代到(3),有
通过每次令
就可以不断迭代使得似然函数最大。因此EM算法本质上是一种令下界不断提高,从而使得似然函数也不断提高的迭代算法。
因此,EM算法的流程如下:
- 初始化参数,开始迭代
- E-Step:计算
- M-Step:根据计算得到的,求使极大化的,得到新的参数。
- 重复2和3直至收敛
4.EM算法的可行性
,希望新估计值可以使增大,即,则:
令
则有,因此可以认为为的一个下界,且有,为了使尽可能地变大,我们解以下式子:
而这正是EM中我们所做的一次迭代,由此可证EM算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法。
5.EM算法的收敛性
为观测数据的似然函数,我们要证明递增性,即
证明如下:
令
根据Q函数定义有,
于是对数似然函数可以写成
上式中分别取 和并相减,有
由于使极大,所以有
而由式子13以及Jensen不等式,有
可知
又因为有界,可知必定收敛。
由于采用迭代的方式进行求解,EM算法可以保证收敛到一个稳定点,但是却不能保证收敛到全局的极大值点,因此它是局部最优的算法,当然,如果我们的优化目标是凸的,则EM算法可以保证收敛到全局最大值,这点和梯度下降法这样的迭代算法相同。初值的选择非常重要,常用的方法是选择多个初值尝试,比较结果选取较好的。
6.EM的另一种推导
左右两边同时对z积分,此时有
右边有
根据相对熵(KL散度)的定义,对于p(x)和q(x)两个分布,p对q的相对熵表示为
可以发现right等式右边第二项其实就是q(z)对的相对熵,即
相对熵有两个性质,一个是不具有对称性,即,另一个性质是。当p和q的概率分布相同时,相对熵为0。也就是说,第一项其实就是的一个下界,我们称之为ELBO。我们想要让下界ELBO增大,从而使得增大,则
因此得到的迭代公式。
7.应用EM算法求解GMM
下面我们使用EM算法来求解GMM模型,GMM模型如下:
联合概率为
后验概率为
在EM算法中,有
对于其中一项
因此
接下来求解
通过展开之后求导得到最优解,其中的求解使用拉格朗日乘子法进行求解。重复以上E-step和M-step直至对数似然值不再有明显变化为止。