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

作者 : 开心源码 本文共1158个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共144人阅读

当我们在做聚类任务时,
假如每一类的分布已知的话,那么要求出每个样本属于哪一类,
只要要计算出它归属于 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 的值。

上一篇 目录 已是最后

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 如何用高斯混合模型 GMM 做聚类

发表回复