前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小孩都看得懂的 GMM

小孩都看得懂的 GMM

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

回顾聚类

聚类 (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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档