高斯混合模型

Gaussian Mixture Model

事实上,GMM 和 k-means 很像,不过 GMM 是学习出一些概率密度函数来(所以 GMM 除了用在 clustering 上之外,还经常被用于 density estimation ),简单地说,k-means 的结果是每个数据点被 assign 到其中某一个 cluster 了,而 GMM 则给出这些数据点被 assign 到每个 cluster 的概率,又称作soft assignment。


GMM的假设(归纳偏执):数据服从 Mixture Gaussian Distribution

如何用 GMM 来做 clustering : 假定数据是由 GMM 生成出来的,那么我们只要根据数据推出 GMM 的概率分布来就可以了,然后 GMM 的K个 Component 实际上就对应了K个 cluster 了。根据数据来推算概率密度通常被称作 density estimation ,特别地,当我们在已知(或假定)了概率密度函数的形式,而要估计其中的参数的过程被称作“参数估计”。

找到这样一组参数,它所确定的概率分布生成这些给定的数据点的概率最大,而这个概率实际上就等于ΠP(Xi),我们把这个乘积称作似然函数 (Likelihood Function)

通常单个点的概率都很小,许多很小的数字相乘起来在计算机里很容易造成浮点数下溢,因此我们通常会对其取对数,把乘积变成加和,得到 log-likelihood function: ΣlogP(Xi). 下来我们只要将这个函数最大化(通常的做法是求导并令导数等于零,然后解方程),亦即找到这样一组参数值,它让似然函数取得最大值,我们就认为这是最合适的参数,这样就完成了参数估计的过程。

GMM 的 log-likelihood function :

GMM算法的过程:

GMM 每一次迭代的计算量比 K-means 要大许多,一个更流行的做法是先用 K-means (已经重复并取最优值了)得到一个粗略的结果,然后将其作为初值(只要将 K-means 所得的 centroids 传入gmm函数即可),再用 GMM 进行细致迭代。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • EM算法 leengsmile2016年9月24日 EM 算法 本文档介绍如何在R语言中,通过EM算法,估计高斯混...
    leengsmile阅读 15,710评论 0 10
  • 亲爱的女孩 我们似乎总是以不同的面貌停留在别人的青春里,这是今天恍惚间从老同学口中得知的,在我抱怨为什么你留下的东...
    石二狗阅读 152评论 0 0
  • 人类一思考,上帝就发笑。 这么说来人类思不思考好像都无关紧要,身为人类还在瞎琢磨似乎是一件很可笑的事情。 即便如此...
    ThisToShallPass阅读 186评论 0 0
  • 《盼儿归》 流水声悠悠 夕阳人在黄昏后 身背草篓沿河走 秋风阵阵撩发头 拽着单薄青衫袖 淡淡清月洒村口 小河岸边人...
    常乐人生阅读 1,773评论 3 1
  • 简介: 前段时间公司需要iOS端获取手机通讯录,然后通过MFi(后续将写一写关于BLE以及MFi的相关文章)同步到...
    水丿果糖阅读 1,662评论 0 1