机器学习:EM算法

article/2025/9/19 3:57:07

一、初识EM算法

EM算法也称期望最大化(Expectation-Maximum,简称EM)算法。

它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM)等等。

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,

  • 其中一个为期望步(E步)
  • 另一个为极大步(M步)

所以算法被称为EM算法(Expectation-Maximization Algorithm)。

EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题,其算法基础和收敛有效性等问题在Dempster、Laird和Rubin三人于1977年所做的文章《Maximum likelihood from incomplete data via the EM algorithm》中给出了详细的阐述。其基本思想是:

  • 首先根据己经给出的观测数据,估计出模型参数的值;
  • 然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计;
  • 然后反复迭代,直至最后收敛,迭代结束。

EM算法计算流程:
在这里插入图片描述

二、EM算法介绍

1 极大似然估计

1.1 问题描述

假如我们需要调查学校的男生和女生的身高分布 ,我们抽取100个男生和100个女生,将他们按照性别划分为两组。

然后,统计抽样得到100个男生的身高数据和100个女生的身高数据。

如果我们知道他们的身高服从正态分布,但是这个分布的均值 μ \mu μ 和方差 δ 2 \delta^2 δ2是不知道,这两个参数就是我们需要估计的。

问题:我们知道样本所服从的概率分布模型和一些样本,我们需要求解该模型的参数.
在这里插入图片描述
我们已知的条件有两个:

  • 样本服从的分布模型
  • 随机抽取的样本。

我们需要求解模型的参数。

根据已知条件,通过极大似然估计,求出未知参数。

总的来说:极大似然估计就是用来估计模型参数的统计学方法。

1.2 用数学知识解决现实问题

在这里插入图片描述

1.3 最大似然函数估计值的求解步骤

在这里插入图片描述

2 EM算法实例描述

我们目前有100个男生和100个女生的身高,但是我们不知道这200个数据中哪个是男生的身高,哪个是女生的身高, 即抽取得到的每个样本都不知道是从哪个分布中抽取的。

这个时候,对于每个样本,就有两个未知量需要估计:

(1)这个身高数据是来自于男生数据集合还是来自于女生?

(2)男生、女生身高数据集的正态分布的参数分别是多少?

具体问题如下图:
在这里插入图片描述
对于具体的身高问题使用EM算法求解步骤如下:
在这里插入图片描述
(1)初始化参数: 先初始化男生身高的正态分布的参数:如均值=1.65,方差=0.15;

(2)计算分布: 计算每一个人更可能属于男生分布或者女生分布;

(3)重新估计参数: 通过分为男生的n个人来重新估计男生身高分布的参数(最大似然估计),女生分布也按照相同的方式估计出来,更新分布。

(4)这时候两个分布的概率也变了,然后重复步骤(1)至(3),直到参数不发生变化为止。

3 EM算法流程

在这里插入图片描述

三、EM算法实例

1 一个超级简单的案例

假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:

硬币结果统计
1正正反正反3正-2反
2反反正正反2正-3反
1正反反反反1正-4反
2正反反正正3正-2反
1反正正反反2正-3反

可以很容易地估计出P1和P2,如下:

P1 = (3+1+2)/ 15 = 0.4

P2= (2+3)/10 = 0.5

到这里,一切似乎很美好,下面我们加大难度。

2 加入隐变量z后的求解

还是上面的问题,现在我们抹去每轮投掷时使用的硬币标记,如下:

硬币结果统计
Unknown正正反正反3正-2反
Unknown反反正正反2正-3反
Unknown正反反反反1正-4反
Unknown正反反正正3正-2反
Unknown反正正反反2正-3反

好了,现在我们的目标没变,还是估计P1和P2,要怎么做呢?

显然,此时我们多了一个隐变量z,可以把它认为是一个5维的向量(z1,z2,z3,z4,z5),代表每次投掷时所使用的硬币,比如z1,就代表第一轮投掷时使用的硬币是1还是2。但是,这个变量z不知道,就无法去估计P1和P2,所以,我们必须先估计出z,然后才能进一步估计P1和P2。

但要估计z,我们又得知道P1和P2,这样我们才能用最大似然概率法则去估计z,这不是鸡生蛋和蛋生鸡的问题吗,如何破?

答案就是先随机初始化一个P1和P2,用它来估计z,然后基于z,还是按照最大似然概率法则去估计新的P1和P2,如果新的P1和P2和我们初始化的P1和P2一样,请问这说明了什么?(此处思考1分钟)

这说明我们初始化的P1和P2是一个相当靠谱的估计!

就是说,我们初始化的P1和P2,按照最大似然概率就可以估计出z,然后基于z,按照最大似然概率可以反过来估计出P1和P2,当与我们初始化的P1和P2一样时,说明是P1和P2很有可能就是真实的值。这里面包含了两个交互的最大似然估计。

如果新估计出来的P1和P2和我们初始化的值差别很大,怎么办呢?就是继续用新的P1和P2迭代,直至收敛。

这就是下面的EM初级版。

2.1 EM初级版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 EM进阶版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 小结

EM算法的实现思路:

  • 首先根据己经给出的观测数据,估计出模型参数的值;
  • 然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计;
  • 然后反复迭代,直至最后收敛,迭代结束。

上一篇:机器学习:支持向量机
下一篇:机器学习:HMM模型


http://chatgpt.dhexx.cn/article/f14ty8RD.shtml

相关文章

什么是em?

em是一个相对大小,我们可以这样来设置大小,如:1em,0.5em等。 所谓相对,必然存在一个参照物。这里的参照物指的就是父级元素的大小,按照css元素的继承关系(并非所有元素都有继承关系)&#xff0…

em和rem单位

我们在制作web端页面时,基本都是使用像素px作为单位,但是我们知道移动端设备具有多种多样的宽度,而使用物理单位在不同宽度和不同分辨率的手机上会有一定差异,那么在某些设备可能就会出现页面不美观的问题。所以为了解决此问题&am…

em与rem

rem 相对于浏览器的根元素html的字体大小来计算,如果没有设置,大多数浏览器默认大小默认为16px 默认情况下浏览器通常有字体大小 16px,但这可以被用户更改为从 9px 到 72px的任何值根 html 元素将继承浏览器中设置的字体大小,除非…

GMM的EM算法实现

在 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明进行了详细说明。本文主要针对如何用EM算法在混合高斯模型下进行聚类进行代码上的分析说明。 1. GMM模型: 每个 GMM 由…

【EM(electron migration)】

原创文章:EM现象出现的原因及解决办法 定义:金属线上允许通过的最大电流是有限的,过大的电流会使金属连线断裂,导致芯片失效,这种现象叫作EM现象。 过大的长期电流导致金属阳离子在正极堆积,形成小丘或突起…

HTML——em标签

<EM> 在W3school中HTML <em> 标签用于强调文本内容。对于所有浏览器来说&#xff0c;这意味着要把这段文字用斜体来显示。 如果只想使用斜体字来显示文本的话&#xff0c;请使用 <i> 标签。 除强调之外&#xff0c;当引入新的术语或在引用特定类型的术语或…

px、rem、em的区别与联系

一、区别&#xff1a; 1. px是固定的像素&#xff0c;一旦设置了就无法因为适应页面大小而改变。 2. em和rem相对于px更具有灵活性&#xff0c;他们是相对长度单位&#xff0c;意思是长度不是定死了的&#xff0c;更适用于响应式布局。 3.em是相对于其父元素来设置字体大小的&…

px、em、rem的区别

三者区别&#xff1a; 在css中单位长度用的最多的是px、em、rem&#xff0c;这三个的区别是&#xff1a; 一、px是固定的像素&#xff0c;一旦设置了就无法因为适应页面大小而改变。二、em和rem相对于px更具有灵活性&#xff0c;他们是相对长度单位&#xff0c;意思是长度不是…

rem和em的区别

一、 rem的特点&#xff1a; 1、rem的大小是根据html根目录下的字体大小进行计算的。 2、当我们改变根目录下的字体大小的时候&#xff0c;下面字体都改变。 3、rem不仅可以设置字体的大小&#xff0c;也可以设置元素宽、高等属性。 二、em的特点&#xff1a; 1、字体大小…

em与rem的区别

在css中px、em、rem&#xff0c;这三个的区别是&#xff1a; px是固定像素&#xff0c;一旦设置了就无法因为适应页面而改变。em是rem相对于px更具有灵活性&#xff0c;他们是相对于长度单位的变化而变化&#xff0c;更适应于响应式布局。 em相对于父元素 rem相对于根元素 e…

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

一、EM简介 EM(Expectation Mmaximization) 是一种迭代算法&#xff0c; 用于含隐变量(Latent Variable) 的概率模型参数的极大似然估计&#xff0c; 或极大后验概率估计 EM算法由两步组成&#xff0c; 求期望的E步&#xff0c;和求极大的M步。 EM算法可以看成是特殊情况下计算…

em单位的理解和使用

什么是em单位&#xff1f; em是一个相对的度量单位&#xff0c;对于浏览器来说&#xff0c;1em16px&#xff0c;16px为浏览器的默认字体大小。 为什么说它是一个相对的度量单位呢&#xff1f;下面用px和em分别做对比举例子&#xff1a; <style> #p1{color: red;font-si…

em和rem的区别

在css中&#xff0c;用的最多的就是px&#xff0c;em&#xff0c;rem三个长度单位&#xff0c;这三个单位的区别就是&#xff1a; px是固定的单位长度&#xff0c;一旦设置了就无法随页面的大小而适应改变。em是相对长度单位&#xff0c;比px更具灵活性&#xff0c;em的长度是…

一种止盈止损方式

1.核心代码 2.原理 开仓后根据开仓价格设置 4.5% 止盈平仓15% 20% 止盈平仓75% 4% 止损平仓100% 指标出场信号 平仓100% 3.PS 感觉止盈完全没必要&#xff0c;跑出来的结果只是胜率提高了&#xff0c;最终盈利结果没有提高 原文&#xff1a;一种止盈止损方式 - 苏慕白的博客…

止损的意义是什么?我们为何要止损这个操作?

止损的意义是什么&#xff1f;我们为何要止损这个操作&#xff1f;我想很多人并没有深入思考这个问题&#xff0c;我猜测绝大数人都会说为了风险控制&#xff0c;无条件执行&#xff0c;割断亏损让利润奔跑&#xff0c;这类的话&#xff0c;其实不然。 我觉得一个操作如果内心…

股票编程交易接口怎样自动设置止损?

目前随着国内二级股市已处于相对较高的水平&#xff0c;但是对于高净值的用户来说&#xff0c;在量化投资市场上使用股票编程交易接口系统上具有低波动性和自动交易的定量对冲投资模型体系&#xff0c;包括了一些高性价比、大型基金和长期投资的资产品种&#xff0c;所以大家在…

止盈止损学习笔记

止损的重要性交易所订单&#xff0c;包括限价单和市价单。上交所只有两种&#xff0c;最优五档剩余撤销&#xff0c;最优五档剩余转限价&#xff0c;深圳有本方最优&#xff0c;对手方最优&#xff0c;全额成交或撤销申报&#xff0c;最优五档剩余撤销&#xff0c;即时成交剩余…

外汇天眼:新手炒外汇止损止盈技巧有哪些?如何设置止损止盈?

在外汇交易中&#xff0c;关于止盈、止损的技巧总是频频被提及&#xff0c;然而很多朋友发现&#xff0c;即使看过了这么多道理&#xff0c;结果还是不会设置止盈止损&#xff0c;不会做交易。怎么办&#xff1f; 今天这边就将外汇交易中常见的止盈止损一些知识揉碎了、掰开了…

及时止损,及时止损,及时止损

loonggg 读完需要 5分钟 速读仅需 2 分钟 今天是日更生财日历笔记的第三天。 今天日历上主要分享了一个做短视频 MCN 机构亏掉 500 万元的案例经验。分享的经验主要是如下几点&#xff1a; 面对红海的 MCN &#xff0c;没有资源和背景&#xff0c;很难做起来&#xff1b;在三四…

快期v2服务器条件单能修改吗,快期V2如何设置止损止盈单

做过交易的朋友都知道止损止盈是非常重要的&#xff0c;尤其是在行情波动剧烈的时候&#xff0c;设置止损止盈单是保护自己盈利的非常重要的手段之一。那在快期V2上面如何设置止损止盈单呢?下面就是小编给大家整理的相关内容~ 一、登录软件 输入期货账号和交易密码并点击登录&…