ML基础:高斯混合模型是什么?

高斯混合模型是一种概率模型,它假设所有数据点都是从有限数量的高斯分布的混合参数中生成的。

1.高斯混合模型概念

实际上,可以将混合模型视为对 k-means聚类算法的扩展,它包含了数据的协方差结构以及隐高斯模型中心的信息。该方法使用了高斯分布作为参数模型,并使用了期望最大(Expectation Maximization,简称EM)算法进行训练。

2.基本原理与相关知识

2.1 高斯分布

**高斯分布(Gaussian distribution)经常被称为正态分布(normal distribution),是一种在自然界大量存在的、最为常见的分布形式。**下图是一张标准的高斯分布曲线图,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线:

image

高斯分布的概率密度函数公式如下:

image

公式中包含两个参数,参数μ表示均值,参数σ表示标准差,均值对应正态分布的中间位置,在本例中我们可以推测均值在180cm附近。标准差衡量了数据围绕均值分散的程度。

注意:在实践中,概率分布要先进行归一化,也就是说曲线下面的面积之和需要为1,这样才能确保返回的概率密度在允许的取值范围内。

2. 期望最大化算法(EM)与高斯模型训练

模型的EM训练过程:

  1. 观察采样的概率值和模型概率值的接近程度,来判断一个模型是否拟合良好。

​2.调整模型以让新模型更适配采样的概率值。

3.反复迭代这个过程很多次,直到两个概率值非常接近时,我们停止更新并完成模型训练。

模型生成的数据来决定似然值,即通过模型来计算数据的期望值。通过更新参数μ和σ来让期望值最大化。这个过程可以不断迭代直到两次迭代中生成的参数变化非常小为止。该过程和k-means的算法训练过程很相似(k-means不断更新类中心来让结果最大化),只不过在这里的高斯模型中,需要同时更新两个参数:分布的均值和标准差

3. 高斯混合模型实际案例

虽然GMM经常用于聚类,但我们可以将获得的聚类与数据集中的实际类别进行比较。我们用训练集中的类的均值初始化高斯矩阵的均值,以使这种比较有效。

image

image

image

image

image

image

4. k-means和GMM的关系

在特定条件下,k-means和GMM方法可以互相用对方的思想来表达。在k-means中根据距离每个点最接近的类中心来标记该点的类别,这里存在的假设是每个类簇的尺度接近且特征的分布不存在不均匀性。这也解释了为什么在使用k-means前对数据进行归一会有效果。高斯混合模型则不会受到这个约束,因为它对每个类簇分别考察特征的协方差模型。

**K-means算法可以被视为高斯混合模型(GMM)的一种特殊形式。**整体上看,高斯混合模型能提供更强的描述能力,因为聚类时数据点的从属关系不仅与近邻相关,还会依赖于类簇的形状。n维高斯分布的形状由每个类簇的协方差来决定。在协方差矩阵上添加特定的约束条件后,可能会通过GMM和k-means得到相同的结果。

实践中如果每个类簇的协方差矩阵绑定在一起(就是说它们完全相同),并且矩阵对角线上的协方差数值保持相同,其他数值则全部为0,这样能够生成具有相同尺寸且形状为圆形类簇。在此条件下,每个点都始终属于最近的中间点对应的类。

在k-means方法中使用EM来训练高斯混合模型时对初始值的设置非常敏感。而对比k-means,GMM方法有更多的初始条件要设置。实践中不仅初始类中心要指定,而且协方差矩阵和混合权重也要设置。可以运行k-means来生成类中心,并以此作为高斯混合模型的初始条件。由此可见并两个算法有相似的处理过程,主要区别在于模型的复杂度不同。

**整体来看,所有无监督机器学习算法都遵循一条简单的模式:给定一系列数据,训练出一个能描述这些数据规律的模型(并期望潜在过程能生成数据)。**训练过程通常要反复迭代,直到无法再优化参数获得更贴合数据的模型为止。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值