前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用高斯混合模型 GMM 做聚类

如何用高斯混合模型 GMM 做聚类

作者头像
杨熹
发布2018-12-26 17:29:42
1.9K0
发布2018-12-26 17:29:42
举报
文章被收录于专栏:杨熹的专栏杨熹的专栏

当我们在做聚类任务时, 如果每一类的分布已知的话,那么要求出每个样本属于哪一类, 只需要计算出它归属于 k 个不同簇的概率,然后选择概率值最高的那个簇作为它最终的归属即可。

但很多时候,样本分布的参数乃至概率密度函数的形式都是未知的 这时,我们通过设定一个目标,在优化目标的时候求出这些未知的参数。

在聚类这个问题中,我们希望达到的目标是: 第 i 个样本 x(i) 之所以被归属到了第 k 个簇,是因为 它在这一类的概率是所有类中概率最大的。

所以目标为最大化样本集的集体概率:

这其实是一个似然函数,要优化它,可以用极大化对数似然函数的方法,所以取对数。 这里面的每个 ϕ 都是一个独立的概率密度函数形式,而 θ 是对应的参数集合, 这时 K 个分模型的概率分布都不相同——每个概率密度函数的形式不同,对应参数集合不同,参数本身又都是未知的,如果直接求解就会非常困难,

所以,这时我们可以把所有的 ϕ 都当作高斯分布即可。也就是说这些样本分属的模型对应的概率密度函数形式相同,参数类型也相同,只是参数的具体取值有所差别:

高斯分布(Gaussian Distribution),又名正态分布(Normal distribtion),它的密度函数如上图公式所示。

现实生活中的许多自然现象都被发现近似地符合高斯分布,比如人类的寿命、身高、体重等,在金融、科研、工业等各个领域都有大量现实业务产生的数据被证明是符合高斯分布的。


这时就用到了 高斯混合模型(GMM), 就是将若干个概率分布为高斯分布的分模型混合在一起的模型。

之所以可以把所有的 ϕ 都当作高斯分布, 是高斯分布有一个非常重要的性质:中心极限定理

中心极限定理: 在适当的条件下,大量相互独立的随机变量的均值经适当标准化后,依分布收敛于高斯分布, 即无论 xi 的自身分布是什么,随着 n 变大,这些样本平均值经过标准化处理—后的分布,都会逐步接近高斯分布。

有了这个定理,当我们遇到一个问题的时候,如果对某一变量做定量分析时其确定的分布情况未知,只要掌握了大量的观测样本,都可以按照服从高斯分布来处理这些样本。 例如我们要做一个聚类任务,无论原本每一簇自身的分布如何,我们都可以用高斯模型来近似表示它们。这个混合模型,就可以是一个高斯混合模型(GMM)

GMM 的学习目标为:

x(i) 是已经观测到的样本观测数据,是已知的,zik 是未知的。 因为有没被观测到的隐变量存在,这样的对数似然函数需要用 EM 算法来优化。

用 EM 算法学习 GMM 的参数分为4步:

各参数取初始值开始迭代; E 步; M 步; 重复 E 步和 M 步,直到收敛

E 步的任务是求 Q M 步的任务是求 arg max Q

在 E 步,求出了 zik,代入 Q,得到 Q 只和参数 α,μ,σ 有关, 在 M 步,通过分别对各个自变量求偏导,再令导数为0,来求取 α,μ,σ 的极值点, 然后再带回到函数中去求整体 arg max Q 的值。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档