在本篇文章中将解释高斯混合模型(GMM)的关键部分背后的数学原理,即期望最大化(EM),以及如何将这些概念转换为Python。 这个故事的重点是EM或M-Step。

注意:这不是有关端到端GMM算法的全面说明。 要进行更深入的研究,请参阅我们以前翻译的文章。

期望最大化

GMM中有一系列步骤,通常称为“期望最大化”,简称“ EM”。 要解释如何理解EM数学,请首先考虑您可能要处理的模型。

样本由图形上的点表示。这些点形成一些不同的斑点。每个斑点都有一个中心,每个点都与每个斑点的中心相距一定距离。给定GMM模型数据,目标通常是根据最接近的中心按其样本点标记其他样本。有些点距离一个或多个中心几乎相等,因此,我们希望基于某种概率来标记点。

EM用到的符号

要学习如何学习机器学习算法,您一生中需要一些希腊语。 因为算法中符号基本上都是以希腊文表示的。 尽管可能会想掩盖基础知识,但是对单个希腊字母的简单掌握可以帮助您理解算法中的重要概念。

算法可能会令人生畏且令人困惑。 例如,乍看之下,高度集中的希腊符号有时足以使人窒息。 但是不要浪费时间,我们在这里只要考虑现在要使用的符号即可

除此以外,我们也有一些英文字母在EM中代表GMM的意思。通常,英文字母围绕着希腊字母,就像小领航鱼围着大鲨鱼游动。就像小鱼一样,英文字母有一个重要的作用,它为如何解释算法提供了指导。

M-Step的数学解释

现在我们已经隔离了方程的每个组成部分,让我们通过检查M-Step,将它们组合成一些常用的数学短语,这些短语对于用EM语言进行对话很重要。

簇,高斯,字母J或K,有时还包括C:通常都是同一件事-如果我们有3个簇,那么您可能会听到“每个高斯”,“每个j”,“每个高斯j”或 “对于每个K组件”-这些都是谈论相同3个簇的不同方法。 在数据方面,我们可以绘制(x,y)样本/点的数组,并查看它们如何形成簇。

# a 2D array of samples [features and targets]
# the last column, targets [0,1,2], represent three clusters
# the first two columns are the points that make up our features
# each feature is just a set of points (x,y) in 2D space
# each row is a sample and cluster label[[-7.72642091 -8.39495682  2. ][ 5.45339605  0.74230537  1. ][-2.97867201  9.55684617  0. ][ 6.04267315  0.57131862  1. ] ...]

软分类(Soft Assignments),概率,响应度(Responsibility):聚类的一个主要思想是我们希望为每个样本找到一个数字,以告诉我们样本属于哪个聚类。 在GMM中,对于我们评估的每个样本,我们可能会返回代表“每个高斯j的响应度”,每个“软分类”或每个“概率”的值。

这些阶段通常都是关于同一件事的,但响应度与概率之间存在关键区别。

# an array of assignment data about the 2D array of samples
# each column represents a cluster
# each row represents data about each sample
# in each row, we have the probability that a sample belongs to one of three clusters - it adds up to 1 (as it should)
# but the sum of each column is a big number number (not 1)print(assignments)
# sample output: an array of assignment data
[[1.00000000e+000 2.82033618e-118 1.13001412e-070][9.21706438e-074 1.00000000e+000 3.98146031e-029][4.40884339e-099 5.66602768e-053 1.00000000e+000]...]print(np.sum(assignments[0])
# sample output: the sum across each row is 1
1print(np.sum(assignments[:, 0])
# sample output: the sum in each col is a big number that varies
# Little Gamma: the really small numbers in each column
# Big Gamma: the sum of each column, or 33.0 in this sample33.0

大写伽玛,小写伽玛,J,N,x和i:EM中的核心任务是为每个群集优化三组参数,或者“对于每个j,优化w(

理解高斯混合模型中期望最大化的M-Step相关推荐

  1. 高斯混合模型和期望最大化的完整解释

    In the previous article, we described the Bayesian framework for linear regression and how we can us ...

  2. EM算法推导以及在高斯混合模型中的应用(详细)

    文章目录 EM算法的导出 EM算法的收敛性 EM算法在高斯混合模型中的应用 高斯混合模型 高斯混合模型参数估计的EM算法 算法步骤 算法推导 以一维情形为例p=1 参考教材:<统计学习方法> ...

  3. 一维数据高斯滤波器_透彻理解高斯混合模型

    高斯混合模型GMM是一个非常基础并且应用很广的模型.对于它的透彻理解非常重要. 本文从高斯分布开始逐步透彻讲解高斯混合模型 高斯分布 高斯分布有两个参数: μ = mean(数据的中心) σ2 =va ...

  4. 使用高斯混合模型建立更精确的聚类

    介绍 我很喜欢研究无监督学习问题.它们为监督学习问题提供了一个完全不同的挑战,用我拥有的数据进行实验的发挥空间要比监督学习大得多.毫无疑问,机器学习领域的大多数发展和突破都发生在无监督学习领域. 无监 ...

  5. 高斯混合模型(GMM)浅入理解

    学习的资料主要是看大佬的一些博客和李航老师的统计学习第九章,感谢! 其中有篇笔记让小匹眼前一亮,这里贴出来: 知乎_戴文亮_高斯混合模型(GMM) 进入正题 目录 1.1 概念理解 1.2 隐变量 1 ...

  6. 高斯混合模型理解汇总

    https://blog.csdn.net/weixin_42555080/article/details/92222665 高斯混合模型终极理解 https://blog.csdn.net/lin_ ...

  7. 独家 | 使用高斯混合模型,让聚类更好更精确(附数据代码学习资源)

    作者:AISHWARYA SINGH 翻译:张玲 校对:张一豪 本文约3500字,建议阅读10+分钟. 本文简单介绍聚类的基础知识,包括快速回顾K-means算法,然后深入研究高斯混合模型的概念,并用 ...

  8. EM算法高斯混合模型原理详解及小例子

    EM算法与混合高斯模型 EM算法经常用在混合高斯模型下,那么首先我们先介绍一下什么是混合高斯模型 什么是混合高斯模型 首先我们对于单个高斯模型我们会有如下数据,并且不同的数据服从的高斯也不同,也就是它 ...

  9. sklearn自学指南(part29)--高斯混合模型

    学习笔记,仅供参考,有错必究 文章目录 高斯混合模型 高斯混合 `GaussianMixture`类的利与弊 利 弊 经典高斯混合模型中组个数的选择 估计算法期望最大化 变分贝叶斯高斯混合 估计算法: ...

最新文章

  1. 游戏开发--开源21---CroftSoft Code Library |Gibdo|JOGR...
  2. wordpress 新建php文件大小,WordPress最大上传文件大小限制修改
  3. SQL2008如何创建定时任务作业
  4. JVM--对象的实例化过程
  5. java面向对象:异常处理 —(18)
  6. 显式调用构造函数产生的悲剧
  7. meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1 /
  8. php单引号和双引号的速度,在php中单引号和双引号是否有性能优势?[复制]
  9. POJ3061尺取法
  10. yolo系列之yolo v3【深度解析】
  11. python提取url的顶级域名及域名后缀
  12. 史上最全CAD快捷键大全汇总
  13. python练习题(一):输入某年某月某日,判断这一天是这一年的第几天
  14. matlab中integrator,matlab:Simulink Integrator的理解
  15. 未来架构:从服务化到云原生
  16. 移动硬盘如何分区?易我分区大师帮你搞定!
  17. 返回const指针与返回const引用区别
  18. Excel如何快速对选中区域截图?
  19. python列表是顺序表还是链表_Python 中的 List 是封装了顺序存储结构还是链表存储结构?...
  20. Rambo: Last Blood

热门文章

  1. 网站备案靠谱吗_代理网站备案是怎么回事,代理网站备案靠谱吗? | 帮助信息-动天数据...
  2. POCIB实训半月总结
  3. 无障碍开发_游戏开发的障碍已消除
  4. 不靠卖手机半年收益4个亿,魅族下半场突围的秘诀是什么?
  5. 如何看待莫言获诺贝尔文学奖
  6. ChatGPT会带来哪些创业机会?又会带来哪些职业危机?
  7. Flutter发送系统通知(flutter_local_notifications)
  8. 13.导数定义及可导与连续的关系
  9. 有人说GRS RCS认证很难
  10. 反⑨baka拖更大队:临时约法