文章目录

  • 5. EM 算法
    • EM算法简介
    • EM算法流程
    • 部分常见问题
      • EM算法收敛程度取决于什么?
      • EM算法是否一定收敛?
      • 如果EM算法收敛,能否保证收敛到全局最大值?
    • EM算法应用

5. EM 算法

EM算法简介

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

EM算法是最常见的隐变量估计方法,在机器学习中有极广泛的用途,例如常被用用来学习:高斯混合模型(GMM)的参数;隐式马尔科夫算法(HMM);LDA主题模型的主分推断等。

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,一个为期望步(E步),一个为极大步(M步),所以算法被称为EM算法。

EM算法受缺失思想的影响,最初是为了解决数据缺失情况下的参数估计问题。

基本思想是:

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

EM算法流程

输入: 观察到的数据 x = ( x 1 , x 2 , ⋯ , x n ) x = (x_1, x_2, \cdots, x_n) x=(x1​,x2​,⋯,xn​),联合分布 p ( x , z ; θ ) p(x, z; \theta) p(x,z;θ),条件分布 p ( z ∣ x ; θ ) p(z|x; \theta) p(z∣x;θ),最大迭代次数 J J J。

输出: 模型参数 θ \theta θ

算法步骤:

(1) 随机初始化模型参数 θ \theta θ的初值 θ 0 \theta_0 θ0​。

(2) j = 1 , 2 , ⋯ , J j = 1, 2, \cdots, J j=1,2,⋯,J 开始EM算法迭代:

  • E步:计算联合分布的条件概率期望:

Q i ( z i ) = p ( z i ∣ x i , θ j ) Q_i(z_i) = p(z_i|x_i, \theta_j) Qi​(zi​)=p(zi​∣xi​,θj​)

l ( θ , θ j ) = ∑ i = 1 n ∑ z i Q i ( z i ) l o g p ( x i , z i ; θ ) Q i ( z i ) l(\theta, \theta_j) = \sum_{i=1}^{n}\sum_{z_i}Q_i(z_i)log\frac{p(x_i, z_i; \theta)}{Q_i(z_i)} l(θ,θj​)=i=1∑n​zi​∑​Qi​(zi​)logQi​(zi​)p(xi​,zi​;θ)​

  • M步:极大化 l ( θ , θ j ) l(\theta, \theta_j) l(θ,θj​),得到 θ j + 1 \theta_{j + 1} θj+1​

θ j + 1 = a r g m a x l ( θ , θ j ) \theta_{j+1} = argmaxl(\theta, \theta_j) θj+1​=argmaxl(θ,θj​)

  • 如果 θ j + 1 \theta_{j+1} θj+1​已经收敛,则算法结束否则继续进行E步和M步进行迭代。

部分常见问题

EM算法收敛程度取决于什么?

EM算法对初始值敏感,聚类结果随不同的初始值而波动较大。总的来说,EM算法收敛的优劣成都很大程度上取决于其初始参数

EM算法是否一定收敛?

EM算法可以保证收敛到一个稳定点,即EM算法一定是收敛的

如果EM算法收敛,能否保证收敛到全局最大值?

EM算法可以保证收敛到一个稳定点,但是不能保证收敛到全局的极大值点,因为它是局部最优的算法。

当然,如果我们的优化函数 l ( θ , θ l ) l(\theta, \theta_l) l(θ,θl​)是凸的,则EM算法可以保证收敛到全局最大值,这点和梯度下降这样的迭代算法相同。

EM算法应用

  • K-Means聚类:

    • K-Means聚类时,每个聚类簇的质心是隐含数据。
    • 假设K个初始化质心,即EM算法的E步
    • 计算得到每个样本最近的质心,并把样本聚类到最近的这个质心,即EM算法的M步。
    • 重复这个E步和M步,直到质心不再变化为止。
  • 高斯混合模型(GMM)

图像算法五 —— EM算法相关推荐

  1. 基于EM算法的高斯混合模型参数估计

    一 算法思想 对于样本数据集所含变量都是可观测的,我们一般应用极大似然估计法或者贝叶斯估计法估计模型参数.但若样本数据集中存在不可观测的变量(隐变量),那么单纯的极大似然估计法是不可用的:EM算法(e ...

  2. (转载)机器学习知识点(十五)从最大似然到EM算法浅解

    从最大似然到EM算法浅解 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做 ...

  3. EM算法(Expectation Maximization)期望最大化算法

    原文:EM(期望最大化)算法初步认识 - 大数据和AI躺过的坑 - 博客园 https://www.cnblogs.com/zlslch/p/6965374.html 机器学习十大算法之一:EM算法( ...

  4. 十、最大熵模型与EM算法

    一.最大熵模型 1.熵 联合熵和条件熵 相对熵 交叉熵 互信息 总结 2.最大熵模型 二.EM算法(期望最大化算法) 三.GMM 一.最大熵模型 lnx<=x−1lnx<=x−1 lnx ...

  5. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波

    matlab设计: 与单纯运用某种自适应算法相比,基于小波分解的自适应滤波算法在收敛速度和稳定性上都有了很大的提高 小波变换: 示意:尺度越大,采用越大的时间窗,尺度越小,采用越短的时间窗,即尺度与频 ...

  6. EM从最大似然到EM算法浅解

    从最大似然到EM算法浅解 zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊 ...

  7. python gmm em算法 2维数据_AI大语音(六)——混合高斯模型(GMM)(深度解析)...

    1 GMM基础 高斯混合模型(GMM)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况. 灵魂的拷问:为什么GMM可以拟合出 ...

  8. 概率语言模型及其变形系列-PLSA及EM算法

    转载自:http://blog.csdn.net/yangliuy/article/details/8330640 本系列博文介绍常见概率语言模型及其变形模型,主要总结PLSA.LDA及LDA的变形模 ...

  9. 【机器学习】EM算法

    EM算法 目录 一.似然函数与极大似然估计 二.Jenson不等式 三.数学期望的相关定理 四.边缘分布列 五.坐标上升法 六.EM算法 1. 概论 2. 算法流程 3. 算法的推导 4. 敛散性证明 ...

最新文章

  1. 什么是ThreadLocal
  2. oracle查询表中的某一行,oracle查看所有表及各表行数?
  3. C#对Excel的一些操作【一】
  4. Scala学习第五天数组
  5. 一文串起从NLP到CV 预训练技术和范式演进
  6. 用python编写图片生成器_python生成器
  7. 不可思议的素数(下)
  8. 输油管道问题 测试数据_建立测试时要考虑的数据管道
  9. Linux 常用命令十四 killall和pkill
  10. ora01017 linux,Oracle linux 7.5安装oracle 12c dg一直提示ORA-01017
  11. PR转场FilmImpact 蓝屏 error699966
  12. 关于Matlab插值的问题,这些应该够用了吧
  13. 知道一点怎么设直线方程_两点直线方程怎么求
  14. VB编程:取整函数Int、CInt、Fix区别-30
  15. 浅谈fiddler抓包工具中自动断点——Before Requests与After Responses断点功能
  16. commemorate 浩子's last day
  17. 搭建一个vue小页面(入门vue)
  18. Linux:查看主机显卡
  19. CEOI 2020, Day 2 A,B题解 CF1403A CF1403B
  20. hive表信息查询:查看表结构、表操作等(转)

热门文章

  1. Point Estimation
  2. 【Unity】内存泄漏危害及处理方式(腾讯WeTest分析使用)
  3. Vue 移动端项目 百度地图 点击事件无效、不触发 解决方案
  4. 0到π/0到2π,sinⁿx、cosⁿx的定积分
  5. 名帖315 沈尹默 行书《兰亭序》书轴
  6. [经典面试题]实现memcpy库函数
  7. (node:13684) UnhandledPromiseRejectionWarning: Unhandled promise rejection
  8. CF134C Swaps 题解
  9. 开发第一步之SMTP协议发送邮件,获取手机的详细信息
  10. 软件工程小项目~企业员工信息管理系统-需求分析~~