高斯混合模型(后面本文中将使用他的缩写 GMM)听起来很复杂,其实他的工作原理和 KMeans 非常相似,你甚至可以认为它是 KMeans 的概率版本。 这种概率特征使 GMM 可以应用于 KMeans 无法解决的许多复杂问题。

因为KMeans的限制很多,比如: 它假设簇是球形的并且大小相同,这在大多数现实世界的场景中是无效的。并且它是硬聚类方法,这意味着每个数据点都分配给一个集群,这也是不现实的。

在本文中,我们将根据上面的内容来介绍 KMeans 的一个替代方案之一,高斯混合模型。

从概念上解释:高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。

高斯混合模型 (GMM) 算法的工作原理

正如前面提到的,可以将 GMM 称为 概率的KMeans,这是因为 KMeans 和 GMM 的起点和训练过程是相同的。 但是,KMeans 使用基于距离的方法,而 GMM 使用概率方法。 GMM 中有一个主要假设:数据集由多个高斯分布组成,换句话说,GMM 模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)

上述分布通常称为多模型分布。 每个峰代表我们数据集中不同的高斯分布或聚类。 我们肉眼可以看到这些分布,但是使用公式如何估计这些分布呢?

在解释这个问题之前,我们先创建一些高斯分布。这里我们生成的是多元正态分布; 它是单变量正态分布的更高维扩展。

让我们定义数据点的均值和协方差。 使用均值和协方差,我们可以生成如下分布。

 # Set the mean and covariancemean1= [0, 0]mean2= [2, 0]cov1= [[1, .7], [.7, 1]]cov2= [[.5, .4], [.4, .5]]# Generate data from the mean and covariancedata1=np.random.multivariate_normal(mean1, cov1, size=1000)data2=np.random.multivariate_normal(mean2, cov2, size=1000)

可视化一下生成的数据

 plt.figure(figsize=(10,6))plt.scatter(data1[:,0],data1[:,1])plt.scatter(data2[:,0],data2[:,1])sns.kdeplot(data1[:, 0], data1[:, 1], levels=20, linewidth=10, color='k', alpha=0.2)sns.kdeplot(data2[:, 0], data2[:, 1], levels=20, linewidth=10, color='k', alpha=0.2)plt.grid(False)plt.show()

我们上面所做的工作是:使用均值和协方差矩阵生成了随机高斯分布。 而 GMM 要做正好与这个相反,也就是找到一个分布的均值和协方差,那么怎么做呢?

工作过程大致如下:

为给定的数据集确定聚类的数量(这里我们可以使用领域知识或其他方法,例如 BIC/AIC)。 根据我们上面的参数,有 1000 个数据点,和两个簇2。

初始化每个簇的均值、协方差和权重参数。

使用期望最大化算法执行以下操作:

  • 期望步骤(E-step):计算每个数据点属于每个分布的概率,然后使用参数的当前估计评估似然函数
  • 最大化步骤(M-step):更新之前的均值、协方差和权重参数,这样最大化E步骤中找到的预期似然
  • 重复这些步骤,直到模型收敛。

以上是GMM 算法的非数学的通俗化的解释。

GMM 数学原理

有了上面的通俗解释,我们开始进入正题,上面的解释可以看到GMM 的核心在于上一节中描述的期望最大化 (EM) 算法。

在解释之前,我们先演示一下 EM 算法在 GMM 中的应用。

1、初始化均值、协方差和权重参数

  • mean (μ): 随机初始化
  • 协方差 (Σ):随机初始化
  • 权重(混合系数)(π):每个类的分数是指特定数据点属于每个类的可能性。 一开始,这对所有簇都是平等的。 假设我们用三个分量拟合 GMM,那么每个组件的权重参数可能设置为 1/3,这样概率分布为 (1/3, 1/3, 1/3)。

2、期望步骤(E-step)

对于每个数据点

高斯混合模型 GMM 的详细解释相关推荐

  1. 高斯混合模型--GMM(Gaussian Mixture Model)

    参考:http://blog.sina.com.cn/s/blog_54d460e40101ec00.html 概率指事件随机发生的机率,对于均匀分布函数,概率密度等于一段区间(事件的取值范围)的概率 ...

  2. 单高斯分布模型GSM,高斯混合模型GMM

    本文就高斯混合模型(GMM,Gaussian Mixture Model)参数如何确立这个问题,详细讲解期望最大化(EM,Expectation Maximization)算法的实施过程. 单高斯分布 ...

  3. 混合高斯模型_大数据小白入门高斯混合模型(GMM)聚类算法

    导读 高斯混合模型(Gaussian Mixture Model)通常简称GMM,是一种业界广泛使用的聚类算法,属于生成式模型,它假设所有的数据样本都是由某一个给定参数的 多元高斯分布 所生成的.从中 ...

  4. 高斯混合模型GMM、核心参数、高斯混合模型GMM的数学形式

    高斯混合模型GMM.核心参数.高斯混合模型GMM的数学形式 高斯混合模型GMM 混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了 ...

  5. 高斯混合模型--GMM

    原文:http://blog.sina.com.cn/s/blog_54d460e40101ec00.html   高斯混合模型--GMM(Gaussian Mixture Model)     统计 ...

  6. EM算法应用:k均值聚类(k-means)和高斯混合模型(GMM)

    文章目录 k-means聚类 EM角度的理解 算法流程 特点 k值选择 局限性 高斯混合模型 GMM的问题描述 1,明确隐变量 2.EM算法的E步:确定Q函数 3. EM算法的E步 4. 停止条件 上 ...

  7. 高斯混合模型GMM的理解

    高斯混合模型(Gaussian Mixture Model,简称GMM)是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型.通俗点 ...

  8. 使用高斯混合模型(GMM)近似未知分布:EM算法的应用

    该篇博客是对邱锡鹏老师<神经网络与深度学习>的学习笔记.在阅读本博文之前,建议读者先阅读上一篇博客EM算法. 高斯混合模型(Gaussian Mixture Model) 如果一个连续随机 ...

  9. EM算法及高斯混合模型GMM详述

    1.最大似然估计 最大似然估计(Maximum Likelihood Estimation,MLE)就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值的计算过程.直白来讲,就是给定了 ...

最新文章

  1. 【Node】node编译(windows)
  2. 安装DelayExchange插件
  3. java json 修改字段_JSON文件-Java:编辑/更新字段值
  4. AI技术的“践行者” — 云测试成为企业降本增效利器
  5. Centos安装MysqlServer与MysqlWorkbench
  6. 保存最大的前20项暴力--Heritage of skywalkert
  7. QueryDSL介绍
  8. 移动电商平台弹性架构案例
  9. python培训班视频 网盘
  10. java fakepath_20140920遇到的问题--JAVA----JS------Tomcat7.0+Onselect灵敏度+fakepath等若干问题...
  11. Latex --- 加三级子标题,解决没有编号问题(已解决)(加头文件即可)
  12. U3D 场景快速搭建教程
  13. python 爬虫-养生之道
  14. 启动此程序因为计算机丢失msvcr110,win7系统提示无法启动此程序计算机中丢失MSVCR110.dll的解决方法...
  15. Unity_二进制,Jason,XML存档读档
  16. 第四十一篇 指令中的VNode
  17. English语法_动名词-概述
  18. 玩转娱乐化时代|淘系互动团队几年的技术沉淀+经验都在这!
  19. WebMatrix的安装
  20. Blender图解教程:Lowpoly人物模型

热门文章

  1. 机器视觉 · 相机分类及通用参数
  2. 淘宝直播零代码弹窗生产方案总结
  3. HDU 6638 [2019 Multi-University Training Contest 6]
  4. 哈佛大学教授建议微软去投资Linux应用软件
  5. c语言打开一幅tif格式图像,关于Windows Picture Viewer无法打开部分tif格式图像的问题...
  6. servlet4.0.1与jsp2.3.3依赖包的导入
  7. 办公室文员应掌握计算机软件,办公文员需要掌握的电脑程序?
  8. [喵咪KafKa(2)]单机模式运行KafKa
  9. Matlab聚类分析(Clusternbsp;Ana…
  10. -apple-system_每日新闻摘要:Apple-Qualcomm解决方案的含义