Gaussion Mixture Models 原理篇
本文是 Cory Maklin 博客关于 Gaussian Mixture Models 的阅读整理。
本文是Cory Maklin博客的阅读整理
Gaussian Mixture Model 背景
大体上和 k-means 是类似的,主要是两点区别
- 解决了 k-means 没有解决的一个关键性问题 variance, 就是说没有考虑到cluster内部分布到底是什么形状,直接楞拿一个hyper-sphere球状空间硬套

相比于上图,我们更希望直接得到下图

- k-means 进行 hard-classification 而 gaussian-mixture-model 进行的是 soft-classification, k-means中直接就告诉一个点属于哪一个cluster,没有输出属于各个cluster的概率,一锤子买卖没有纠正机会
初识
从数学的角度,高斯混合模型对一个点属于某个分布(cluster)的概率进行建模
P (z = k|q) 中 q表示不同高斯分布的参数(均值,方差,权重)
EM 算法
在 GMM的模型中, 一个点来自哪个高斯分布是隐含变量, 高斯混合模型通过隐变量生成样本, 每个样本点的概率等于各个高斯模型的概率的加权和
-
初始化高斯分布的参数 $\theta$
-
按照下面的步骤迭代直到收敛
- 计算 $P(z_i = k| x_i, \theta)$ 也就是某一个数据点位于来自cluster k的概率是多少
- 更新高斯分布的参数q, 使得概率最大
看上去是有点抽象的…., 可以参考一篇 EM算法介绍 的视频理解
代码
GMM (Gaussian mixture model) 的输入是cluster_number, 初始化分布的参数, 和dbscan一样, 也有一些经验公式可以参考, 比如 AIC 和 BIC
小结
GMM 是 K-means的加强版, 额外考虑到了数据簇内部分布不均的情况