首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小孩都看得懂的 GMM

小孩都看得懂的 GMM

作者头像
用户5753894
发布于 2021-07-07 10:00:28
发布于 2021-07-07 10:00:28
1K0
举报
文章被收录于专栏:王的机器王的机器

回顾聚类

聚类 (clustering) 是无监督学习中的一种任务类型,将没有标准的数据“聚”在一起,“赋予”它们标签,其过程如下面两图所示。

更多细节可参考【小孩都看得懂的聚类】一贴

1

一个难题

上图的数据可以“完美”聚成三类,下图的数据呢?

一种合适的聚类如下图所示。

2

软聚类

只要把“硬聚类 (hard clustering)” 的假设放宽到“软聚类 (soft clustering)”,问题就解决了。

硬聚类将每个点 (数据) 上同一种颜色,软聚类可以给点赋予不同颜色,有多少个类就有多少种颜色。以上图举例 (有两类):

  • 那些在黄圈 (不和蓝圈交集) 的点几乎都呈黄色
  • 那些在蓝圈 (不和黄圈交集) 的点几乎都呈蓝色
  • 那些在黄蓝圈相交处的点同时层黄色篮色

黄色蓝色的比例由该店属于黄圈蓝圈的可能性决定。

上面逻辑弄懂,接下来就来介绍“聚类”的模型,混合高斯模型 (Gaussian Mixture Model, GMM)。

首先可视化一下高斯分布。

3

高斯分布

下图展示两种二维高斯分布,两个分布咋一看很相似(投影到水平面的中心点一样)。

将等高线画出来投影到水平面,就可以清晰看出两个高斯的不同之处了:

  • 第一个高斯在 x 和 y 方向的方差一样,而且 x 和 y 之间不相关
  • 第二个高斯在 x 和 y 方向的方差不一样,而且 x 和 y 之间相关

要点:二维高斯分布由均值、方差和协方差决定。

现在可以开始讲解 GMM 的算法了。

4

GMM 第一步:给点上色

核心:给定分布,给点上色。

以下图中五点举例,最边上的两点分别是黄色篮色,因为它们几乎属于黄圈篮圈。中间那点即可能属于黄圈也可能属于篮圈,可能性大概 50:50,因此一半黄色一半蓝色

给更多的点上色,没问题。

5

为了能更清晰的了解上色原理,假象我们从侧面看上面的立体图

这样可以“看到”下面一维的高斯分布 (从一个侧面看二维高斯分布就是一维高斯分布)。

左边的点明显更有可能来自黄色高斯分布,大概 75% 的可能性,因此点中黄色蓝色比例为 3:1。

中间的点有一半可能来自黄色高斯分布,一半可能来自蓝色高斯分布,因此点中黄色蓝色比例为 1:1。

右边的点极有可能来自蓝色高斯分布,大概 90% 的可能性,因此点中黄色蓝色比例为 1:9。

6

GMM 第二步:拟合高斯分布

核心:给定颜色,拟合高斯。

给定一组属于同类别数据点,即同种颜色,我们能很容易计算出质心 (center of mass),即统计学上的均值 (average) 点。

这组点在 x 和 y 方向分散程度,可用方差 (variance) 来衡量。

这组点的相关程度,可用协方差 (covariance) 来衡量。

算完均值、方差、协方差之后,带入高斯概率分布函数表达式就能得到一个具体的高斯分布了。

本节一开头说的给定颜色,意思就是能够计算这些数据点的均值、方差和协方差。

7

上节的结论也适用于非完整点,即非完整点 (如 25% 的点,10% 的点) 也可以拟合出高斯分布。

8

GMM 的两步弄清后,让我们完整来看如何用 GMM 来给数据聚类。

0 - 给定数据点

1 - 随机初始化两个高斯分布

2 - 根据两个高斯分布,给所有点上色

3 - 根据每个点的颜色 (或混合颜色),拟合两个高斯分布

拟合黄色高斯分布

拟合蓝色高斯分布

4 - 再根据两个高斯分布,给所有点上色

5 - 再根据每个点的颜色 (或混合颜色),拟合两个高斯分布

6 - 再根据两个高斯分布,给所有点上色

直到收敛。

这个收敛从表面上看,就是拟合的高斯分布很接近了,从细节来说,就是两次迭代的参数差异 (均值、方差、协方差) 小于一个阈值了。

9

总结:一图胜千言

GMM 就两步,不断运行直到收敛:

1. 给定分布,给点上色。

2. 给定颜色,拟合高斯。

朋友们,你们弄懂了 GMM 吗?


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王的机器 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用高斯混合模型建立更精确的聚类
我真的很喜欢研究无监督学习问题。它们为监督学习问题提供了一个完全不同的挑战,用我拥有的数据进行实验的发挥空间要比监督学习大得多。毫无疑问,机器学习领域的大多数发展和突破都发生在无监督学习领域。
磐创AI
2019/11/18
1.2K0
使用高斯混合模型建立更精确的聚类
​Python 离群点检测算法 -- GMM
GMM 是由杜达和哈特在 1973 年的论文中提出的无监督学习算法。如今,GMM 已被广泛应用于异常检测、信号处理、语言识别以及音频片段分类等领域。在接下来的章节中,我会首先解释 GMM 及其与 K-均值法的关系,并介绍 GMM 如何定义异常值。然后,我会演示如何使用 GMM 进行建模。
数据STUDIO
2024/04/30
5750
​Python 离群点检测算法 -- GMM
如何利用高斯混合模型建立更好、更精确的集群?
高斯混合模型是一种强大的聚类算法。本文将带你了解高斯混合模型的工作原理以及如何在 Python 中实现它们,我们还将讨论 k-means 聚类算法,看看高斯混合模型是如何对它进行改进的。
AI研习社
2019/12/10
9420
高斯混合模型 GMM 的详细解释
来源:机器学习杂货店本文约3500字,建议阅读10+分钟本文为你介绍 KMeans 的一个替代方案之一,高斯混合模型。 高斯混合模型(后面本文中将使用他的缩写 GMM)听起来很复杂,其实他的工作原理和 KMeans 非常相似,你甚至可以认为它是 KMeans 的概率版本。这种概率特征使 GMM 可以应用于 KMeans 无法解决的许多复杂问题。 因为KMeans的限制很多,比如:它假设簇是球形的并且大小相同,这在大多数现实世界的场景中是无效的。并且它是硬聚类方法,这意味着每个数据点都分配给一个集群,这也是不
数据派THU
2023/05/11
1.1K0
高斯混合模型 GMM 的详细解释
高斯混合模型:GMM和期望最大化算法的理论和代码实现
高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。
deephub
2023/12/04
7120
高斯混合模型:GMM和期望最大化算法的理论和代码实现
小孩都看得懂的聚类
本文是「小孩都看得懂」系列的第四篇,本系列的特点是没有公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!
用户5753894
2019/09/25
9060
小孩都看得懂的聚类
混合高斯模型(GMM)
【摘要】 1 GMM基础高斯混合模型(GMM)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况。为什么GMM可以拟合出任意类型的分布?不仅GMM可以,只要性质不太奇怪的混合模型一般都能近似任意分布。这个思想和泰勒展开、傅里叶变换是类似的,任何波形都可以用正弦波叠加表示,而且频率还是基频的整数倍。利用高斯混合模型进行聚类,本质上...
玖柒的小窝
2021/09/16
1.5K0
混合高斯模型(GMM)
数据科学家必须要掌握的5种聚类算法
编译 | AI科技大本营 参与 | 刘 畅 编辑 | 明 明 【AI科技大本营导读】聚类是一种将数据点按一定规则分群的机器学习技术。给定一组数据点,我们可以使用聚类算法将每个数据点分类到一个特定的簇中。理论上,属于同一类的数据点应具有相似的属性或特征,而不同类中的数据点应具有差异很大的属性或特征。聚类属于无监督学习中的一种方法,也是一种在许多领域中用于统计数据分析的常用技术。 在数据科学中,我们可以使用聚类分析,来获得一些有价值的信息。其手段是在应用聚类算法时,查看数据点会落入哪些类。现在,我
AI科技大本营
2018/04/26
9480
数据科学家必须要掌握的5种聚类算法
5种主要聚类算法的简单介绍
AiTechYun 编辑:Yining 聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不同的属性和/或特征。聚类是一种无监督学习的方法,是许多领域中常用的统计数据分析技术。 在数据科学中,我们可以使用聚类分析从我们的数据中获得一些有价值的见解。在这篇文章中,我们将研究5种流行的聚类算法以及它们的优缺点。 K-MEANS聚类算法 K-Means聚类算法可能是大
AiTechYun
2018/03/27
1.5K0
5种主要聚类算法的简单介绍
技术干货 | 一文详解高斯混合模型原理
高斯混合模型(Gaussian Mixture Model)通常简称GMM,是一种业界广泛使用的聚类算法,该方法使用了高斯分布作为参数模型,并使用了期望最大(Expectation Maximization,简称EM)算法进行训练。本文对该方法的原理进行了通俗易懂的讲解,期望读者能够更直观地理解方法原理。文本的最后还分析了高斯混合模型与另一种常见聚类算法K-means的关系,实际上在特定约束条件下,K-means算法可以被看作是高斯混合模型(GMM)的一种特殊形式(达观数据 陈运文)。 什么是高斯分布?
达观数据
2018/03/30
2.4K0
技术干货 | 一文详解高斯混合模型原理
K-Means(K均值)、GMM(高斯混合模型),通俗易懂,先收藏了!
什么是聚类算法?聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不同的属性和/或特征。聚类是一种无监督学习的方法,是许多领域中常用的统计数据分析技术。
mantch
2019/07/30
6.7K0
K-Means(K均值)、GMM(高斯混合模型),通俗易懂,先收藏了!
EM算法与高斯混合聚类:理解与实践
文章链接:https://cloud.tencent.com/developer/article/2467869
小馒头学Python
2024/11/20
2040
EM算法与高斯混合聚类:理解与实践
Must Know! 数据科学家们必须知道的 5 种聚类算法
聚类是一种关于数据点分组的机器学习技术。给出一组数据点,我们可以使用聚类算法将每个数据点分类到特定的组中。理论上,同一组中的数据点应具有相似的属性或特征,而不同组中的数据点应具有相当不同的属性或特征(即类内差异小,类间差异大)。聚类是一种无监督学习方法,也是一种统计数据分析的常用技术,被广泛应用于众多领域。 在数据科学中,我们可以通过聚类算法,查看数据点属于哪些组,并且从这些数据中获得一些有价值的信息。今天,我们一起来看看数据科学家需要了解的 5 种流行聚类算法以及它们的优缺点。 一、K 均值聚类 K-
AI研习社
2018/03/28
1.3K0
Must Know! 数据科学家们必须知道的 5 种聚类算法
看得见的高斯过程:这是一份直观的入门解读
作者:Jochen Görtler、Rebecca Kehlbeck、Oliver Deussen
机器之心
2019/03/06
1.2K0
看得见的高斯过程:这是一份直观的入门解读
【技术分享】高斯混合模型
  在上述定义中,x是维数为D的样本向量,mu是模型期望,sigma是模型协方差。对于单高斯模型,可以明确训练样本是否属于该高斯模型,所以我们经常将mu用训练样本的均值代替,将sigma用训练样本的协方差代替。 假设训练样本属于类别C,那么上面的定义可以修改为下面的形式:
腾讯云TI平台
2019/07/04
1.4K0
通透!十大聚类算法全总结!!
这些聚类算法各有优缺点,适用于不同类型的数据和不同的应用场景。选择合适的聚类算法通常取决于具体的需求、数据的特性和计算资源。
Python编程爱好者
2023/11/28
7.1K0
通透!十大聚类算法全总结!!
使用Python实现高斯混合模型聚类算法
高斯混合模型(Gaussian Mixture Model,GMM)是一种基于概率分布的聚类方法,它假设数据集由若干个高斯分布组成,每个高斯分布代表一个簇。在本文中,我们将使用Python来实现一个基本的高斯混合模型聚类算法,并介绍其原理和实现过程。
Echo_Wish
2024/04/15
5930
从最大似然估计开始,你需要打下的机器学习基石
选自Medium 作者:Jonny Brooks-Bartlett 机器之心编译 概率论是机器学习与深度学习的基础知识,很多形式化的分析都是以概率的形式进行讨论。而这些讨论或多或少都离不开最大似然估计,因为它是参数估计的基础之一,也是构建模型的基石。在本文中,我们从最大似然估计到贝叶斯推理详细地讨论了机器学习的概率论基石,并希望能为读者的预习与复习提供优秀的参考资源。 什么是参数? 在机器学习中,我们经常使用一个模型来描述生成观察数据的过程。例如,我们可以使用一个随机森林模型来分类客户是否会取消订阅服务(称
机器之心
2018/05/10
1K0
第十六章 异常检测
在接下来的一系列视频中,我将向大家介绍异常检测(Anomaly detection)问题。这是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。
tomas家的小拨浪鼓
2019/03/19
9050
第十六章 异常检测
机器学习高斯混合模型(后篇):GMM求解完整代码实现
《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 — 回顾 前面推送中,我们介绍了高斯混合模型(GMM)的聚类原理,以及聚类求解的公式推导,如果您想了解这部分,请参考之前的推送: 机器学习高斯混合模型:聚类原理分析(前篇) 机器学习高斯混合模型(中篇):聚类求解 总结来说,GMM是非常好的聚类利器,它不光能给出样本所属的类别,还能给出属于每个类别的概率,进而转化成得分值,有时所属每个簇的得
double
2018/04/02
2.7K0
机器学习高斯混合模型(后篇):GMM求解完整代码实现
相关推荐
使用高斯混合模型建立更精确的聚类
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档