数据分析实战 45 讲
陈旸
清华大学计算机博士
123928 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
第二模块:数据分析算法篇 (20讲)
第四模块:数据分析工作篇 (2讲)
数据分析实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

28丨EM聚类(上):如何将一份菜等分给两个人?

完善参数
计算期望值
初始化参数
求解最大似然估计
估计参数
优化参数
估计隐含变量
不同模型的应用
应用领域
隐马尔科夫模型
参数估计
高斯分布
比K-Means更灵活
M步骤
E步骤
EM聚类
高斯混合模型
软聚类算法
转化为参数估计问题
求解隐藏变量
步骤
EM算法
最大似然
迭代得到模型参数
M步骤
E步骤
EM算法框架
HMM
GMM
灵活性
GMM
聚类问题
例子:分菜
EM算法
总结
EM聚类的应用
EM聚类的工作原理
EM聚类

该思维导图由 AI 生成,仅供参考

今天我来带你学习 EM 聚类。EM 的英文是 Expectation Maximization,所以 EM 算法也叫最大期望算法。
我们先看一个简单的场景:假设你炒了一份菜,想要把它平均分到两个碟子里,该怎么分?
很少有人用称对菜进行称重,再计算一半的分量进行平分。大部分人的方法是先分一部分到碟子 A 中,然后再把剩余的分到碟子 B 中,再来观察碟子 A 和 B 里的菜是否一样多,哪个多就匀一些到少的那个碟子里,然后再观察碟子 A 和 B 里的是否一样多……整个过程一直重复下去,直到份量不发生变化为止。
你能从这个例子中看到三个主要的步骤:初始化参数、观察预期、重新估计。首先是先给每个碟子初始化一些菜量,然后再观察预期,这两个步骤实际上就是期望步骤(Expectation)。如果结果存在偏差就需要重新估计参数,这个就是最大化步骤(Maximization)。这两个步骤加起来也就是 EM 算法的过程。

EM 算法的工作原理

说到 EM 算法,我们先来看一个概念“最大似然”,英文是 Maximum Likelihood,Likelihood 代表可能性,所以最大似然也就是最大可能性的意思。
什么是最大似然呢?举个例子,有一男一女两个同学,现在要对他俩进行身高的比较,谁会更高呢?根据我们的经验,相同年龄下男性的平均身高比女性的高一些,所以男同学高的可能性会很大。这里运用的就是最大似然的概念。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

EM聚类是一种基于最大期望算法的聚类方法,通过不断观察和调整的过程,将样本进行聚类。EM算法的工作原理是通过初始化参数来估计隐含数据,再通过求得的隐含数据来优化参数,最终得到模型参数。相比于K-Means算法,EM聚类更加灵活,采用软聚类算法,可以解决K-Means无法解决的问题。EM聚类的应用包括GMM高斯混合模型和HMM隐马尔科夫模型,分别用于概率密度聚类和状态转移概率计算。EM算法的原理和EM聚类与K-Means聚类的相同和不同之处是需要重点理解的内容。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • third
    想起了一个故事,摘叶子 要找到最大的叶子 1.先心里大概有一个叶子大小的概念(初始化模型) 2.在三分之一的的路程上,观察叶子大小,并修改对大小的评估(观察预期,并修改参数) 3.在三分之二的路程上,验证自己对叶子大小模型的的评估(重复1,2过程) 4.在最后的路程上,选择最大的叶子(重复1.2,直到参数不再改变) 相同点 1.EM,KMEANS,都是随机生成预期值,然后经过反复调整,获得最佳结果 2.聚类个数清晰 不同点 1.EM是计算概率,KMeans是计算距离。 计算概率,概率只要不为0,都有可能即样本是每一个类别都有可能 计算距离,只有近的的票高,才有可能,即样本只能属于一个类别

    编辑回复: 例子举的不错,相同和不同之处理解也很到位,大家都可以看看。

    2019-02-19
    52
  • Python
    em聚类和K均值的区别就是一个软一个硬,软的输出概率,硬的要给出答案。我理解的em聚类的过程是一个翻来覆去决策的过程,这种聚类方式是先确定一个初始化的参数,再反过来推算结果,看和自己期望的差距,又在翻回去调整。好就好在,你想要一个什么样的结果他都能慢慢给你调整出来

    编辑回复: 一软一硬这个说的很恰当!一个输出概率,一个输出明确的答案。

    2019-02-15
    17
  • 梁林松
    EM 就好像炒菜,做汤,盐多了放水,味淡了再放盐,直到合适为止。然后,就能得出放盐和水的比例(参数)

    作者回复: 对的 很形象

    2019-02-15
    13
  • mickey
    文中抛硬币的例子,应该还要说明“5组实验,每组实验投掷10次,每组中只能抛同一枚硬币”。

    作者回复: 对的

    2019-02-28
    2
    11
  • 松花皮蛋me
    有同学说:核心是初始参数啊。如果一开始就错那就完了。这完全是错的,只不过增加了更新次数而已。

    编辑回复: EM有自我更新的机制,就像K-Means一样,所以不用担心初始化参数,即使初始化参数不正确也会逐渐迭代出来结果。区别是在于迭代的次数,也就是运行的时间。这就好比把菜分到两个盘子中,一开始A盘很少,B盘非常多。这时候初始化参数并不理想,但是没有关系,EM机制通过参数估计,最终通过迭代会让两个盘子的分量一样多。只是迭代次数会略多一些。

    2019-02-18
    11
  • 白夜
    EM,聚类的个数是已知的,首先,预设初始化的参数,然后获得对应的结果,再通过结果计算参数,不断循环以上两步,直到收敛。属于软分类,每个样本有一定概率和一个聚类相关。 K-Means,聚类的个数也是已知的,首先选定一个中心点,然后计算距离,获得新的中心点,重复,直到结果收敛。属于硬分类,每个样本都只有一个分类。

    作者回复: 对的

    2019-02-15
    7
  • JustDoDT
    EM算法法第一次接触,要多看两遍。

    作者回复: 加油!!!

    2020-04-06
    3
  • McKee Chen
    EM聚类: 对参数进行初始化,以此估计隐含变量,然后再反推初始参数,如果参数有变化,就不断重复上述过程,知道参数不变为止,此时也能得到隐含变量,即样本的聚类情况。 EM聚类和K-Means聚类的区别: K-Means聚类是预先给定中心点个数,然后计算样本与中心点之间的距离来进行分类,通过不断迭代优化中心点,直至中心点不再发生变换,最后确定聚类情况。这种过程也称之为硬聚类算法。 有一个疑问,对于掷硬币的五次实验,每次实验都是只选择A或B其中一个么?

    作者回复: 是的,抛硬币的试验,一般会假设只会出现正反2面的结果,默认不会出现硬币垂直的情况。

    2021-01-09
  • 追梦
    想起了一个故事,摘叶子 要找到最大的叶子 1.先心里大概有一个叶子大小的概念(初始化模型) 2.在三分之一的的路程上,观察叶子大小,并修改对大小的评估(观察预期,并修改参数) 3.在三分之二的路程上,验证自己对叶子大小模型的的评估(重复1,2过程) 4.在最后的路程上,选择最大的叶子(重复1.2,直到参数不再改变) 相同点 1.EM,KMEANS,都是随机生成预期值,然后经过反复调整,获得最佳结果 2.聚类个数清晰 不同点 1.EM是计算概率,KMeans是计算距离。 计算概率,概率只要不为0,都有可能即样本是每一个类别都有可能 计算距离,只有近的的票高,才有可能,即样本只能属于一个类别 “”通过猜测的结果{A, A, B, B, A}来完善初始化的θA 和θB“” 这个步骤是怎样的? A 5 A 7 B 8 B 9 A 4 θA=(5+7+4)/(10+10+10) θB=(8+9)/(10+10) 以留言方式暂时记录一下

    作者回复: 很好的总结整理

    2019-10-22
  • FeiFei
    EM聚类算法,通过假定参数值,来推断未知隐含变量。再不断重复这个过程,至到隐含变量恒定不变时,得出假定参数的值。也就是实际的聚类分类的结果。 K-Means:非黑即白 EM:黑白通吃

    作者回复: 对的 比喻的不错

    2019-08-13
收起评论
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部