来个例子,再解释一次 EM 算法

EM算法原理解释及公式推导 本文参考的是人人都懂EM算法 - August的文章 - 知乎这篇文章 目录 一、极大似然概述 二、EM算法 2.1EM算法描述 2.2 EM公式推导 三、EM算法案例 一、极大似然概述 假设我们需要调查我们学校学生的身高分布。我们先假设学校所有学生的身高服从正态分布 。(注意:极大似然估计的前提一定是要假设数据总体的分布,如果不知道数据分布,是无法使用极大似然估计的),... 阅读详情

前天推了一篇关于EM算法的文章,后台有留言反映不太明白,包括解释EM使用的抛硬币的例子。

今天,借助 2008 年论文中给出的解释EM算法的例子,最后解释EM算法:E步和M步

论文题目:

What is the expectation maximizationalgorithm?

这是论文中的那幅图:

下面解释这些数字是如何得来的。

Step1 纯碎靠猜

假定硬币A正面朝上的概率为 0.6, 硬币B正面朝上的概率为 0.5

Step2 做实验

开展 5 轮实验,每轮抛掷 10 次,全部实验结果如下所示:

下面依次分析每轮实验结果。

第一轮结果:5次朝上,5次朝下。如果选择硬币A,则发生此结果的概率为:Pa = 0.6^5*0.4^5; 如果选择硬币B,概率为:Pb = 0.5^5*0.5^5; 则选择硬币A的概率为:Za = Pa/(Pa+Pb) ,选择硬币B的概率为:Zb = 1- Za.

计算一下:

Pa = 0.6**5*0.4**5
Pb = 0.5**5*0.5**5
Za = Pa/(Pa+Pb)
Zb = 1- Za

结果:

In [11]: Za
Out[11]: 0.44914892610093643

In [12]: Zb
Out[12]: 0.5508510738990635

四舍五入,即 0.45, 0.55。分别就是选择硬币 A 和硬币 B 的概率。

选择硬币 A 的概率为 0.45,抛掷硬币 10 次,正反出现的总次数期望值为:0.45 * 10,即 4.5 次。第一轮实验结果:5正5反,所以正面出现次数的期望值为:4.5 * (5/10),即为 2.25 次,反面出现 2.25 次;

同理分析硬币B。选择硬币 B 的概率为 0.55,抛掷硬币 10 次,正反出现的总次数期望值为:0.55 * 10,即 5.5 次。第一轮实验结果:5正5反,所以正面出现次数的期望值为:5.5 * (5/10),即为 2.75 次,反面出现 2.75 次;

同理分别求出第二轮到第五轮实验,选择硬币 A 的概率及对应的正反面出现次数的期望值,选择硬币 B 的概率及对应的正反面出现次数的期望值。

第一轮到第五轮实验全部分析完成后,得到如下结果,左侧表格为选择硬币A和B的概率分布(也就是隐变量的概率分布);右侧表格为硬币A和B在10次抛掷实验中正、反出现次数的期望分布(也就是可观察变量的概率分布)。

Step3 似然估计

纵观 5 轮 总结 50 次抛掷硬币,可以计算出硬币 A 、B 正面出现的概率。

硬币 A 正面出现次数:

2.2 + 7.2 + 5.9 + 1.4 + 4.5 = 21.2

硬币 A 反面出现次数:

2.2 + 0.8 + 1.5 + 2.1 + 1.9 = 8.5

同理求得硬币 B

得到论文图中的结果(小数点位数精度,稍有偏差,不碍事,理解就行)

至此又得到一个硬币A、B 正面出现概率的估计值,这次是基于实验得到,而不是像刚开始那样纯碎靠蒙(纯碎靠蒙时为 0.6, 0.5)。

完成一次分布参数的迭代。

Step4 迭代10次

10 轮迭代后,参数更新为如下,对应论文中的 Step4

Done~

欢迎扫码关注:

从两个例子理解EM算法 从两个例子理解EM算法 本文是作者对EM算法学习的笔记,从EM算法出发介绍EM算法,为了更好理解,用两个应用EM算法求解的例子进一步解释EM的应用。 EM算法 EM算法引入 EM算法,指的是最大期望算法(Expectation Maximization Algorithm,期望最大化算法),是一种迭代算法,在统计学中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似... 阅读详情

相关推荐

EM算法 实例讲解

第一次接触EM算法,是在完成半隐马尔科夫算法大作业时。我先在网上下载了两份Baum-Welch算法的代码,通过复制粘贴,修修补补,用java实现了HMM算法(应用是韦小宝掷两种骰子的问题)。然后,参考有关半隐马尔科夫算法的论文,照着论文中的公式修改隐马尔科夫算法,完成了大作业。现在回想起来,就隐隐约约记得有一大堆公式。最近,我看到一篇很好的文章,对EM算法的计算有了进一步的了解,文章链接为http

青瑟只鸟的专栏 3万+

EM算法

EM算法是什么? 期望最大EM算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。   举个例子 两枚硬币A和B,假定随机抛掷后正面朝上概率分别为PA,PB。为了估计这两个硬币朝上的概率,咱们轮流抛硬币A和B,每一轮都连续抛5次,总共5轮:   硬币A被抛了15次,在第一轮、第三轮、第五轮分别出现了3次正、1次正、2次正,所以很容易估计出...

lukeyyanghang的博客 1663

EM算法(Expectation maximization algorithm)

极大似然估计 极大似然估计定义 求解过程 EM算法 EM算法和极大似然估计的区别 鸡生蛋,蛋生鸡问题 EM算法思想 三硬币模型 jensen不等式 Q函数 EM算法的推导 K-means中EM思想 参考资料 纠结了好几天,总算搞清楚了EM算法的大概。因此写下这篇博客做个笔记,由于这方面懂得不是很多,可能存在理解错误的地方,欢迎大家指正,好了闲话不多说。 极大似然估...

gzj_1101的专栏 8430

【机器学习笔记10】EM算法——直观理解与详细推导

目录:似然函数;极大似然估计;隐变量;直观理解EM算法;隐变量的期望;EM算法公式详细推导;含隐变量的对数似然函数;利用jensen不等式转化方程;jeasen不等式转化详解;拔高下界;什么时候下界与对数似然相等;EM算法总结;EM算法应用场景;EM算法步骤;关于EM算法的重要说明;EM算法的优缺点;EM算法的应用。

issey的博客 5305

EM算法在三枚硬币问题中的实现

对EM算法进行解释时,常常用三枚硬币的问题进行举例,尝试对此用matlab进行编码实现,利于初学者交流。

【超详细】C#的单例模式

本文详细介绍了C#中的单例设计模式,包括两种实现方式:普通类泛型单例(Singleton<T>)和基于MonoBehaviour的组件单例(MonoSingleton<T>)。单例模式通过私有构造、静态私有实例和公共访问入口确保全局唯一实例,具有节省资源、保证数据一致性等优势。文章分别阐述了两者的核心原理、代码实现、使用场景及注意事项,并提供了日志管理器和音效管理器的具体应用示例。特别强调了多线程安全、初始化时机和避免过度使用等重要原则,为Unity开发中合理运用单例模式提供了全面指导。

grapefruit_lyy的博客 1535

机器学习——EM算法

会自己手推导数学公式,全部将其推导下来。

kuxingseng123的博客 1302

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 462

用通俗易懂的方式告诉你什么是EM算法

EM(Expectation Mmaximization) 是一种迭代算法, 用于含隐变量(Latent Variable) 的概率模型参数的极大似然估计, 或极大后验概率估计 EM算法由两步组成, 求期望的E步,和求极大的M步。EM算法可以看成是特殊情况下计算极大似然的一种算法。现实的数据经常有一些比较奇怪的问题,比如缺失数据、含有隐变量等问题。当这些问题出现的时候,计算极大似然函数通常是比较困难的,而EM算法可以解决这个问题。EM算法已经有很多应用,比如最经典的Hidden Markov模型等。

Machine Learning with Tutors 1万+

保姆级教程:用vxe-grid给管理后台加个「智能筛选」功能(支持模糊搜索/多选/范围查询)

本文提供了一份详细的Vxe-Grid智能筛选功能实现教程。通过自定义筛选器渲染,文章逐步指导开发者为后台管理系统添加支持模糊搜索、多选下拉和数值范围查询的智能筛选功能,并分享了性能优化与移动端适配等实战经验。

weixin_29021291的博客 536

【实战揭秘】高胜率集合竞价抓涨停策略:融合MACD背离与斐波那契的量化模型

本文揭秘了一种高胜率集合竞价抓涨停策略,融合MACD背离与斐波那契数列的量化模型。通过量能异动、技术形态突破和资金共识形成的交叉验证,该策略在实盘中表现出色。文章详细解析了MACD背离的量化实现细节、斐波那契数列的实战应用,以及策略的量化建模过程,帮助投资者提升交易胜率。

herb5的博客 1573

还真就这么简单,来个例子,再解释一次 EM 算法

前天推了一篇关于EM算法的文章,后台有留言反映不太明白,包括解释EM使用的抛硬币的例子。今天,借助 2008 年论文中给出的解释EM算法的例子,最后解释EM算法:E步和M步论文题目:W...

Oner.wv的专栏 199

CST与MATLAB连接设置

打开MATLAB,点击"Set Path"按钮,然后点击"Add Folder"。在CST中,点击"Options"菜单,然后选择"Advanced"选项。在弹出的对话框中,点击"COMSOL"选项卡,并确保"Enable COMSOL"复选框被选中。通过上述步骤和示例代码,你可以开始使用MATLAB与CST进行集成,并根据你的具体需求进行进一步的开发和应用。通过这个简单的示例,你可以开始在MATLAB中与CST进行交互,并根据你的需求进行更复杂的操作,如参数化仿真、优化和数据处理等。

TechPulseZ的博客 1967

em算法详细例子及推导_EM算法:理论部分

1.算法引入1.1定义 在《数学之美》中,吴军教授称EM算法是上帝的算法,为了了解EM算法的奥妙之处。首先说说什么是EM算法,EM算法即最大期望算法(Expectation-maximization algorithm),在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。在统计计算中,最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的...

weixin_39698007的博客 1108

【100%通过率】华为OD机试真题 C 实现【最多等和不相交连续子序列】【2022.11 Q4 新题】

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。

MISAYAONE的博客 1万+

【制作100个Unity游戏之36】用unity从零开始实现类《开心消消乐》的三消类消除解压小游戏

Unity甜品消除游戏开发摘要 本文介绍了使用Unity开发甜品消除游戏的核心实现步骤: 冰块阵列生成 通过GlobalDef定义全局参数(9行7列网格) IceSpawner脚本动态生成网格化冰块阵列 添加Resolution脚本实现多分辨率适配 随机水果生成 创建FruitSpawner作为水果容器 FruitItem脚本管理水果属性(行列索引、类型) 支持动态创建水果精灵并设置位置 关键技术点 使用Instantiate动态生成预制体 通过localPosition精确控制网格布局 分辨率适配算法保持

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1293

如何通俗理解EM算法

如何通俗理解EM算法 前言 了解过EM算法的同学可能知道,EM算法是数据挖掘十大算法,可谓搞机器学习或数据挖掘的基本绕不开,但EM算法又像数据结构里的KMP算法,看似简单但又貌似不是一看就懂,想绕开却绕不开的又爱又恨,可能正在阅读此文的你感同身受。 一直以来,我都坚持一个观点:当你学...

结构之法 算法之道 16万+

【读代码】从claude skills到superpowers项目

最近claude skills成了大热门,今天一起看下GitHub 上的开源技能框架,他将“工作流”封装为“技能” (Skills)。本文尝试剖析该项目的技能粒度定义、多技能关联架构、应用逻辑等。与传统的 Function Calling 不同,Superpowers 中的 Skill 定义粒度并非“原子操作”,而是**“认知模式” (Cognitive Mode) 或“工作阶段”**。

kakaZhui的博客 1924

EM算法的原理推导及解释

本质上,EM算法针对于存在明显可疑的隐藏变量z,该变量影响着直观的样本数据的分布情况(即:方差、均值等),但是我们又无法得知和计算出准确的隐藏变量z。 于是,我们采用迭代的方式,设定已知模型的参数初值,然后结合已有的样本信息将隐藏变量z的期望以累计的形式进行表示出,然后进一步对当前的参数偏导求解更新新一轮的参数。

Spuer_Tiger 1046

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

em算法详细例子及推导_EM算法详解

目录一、EM算法概述二、EM算法的原理三、EM算法的推导与求解一、EM算法概述EM算法即最大期望算法(Expectation-Maximization algorithm, EM),是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量(latent v...

weixin_39727934的博客 918

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

em算法详细例子及推导_理解EM算法

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的。其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。书的购买链接书的勘误,优化,源代码资源获取全文PDF请查看:理解EM算法 EM( expectation-maximization,期望最大化)算法是机器学习中与SVM(支持向量...

weixin_39624389的博客 832

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

em算法详细例子及推导_EM算法入门教程

EM(Expectation Maximum,期望最大化)是一种迭代算法,用于对含有隐变量概率参数模型的极大似然估计或极大后验估计。模型参数的每一次迭代,含有隐变量概率参数模型的似然函数都会增加,当似然函数不再增加或增加的值小于设置的阈值时,迭代结束。EM算法在机器学习和计算机视觉的数据聚类领域有广泛的应用,只要是涉及到后验概率的应用,我们都可以考虑用EM算法去解决问题。EM算法更像是一...

weixin_39608680的博客 1760
上一篇: 【面试必备】用Python手写十大经典排序算法
下一篇: PyCharm 2020.1 稳定版发布
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值