高斯混合模型:一个数据集可以由1 - n个高斯模型加权求和来生成。采用概率模型来表达数据分布。
由于涉及的符号太多,因此算法详细推导过程在这份PDF里面:
http://download.csdn.net/detail/zk_j1994/9921030
1. 算法原理
1.1 GMM为什么需要EM算法
1)无限个高斯分布可以生成任意复杂的数据分布形式,我们试图通过设置k个高斯模型来建立一个生成式模型,模拟当前数据集的分布。其中k为超参数,需要手动调参。
2)这么确定这k个高斯模型的参数:每个模型的均值向量,协方差矩阵;模型的混合系数。
3)对所有样本属于一个高斯模型的后验概率进行极大似然估计? NO,因为不能确定哪些样本是属于同一个高斯模型。
4)EM算法? Yes,EM算法适用于含有隐变量(无法观测到的变量,GMM中的隐变量就是每个样本的label,这个label可以确定哪些样本属于同一簇,但我们事先不知道)的概率模型求参数。
1.2 EM算法
EM算法本质上还是MLE,但是是一个不断迭代,逐渐逼近的过程。而MLE只需一次就确定模型参数。
1)初始化GMM的参数: