【机器学习】EM 期望最大化算法 整理

How to Use Background Subtraction Methods Feature Detection之How to Use Background Subtraction Methods 一.背景减除(Background Segment) 参考博客: https://blog.youkuaiyun.com/Anderson_Y/article/details/82082095 此博客给出了多种背景减除的方法,包括了下面opencv中提到的几种方法 #include <... 阅读详情

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

     先假设这样一个问题:要求解人群(100人)中男女身高的分布,这里很明显有两种分布,男和女,但是事先我们并不知道他们服从哪种分布,而且我们也不知道男的有多少人,女的有多少人,那么怎么办呢?如果我们用混合高斯模型,我们假设男和女的分布都是符合高斯分布的,然后给定这个高斯分布一个初始值,这样这个高斯分布就是已知的了。接着,用这个已经的高斯分布来估计男的多少人,女的多少人,假设男和女的类别分布为Q(z),这样我们就可以求Q(z)的期望了,用期望来表示下一次迭代类别的初始值,这样我们就知道男和女的所属类别了,我们就可以用最大似然函数来估新的高斯模型的参数了。重复上述步骤…直到收敛!

    ps:极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

   EM算法,这是cv界比较有名的一种算法了,虽然很早就听说过,但真正深究还是最近几天看斯坦福公开课笔记的时候。之所以EM和MoG放在一起,是因为我们在求解MoG模型的时候需要用到EM算法,所以这里我们先来介绍下EM算法。

    在介绍EM算法的之前,我们先来普及下Jensen不等式的知识。首先我们来给出Jensen不等式的定义:

                                                  image

    定理很简单,总结下来就是这么几点。如果f是一个凸函数并且二阶导数大于零(上文中有提出),则有image。进一步, 若二阶导数恒大于 0,则不等式等号成立当且仅当 x=E[x],即 x 是固定值。若二阶导数的不等号方向逆转,则不等式的不等号方向逆转。如下图:

                                                                     image

    好了,知道了Jensen不等式,我们下面来探讨EM算法的一般形式。

    suppose we have a training set  image consist of  m independent examples,假设样本的类别z服从某种未知的分布,那么对于这种隐含变量的模型我们可以求出它的似然函数为(求似然函数是为了求解我们假设模型中的各个参数,我们在求解一个分类或者回归问题时,通常需要选定一个模型,比如NB,GDA,logistic regression,然后利用最大似然求解模型的参数):

                                                                           image

    这里我们并不知道image所服从的分布,只知道它们服从某种概率分布就足够了。接下来我们需要求解参数image来使得以上的image最大即可,由于image中对数函数相加的情况使得求解非常困难。于是我们转化为下面这样处理:

                                                                      image

    式中我们引入了z的一种未知分布image(怎么选择下面会讲), 即image,继续推导我们有

                                                                      image

    上式中我们用到了Jensen不等式,由于log函数式一个凹函数,所以不等式的不等号要逆转了。简而言之就是:

                                                                     image

    也就是说image有一个下界,而这个下界中的对数已经放在了求和里面,因而求偏导比较容易。那么我们可不可以把minimum image转化为minimum lowbound呢。有了这个思想之后我们只需要证明即可。假设当前的参数为image,在下界上计算出极大似人函数的新的参数为image,如果能够保证image,我们就只需要在下界上进行极大似然估计就行了。证明如下:

                                                                     image

    这个式子前面几项不难理解,关键是最后的一个等式,怎么才能保证image呢? 哈哈,还记得Jensen不等式里面等式成立的条件么,对的,就是这个x=E[x],对应EM算法中就是要使

                                                                                     image

    再加上条件image,对此式子做进一步推导,我们知道clip_image067,那么也就有clip_image069,我们就可以这样选择Q(Z):

                                                                        image

    这样我们就可以选出对Z的概率估计Q了。于是我们就得到了EM算法的一半不周,如下:

                                                                        image

     为了便于理解,这里画一幅图来加深大家的印象

                                                                     image

    到此为此我们就用一个下界lowbound,通过在lowbound上求解最大似然函数,从而不断更新参数,最终解决EM算法的参数求解问题。

 

    Mixtures of Gaussians(GDA)

    混合高斯分布(MoG)也是一种无监督学习算法,常用于聚类。当聚类问题中各个类别的尺寸不同、聚类间有相关关系的时候,往往使用 MoG 更合适。对一个样本来说, MoG 得到的是其属于各个类的概率(通过计算后验概率得到),而不是完全的属于某个类,这种聚类方法被成为软聚类。一般说来, 任意形状的概率分布都可以用多个高斯分布函数去近似,因而,MoG 的应用也比较广泛。

    先来举一个例子帮助大家理解,如下图:

                                                                       image

    这是一个二维的高斯混合分布,数据点由均值为(-1,-2)和(1,2)的两个高斯分布生成。 根据数据点属于两个高斯分布的后验概率大小对数据点进行分类,可得下图所示的聚类结果:

                                                                      image 

    在MoG中,由于事先我们不知道数据的分布情况,我们需要先提出两种假设:

    假设 1 :z 服从多项式分布, 即:

                                                                               image

    假设 2: 已知 z 时, x 服从正态分布,即条件概率 p(x|z)服从正态分布,即:

                                                                                image

    则 x 与 z 的联合分布概率函数为:

 

                                                                           image

    接下来求似然函数

                                                                           image

    利用似然函数求解参数的值

                                                                    image

    但是现在的问题是,我们的两个假设不一定是成立的,那么如果在事先不知道样本及其所属类别的分布情况是,我们又该怎么来求解各个参数的值呢。想到了没有,刚刚我们讲到的EM算法就是来解决这样一种问题的呀,所以我们想到了她-EM,就是水到渠成的事了。既然EM算法我们已经讲解了,那么现在就直接拿来解MoG就是了,步骤如下:

                                                                     image

                                                                image

    具体说来,在E-step中, Z的概率更新如下:

                                                                    image

    如假设所言,image是正态分布,image是多项式分布。

    在 M-step中, 根据E-step得到的Z的分布情况,对参数进行重新估计:

                                                                                  image

                                                                   image

    这样通过不断的迭代,不断的更新参数,我们就可以求解出MoG模型的参数了。从分析过程来看,MoG对不确定分布的样本处理效果会比较好。

期望最大化(Expectation Maximization,EM) 忘记啥时候看的了,一直在草稿箱里面,今天有空整理一下,方便以后查阅。 阅读详情

相关推荐

004.PADS VX2.4常用快捷键及无模命令

PADS系列文章

qq_36492361的博客 4967

【Opencv】目标追踪——高斯混合模型分离算法(MOG)

文章目录1 环境2 效果3 原理4 代码 1 环境 Python 3.8.8 PyCharm 2021 opencv-python 2 效果 3 原理   视频图像中的目标检测与跟踪,是计算机视觉的基础课题,同时具有广泛的应用价值。视觉目标(单目标)跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧中该目标的大小与位置。依照目标与摄像头之间的关系可分为两种场景的目标追踪: 静态场景:目标检测相对简单,研究渐趋成熟。 动态场景:相对复杂,当前研究领域的热点。 本文只介绍静态场景的

weixin_53598445的博客 1万+

基于CubeMX与lwip的STM32轻量级HTTP服务器搭建及VSCode高效开发指南

本文详细介绍了如何在STM32单片机上,利用STM32CubeMX图形化配置工具和轻量级TCP/IP协议栈lwIP,快速搭建一个轻量级HTTP服务器。通过结合VSCode的高效代码编辑能力,提供了一套从硬件连接到动态网页交互(SSI/CGI)的完整开发指南,旨在为嵌入式设备提供零成本、跨平台的Web交互界面。

weixin_29163857的博客 582

机器学习第三课(EM算法和高斯混合模型)

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。 我们先来假设这样一个问题:要求解人群...

weixin_30708329的博客 292

智能车竞赛必备:STC32G144K开源库实战指南(含总钻风摄像头配置)

本文为智能车竞赛参赛者提供了一份基于STC32G144K微控制器与逐飞开源库的实战开发指南。文章详细介绍了从开发环境搭建、总钻风摄像头驱动配置与图像采集优化,到核心控制算法实现与多任务调度等关键步骤,旨在帮助队伍快速构建稳定高效的视觉处理系统,提升竞赛竞争力。

weixin_29191081的博客 710

Windows显卡TDR超时导致Unity崩溃?手把手教你修改注册表延长响应时间

本文详细解析了Windows显卡TDR超时导致Unity崩溃的问题,并提供了修改注册表延长响应时间的完整解决方案。通过调整TdrDelay和TdrDdiDelay键值,开发者可以有效避免D3D11设备丢失错误,提升Unity编辑器的稳定性。文章还包含显卡驱动优化、系统性能调优等实用技巧,帮助开发者彻底解决编辑器崩溃问题。

weixin_33737774的博客 622

Python爬虫【urllib模块】

通用爬虫 爬虫的一般流程 1 初始化一批URL,将这些URL放入队列 2 从队列中取出这些URL,通过DNS解析IP,对IP对应的网站下载HTML页面,保存到本地服务器中,爬取完的URL放到已爬取队列。 3 分析这些网页得内容,找出网页里面得其他关心的URL连接,继续执行第2步,知道爬取条件结束 搜素引擎如何获取一个新网站的URL 1 新网站主动提交搜索引擎 2 通过其它网站页面中设置的外链 ...

Strive_0902的博客 9万+

【SOC估算】基于EKF与神经网络融合的锂电池SOC高精度估计及Matlab实现

本文探讨了基于EKF与神经网络融合的锂电池SOC高精度估计方法。通过结合扩展卡尔曼滤波(EKF)的模型驱动优势和神经网络的数据驱动学习能力,实现了对电池荷电状态(SOC)的精准预测。Matlab仿真验证了该混合算法在各种工况下均能显著降低估计误差,提升电池管理系统性能。

play7的博客 695

MoG & EM-Algorithm

问题的提出 --> Figure_1 假设我们有一堆如图(b)所示的数据集X,它们由3个独立的高斯分布生成,样本在空间中存在交叠,上帝知道它的本来面目(如图(a)所示),一个自然的问题是:能否根据数据集X,估计出生成它们的分布的参数呢?答案是肯定的,下面来分析如何求解模型参数。 混合高斯模型 我们假设X的...

On_theway10的博客 1711

【电子通识】TINA-TI怎么使用受控源向导创建受控源

TINA-TI怎么使用受控源向导创建受控源

一点硬件 357

SAP FICO 中的 F-02 :概念、使用场景及案例解析

在 SAP FICO (财务会计与管理会计) 模块中,F-02 是一个用于录入总账凭证的事务代码。这个事务代码主要用于手动输入总账凭证,适用于各类财务交易,例如资产购入、费用支付、收入确认等。F-02 的重要性在于,它允许财务人员在 SAP 系统中创建凭证,并确保这些凭证能够正确影响总账账户。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2060

【机器学习】最大期望算法(EM)

随机初始化分布参数θE步,求Q函数,对于每一个i,计算根据上一次迭代的模型参数来计算出隐性变量的后验概率(其实就是隐性变量的期望),来作为隐藏变量的现估计值:M步,求使Q函数获得极大时的参数取值)将似然函数最大化以获得新的参数值然后循环重复2、3步直到收敛。详细的推导过程请参考文末的参考文献。

sikh_0529的博客 2万+

详解Xilinx FPGA高速串行收发器GTX/GTP(6)--Pattern Generator/Pattern Checker

详解Xilinx FPGA高速串行收发器GTX/GTP(6)--Pattern Generator/Pattern Checker

孤独的单刀 1625

通俗理解机器学习算法——EM算法

了解过EM算法的同学可能知道,EM算法是数据挖掘十大算法,可谓搞机器学习或数据挖掘的基本绕不开,但EM算法又像数据结构里的KMP算法,看似简单但又貌似不是一看就懂,想绕开却绕不开的又爱又恨,可能正在阅读此文的你感同身受。

CRW__DREAM的博客 3733

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何通俗理解EM算法

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

结构之法 算法之道 16万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OpenCV4.1.1版本的EM算法实现

看了《模式识别与机器学习》,希望能够将其中的一些概念性较强的内容加以实现,来加强和巩固自己的理解 EM算法——《模式识别与机器学习 第九章》 潜在变量的引入:使得复杂的概率分布可以有简单的分量组成。观测变量上的复杂的边缘概率分布可以通过观察变量与与潜在变量组成的扩展空间上的更加便于计算的联合概率分布来表示 EM算法——期望最大化:寻找带有潜在变量的模型的最⼤似然估计的⼀个⼀般的⽅法是期望最⼤化(...

weixin_37709708的博客 970

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

最大化期望算法(EM)详解

我们知道最大似然估计的根本目的是根据抽样的到的样本(即数据),反推出最有可能的分布参数(即模型),这是一个非常典型的机器学习的思想。所以在很多领域最大似然估计有着极为广泛的应用。然而,如果已知的数据中含有某些无法观测的隐藏变量时,直接使用最大似然估计是不足以解决问题的。这个时候就要依靠最大化期望(EM)算法了。 简单的说,EM算法是在依赖于无法观测的隐藏变量的概率模型中,寻找参数最大似然估计或者...

guoziqing506的博客 3万+

一文让你完全入门EM算法

EM(Expectation Maximum,期望最大化)是一种迭代算法,用于对含有隐变量概率参数模型的极大似然估计或极大后验估计。模型参数的每一次迭代,含有隐变量概率参数模型的似然函数...

fengdu78的博客 533

NLP --- 隐马尔可夫HMM(EM算法(期望最大化算法))

期望最大化 (Expectation Maximization) 算法最初是由 Ceppellini[2] 等人 1950 年在讨论基因频率的估计的时候提出的。后来又被 Hartley[3] 和Baum[4] 等人发展的更加广泛。目前引用的较多的是 1977 年 Dempster[5]等人的工作。它主要用于从不完整的数据中计算最大似然估计。后来经过其他学者的发展,这个算法也被用于聚类等应用。 因...

进击的菜鸟 8766

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

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

weixin_39608680的博客 1759

每天进步一点点《ML - 从极大似然到EM算法》

一:极大似然 1:概念引入 极大似然参数估计是概率论中学习过的内容,就是预先定义概率分布模型,根据一堆的同概率分布的一堆样本数据去估计该概率模型中的未知参数。 举个例子:有很多西瓜x,我们可以得到每一个西瓜的体积数值,每一个样本就是一个西瓜,每个西瓜是一个N维参数向量表示,为了简单起见我们先只用体积参数来叙述。 这样一来,我们能够对这一一堆西瓜做一个概率分布统计,假如西瓜的体积服从高斯分布的话,就是 5:怎么最大化求参数呢? 答案就是求偏导数,对每个位置参数求偏导,偏导数为0,即可得到相应的参数值。 6

qq_29367075的博客 417

EM算法笔记

EM算法分析与详解

Willen_的博客 557

机器学习十大经典算法:另辟蹊径EM算法+高斯混合模型图像像素分割实战——Nemo鱼图像分割(python代码+详细注释)

前言   今天程序员节,据说发博客会有1024勋章,所以就来整理一下笔者模式识别课第一次大作业的第二道题——用EM算法来做Nemo鱼图像像素分割。网上看了很多关于EM算法的分析,大多都涉及很复杂的数学推导,包括要用凸函数的不等关系,要证单调性收敛性等,看了很久也没有理太清楚。在这里分享一种形象化理解EM算法的方法,来源于笔者的模式识别老师。她将EM算法看成是反复进行贝叶斯决策和最大似然估计的过程,当参数变化小于某个阈值时,算法收敛到局部最优值。并附笔者所写代码,供大家参考。贝叶斯理论与实战和最大似然估计在

意疏的学习笔记 7496

DataWhale——机器学习:EM算法

Task03 EM算法 马上期中考试了,只能先挖个坑后续再来细看了。 相关概念 极大似然估计法 贝叶斯估计方法 基本原理 E步、M步 推导逼近 证明收敛 高斯混合分布 算法实现 前言   EM算法是机器学习十大算法之一,它很简单,但是也同样很有深度,简单是因为它就分两步求解问题, E步:求期望(expectation) M步:求极大(maximization)   深度在于它...

Katniss的Blog 438

EM算法---学习笔记整理

EM算法 1、定义 EM算法也称期望最大化算法(Expection-Maxinum)算法 它是一个算法基础,是很多机器学习领域算法的基础,比如隐士马尔可夫算法(HMM)等 EM算法是一种迭代优化策略,计算方式中每一次迭代分为2步 1、期望步(E步) 2、极大步(M步) 所以算法被称为EM算法 2、EM算法计算流程 首先根据已经给出的观测数据,估计出模型参数的值 然后再根据上一步估计出的参数估计缺失数据的值,再根据估计出的缺失数据加上之前已经观测的数据重新再对参数进行估计 然后反复迭代直至最后收敛,迭代结束

weixin_34280060的博客 736

[机器学习][基础算法]EM算法

EM算法概念EM算法似然函数最大似然估计EM算法公式推导推导逼近证明收敛高斯混合分布理解 概念 EM算法 最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。 最大期望算法经过两个步骤交替进行计算, 第一步是计算期望(E),利用对隐藏变量的现有估...

Memento44Mori的博客 393
上一篇: java 递归和动态规划
下一篇: 【机器学习】线性判别分析LDA 算法原理 整理
CWS_chen
博客等级 码龄11年 220粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值