需要学习前置知识:
聚类,可参考 sheng的学习笔记-AI-聚类(Clustering)-CSDN博客
EM算法,可参考 sheng的学习笔记-AI-EM算法-CSDN博客
贝叶斯,可参考 sheng的学习笔记-AI-贝叶斯(Bayesian)分类-CSDN博客
高斯混合模型(Gaussian Mixture Models ,GMMs)假设存在一定数量的高斯分布,并且每个分布代表一个簇。高斯混合模型倾向于将属于同一分布的数据点分组在一起。
它是一种基于概率分布的聚类算法,它是首先假设每个簇符合不同的高斯分布,也就是多元正态分布,说白了就是每个簇内的数据会符合一定的数据分布。
我们有三个簇,用三种颜色表示-蓝色、绿色和青色。我们用红色突出显示一个数据点,这个点划分进蓝色簇的概率为1,而划分进绿色簇或者青色簇的概率为0。
考虑另一个点-介于蓝色和青色簇之间(在下图中突出显示),这个点划分进绿色簇的概率为0,对吧?而划分进蓝色、青色簇的概率分别是0.2,0.8。
不再使用基于距离的模型,而是使用基于分布的模型,这就是高斯混合模型出现在本文的意义
想象你在一个果园,这个果园里有苹果、梨和桃子三种水果。每种水果的大小和重量都有一定的特点。高斯混合就像是我们用来描述这些水果特点的工具。在这个模型中,我们用三个“高斯分布”(简单来说,就是一种特殊的图形或曲线)来分别描述苹果、梨和桃子的大小和重量。
每个高斯分布都可以被看作是一条“曲线”,这条曲线的形状由三个参数决定:均值(中心位置)、协方差(宽度或形状)和混合系数(高度)。算法的目标就是调整这些曲线,让它们尽可能准确地描述每种水果的特点。
正态分布(Normal distribution),也称“常态分布”,又叫高斯分布(Gaussian distribution),正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线
上述的只适用于单个变量,在两个变量的情况下,我们将得到如下所示的三维钟形曲线,而不是二维钟形曲线:
对n维样本空间X中的随机向量x,若x服从高斯分布,其概率密度函数为
其中的a,是代表我们选择每个簇的概率,那么它的和肯定是等于1的
概率密度常记为:f(X)=p(x∣μi,∑) 意思就是在参数为一定值的情况下符合的分布,对应相应的概率密度函数。
我们会求出数据 j 符合每个分布的概率,然后获得之中最大的概率,那么数据 j 就会被划分到与之对应的簇
在求该概率时,公式分子和分母都存在某一分布的概率密度,我们只是知道符合高斯分布,但是具体的参数是不知道的,
为了获得概率密度函数,采用极大似然的方式(常见的有EM算法),就是我们的样本数据出现在对应分布的概率乘积达到最大
最大化似然:
上图中公式如下
解释如下
数据集:
参考文章
【机器学习】聚类算法——高斯混合聚类(理论+图解)-CSDN博客
独家 | 使用高斯混合模型,让聚类更好更精确(附数据&代码&学习资源)
书 :机器学习 周志华