作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:GMM第二讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自优快云。原创不易,转载请告知并注明出处!
本文主要介绍高斯混合模型的Learning问题,探讨是使用最大似然估计还是EM算法,以及完整的求解思路。
一、问题定义
看如下表格中展现了某个高斯混合模型由c1,c2,...,ckc_1,c_2,...,c_kc1,c2,...,ck个高斯分布组成,其中隐变量zzz的含义是某个样本属于第i个高斯分布的概率是pip_ipi:
| C/高斯分布 | c1c_1c1 | c2c_2c2 | … | ckc_kck |
|---|---|---|---|---|
| z | 1 | 2 | … | k |
| P(z) | p1p_1p1 | p2p_2p2 | … | pkp_kpk |
根据上述表格先给出高斯混合模型的概率密度函数p(x)p(x)p(x),公式如下:

结合表格数据,p(z=ck)p(z=c_k)p(z=ck)是概率值pkp_kpk,而当z=ckz=c_kz=ck时XXX概率符合高斯分布,所以高斯混合模型的概率密度函数表示为:

因此本文求解的问题是:高斯混合模型的Learning问题,即对高斯混合模型进行参数学习。现有观测数据Observed Data X=(x1,x2,...,xk)X=(x_1,x_2,...,x_k)X=(x1,x2,...,xk),隐变量ZZZ,完整数据Complete Data为(X,Z)(X,Z)(X,Z),结合上述的概率密度函数需要学习的参数即为:

本文接下来将探讨如何对上述参数Θ\ThetaΘ进行求解。
二、本文结论
结论1: 高斯混合模型Learning问题使用最大似然估计MLE,无法求出解析解,需要使用EM算法去求解高斯混合模型Learning问题的近似解。
结论2: EM算法求解过程分为E-Step和M-Step,求解过程公式推导较复杂,但需要抓住E-Step和M-Step主要目的是什么,而不能先陷入大量公式中。EM算法思想简单来说:先通过E-Step求解模型期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t)),再通过M-Step最大化期望,当迭代收敛时求出最优的参数值Θ\ThetaΘ。
三、最大似然估计为何无法求解GMM
下面首先给出若使用最大似然估计求解高斯混合模型Learning问题的推导过程:

根据上式得出结论:最后一个推导公式中log后面存在一个求和符号,对于log中存在求和符号无法继续往下求解,所以高斯混合模型无法使用MLE求出解析解,但对于单一高斯分布是可以用MLE进行求解的。
四、EM算法求解GMM
重点: 再次强调,虽然下面的公式推导很复杂,但最主要是弄清楚E-Step和M-Step主要是在做什么事情,理清楚思路比陷入到公式推导中要重要得多。
接下来讲解使用EM算法求解高斯混合模型,先给出EM算法的求解时迭代公式:

EM算法思想:先通过E-Step求解模型期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t)),再通过M-Step最大化期望,当迭代收敛时求出最优的参数值Θ\ThetaΘ。
在讲解EM算法求解高斯混合模型之前,先给出高斯混合模型的边缘概率密度函数p(x)p(x)p(x),联合概率函数p(x,z)p(x,z)p(x,z)以及条件概率密度函数p(z∣x)p(z|x)p(z∣x)。

EM算法:E-Step求解过程
接下来讲解EM算法求解高斯混合模型的E-Step,求期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t)),求解过程相对比较复杂,先直接给出期望的求解结果,不想看推导过程的可以直接跳过。经过E-Step求出的期望为:

将高斯混合模型条件概率密度函数p(z∣x)p(z|x)p(z∣x)和联合概率密度函数p(x,z)p(x,z)p(x,z)代入上式得:

下面给出该E-Step结论的推导过程,较复杂不需要了解的可以直接跳过。

可以看出上式很复杂,现在需要对上式进行简化,我们先拆除上式加和中的一项进行简化:

上式简化过程如下图展示所示:

经过简化后继续推导如下:

至此我们通过E-Step求解出高斯混合模型的期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t))
EM算法:M-Step求解过程
在E-Step我们已经求出了期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t))

将其中的ZiZ_iZi替换成k=1,2,...,Kk=1,2,...,Kk=1,2,...,K表示,并且条件概率不展开表示为如下形式:

上面就是经过E-Step得疯狂推导得出的结论,接下来M-Step就是通过最大化期望Q(Θ,Θ(t))Q(\Theta,\Theta^{(t)})Q(Θ,Θ(t))来求解参数值:

这里以求解参数p1,p2,...,pkp_1,p_2,...,p_kp1,p2,...,pk来简单讲解求解过程,使用的是拉格朗日乘子法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J9MfnS1D-1615892755250)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image090.png)]](https://i-blog.csdnimg.cn/blog_migrate/409e85d7f4d4564545b1b54b7c2ae114.png#pic_center)
对于上述有约束项的最值求解,使用拉格朗日乘子法有:

我们将k从1,2,...,K1,2,...,K1,2,...,K进行赋值之后有:

其中有:

所以可得:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h8H3y60u-1615892755278)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image106.png)]](https://i-blog.csdnimg.cn/blog_migrate/e43504b4acca3ba8ed8b85b340b8ae47.png#pic_center)
至此结合以下两个式子:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3n3XHxnj-1615892755281)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image108.png)]](https://i-blog.csdnimg.cn/blog_migrate/c9fb44541527e17de2673ca03af64113.png#pic_center)
最终求出:

而另外两个参数求解方式和p(t+1)p^{(t+1)}p(t+1)相同。
400

被折叠的 条评论
为什么被折叠?



