一、概述
对于高斯混合模型的假设,首先来看以下两个例子。
首先以一维数据为例,我们可以看到下图通过将多个单一的高斯模型加权叠加到一起就可以获得一个高斯混合模型,这个混合模型显然具备比单个高斯模型更强的拟合能力:
高斯混合模型
再举一个二维数据的例子,在下图中可以看到有两个数据密集区域,对应的概率分布也就会有两个峰。高斯混合模型可以看做生成模型,其数据生成过程可以认为先选择一个高斯分布,再从被选择的高斯分布中生成数据:
高斯混合模型
综合上述两个例子,我们可以从两种角度来描述高斯混合模型:
- 几何角度:加权平均
可以认为高斯混合模型是将多个高斯分布加权平均而成的模型:
- 混合模型(或者生成模型)角度
可以认为高斯混合模型是一种含有隐变量的生成模型:
我们可以画出高斯混合模型的概率图:
概率图
实心点代表模型的参数,右下角的代表样本个数。
二、尝试用极大似然估计来求解
然后我们使用极大似然估计法求解这个参数估计问题。首先告知结论:极大似然估计法无法求解含有隐变量的参数估计问题,或者说不能得到解析解。接下来来看为什么不能用极大似然估计法来求解:
极大似然估计法不能得到解析解的原因为函数内部出现了求和符号。当然我们可以使用梯度下降法来进行求解,但是对于含有隐变量的模型来说使用EM算法是更为合适的。
三、使用EM算法求解
- E step
对于上式展开的每一项,我们可以进行化简:
同样的我们可以得到:
- M step
EM算法的迭代公式为:
于是可以转化为以下约束优化问题:
然后使用拉格朗日乘子法进行求解: