假设有一堆数据点,它是由两个线性模型产生的。公式如下:

模型参数为a,b,n:a为线性权值或斜率,b为常数偏置量,n为误差或者噪声。

一方面,假如我们被告知这两个模型的参数,则我们可以计算出损失。

对于第i个数据点,第k个模型会预测它的结果

则,与真实结果的差或者损失记为:

目标是最小化这个误差。

但是仍然不知道具体哪些数据由对应的哪个模型产生的(缺失的信息)。

另一方面,假设我们被告知这些数据对应具体哪个模型,则问题简化为求解约束条件下的线性方程解

(实际上可以计算出最小均分误差下的解,^-^)。

这两个假设,都只知道其中的一部分信息,所以求解困难。

EM算法就是重复迭代上述两步,固定因素A,放开因素B,然后固定因素B,再放开因素A,直到模型收敛,

如此迭代更新估计出模型的输出值以及参数值。

具体如下:

--------------------------------------------------------------------------------------------------------

在E步时,模型参数假定已知(随机初始化或者聚类初始化,后续不断迭代更新参数),
 计算出每个点属于模型的似然度或者概率(软判决,更加合理,后续可以不断迭代优化,而硬判决不合理是因为之前的假定参数本身不可靠,判决准则也不可靠)。

根据模型参数,如何计算出每个点属于模型的似然度或者概率?

计算出模型输出值与真实值的残差:

已知残差,计算出i点属于k模型的似然度(残差与似然度建立关系):

贝叶斯展开

 = ,假设残差与概率分布为高斯分布,残差距离度量 转换成  概率度量。

残差越小,则由对应模型生成的概率越大。

根据产生的残差,判断i属于模型k的归属概率

则,

完成点分配到模型的目的

--------------------------------------------------------------------------------------------------------

进入M步,知道各个点属于对应模型的概率,估计出模型参数

绝对值差*概率,误差(均方误差)期望最小化

最小化

求偏导:

置0,则上述两公式展开为

改写成 矩阵式:

完成计算出ak和bk参数

如此,反复迭代,收敛

EM算法对敏感,每轮迭代它的更新推荐公式:

--------------------------------------------------------------------------------

同样地,在 GMM 中,我们就需要确定 影响因子pi(k)、各类均值pMiu(k) 和 各类协方差pSigma(k) 这些参数。 我们的想法是,找到这样一组参数,它所确定的概率分布生成这些给定的数据点的概率最大,而这个概率实际上就等于  ,我们把这个乘积称作似然函数 (Likelihood Function)

没法直接用求导解方程的办法直接求得最大值。

不清楚这类数据是具体哪个高斯生成的,或者说生成的概率。

E步中,确定出数据xi属于第i个高斯的概率:通过计算各个高斯分量的后验概率,占比求得。

解决了点归属哪个高斯的问题,这是缺失的信息。

M步中,重新计算出各个参数。

根据似然概率最大化,可以推出均值、方差、权重更新公式。

另外知道了各个点属于各个高斯的概率,也可以直接计算求出 均值、方差、权重

如此E步和M步重复。

参考:http://blog.csdn.net/abcjennifer/article/details/8198352

--------------------------------------------------------------------------------------------------------

EM算法 大白话讲解相关推荐

  1. EM算法 大白话讲解 没看懂 保存

    https://www.cnblogs.com/welen/p/6337128.html

  2. 人人都能看懂的EM算法推导

    作者丨August@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/36331115 编辑丨极市平台 估计有很多入门机器学习的同学在看到EM算法的时候会有种种疑惑:EM ...

  3. em算法 实例 正态分布_人人都能看懂的EM算法推导

    ↑ 点击蓝字 关注极市平台作者丨August@知乎(已授权)来源丨https://zhuanlan.zhihu.com/p/36331115编辑丨极市平台 极市导读 EM算法到底是什么,公式推导怎么去 ...

  4. 李航/徐亦达 统计学习方法第九章EM算法及其推广总结和习题答案

    强烈推荐徐亦达老师关于EM算法的讲解视频,本文根据徐老师和李航老师统计学习方法整理,由于公式推导太多,笔记为手写.其中包含混合高斯模型的理解,形象化解释,以及习题链接. 习题 习题9.1和9.3 习题 ...

  5. em算法 实例 正态分布_【机器学习】EM算法详细推导和讲解

    今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的 ...

  6. 一文详尽系列之EM算法

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 EM 算法,全称 Expectation Maximization Algorithm ...

  7. 【机器学习基础】数学推导+纯Python实现机器学习算法27:EM算法

    Python机器学习算法实现 Author:louwill Machine Learning Lab 从本篇开始,整个机器学习系列还剩下最后三篇涉及导概率模型的文章,分别是EM算法.CRF条件随机场和 ...

  8. em算法详细例子及推导_EM算法详解(例子+推导)

    一. 例子讲解 假设有两个硬币1和2,随机抛出后出现正面概率为 . .每次取一枚银币,连续抛5次,共抛5轮,数据如下: 硬币1-->(3正2反):硬币2-->(2正3反):硬币3--> ...

  9. 语音识别学习日志 2019-7-14 语音识别基础知识准备2 {EM算法与混合高斯模型(Gaussian mixture model, GMM)}

    https://blog.csdn.net/lin_limin/article/details/81048411会对GMM和EM做详细介绍 本文参考: http://www.ituring.com.c ...

最新文章

  1. BigDecimal divide方法结果为无限小数问题
  2. oracle显性游标,Oracle高级显式游标的使用
  3. Spark RDD概念学习系列之RDD的重要内部属性(十五)
  4. show attend and tell 计算bleu分数(1到4)
  5. OpenCV在图像中寻找轮廓的实例(附完整代码)
  6. JS组件系列——表格组件神器:bootstrap table
  7. format函数python是什么意思,python的format函数是什么意思
  8. 生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap
  9. [swift] LeetCode 448. Find All Numbers Disappeared in an Array
  10. http 响应消息解码_响应生成所需的解码策略
  11. 自定义的string类
  12. .net的commandname领悟
  13. 机器人动力学——拉格朗日法
  14. DVWA下载、安装、使用(漏洞测试环境搭建)教程
  15. 拯救 中国区 谷歌翻译 解决方案
  16. 自适应中值滤波器和自适应局部(均值)滤波器的设计 python+matlab各实现
  17. 【字节面试-字符串】判断一组字符串能否首尾相连
  18. Linux编程之ICMP洪水攻击
  19. shader篇-程序纹理
  20. odoo14调用akshare库报错:Fatal process out of memory: Failed to reserve memory for new V8 Isolate

热门文章

  1. 用Memcache守护程序把数据缓存到内存二
  2. Nginx —— 检查配置文件nginx.conf的正确性命令(-t)
  3. 剑指offer 算法 (综合)
  4. 网络编程之select
  5. Spring核心——Bean的依赖注入
  6. cmake find_package 中,include_directories,target_link_libraries 的值怎么知道?
  7. new,delete和malloc,free以及allocatorT
  8. tomcat的server.xml详解
  9. ios中通过调试来使用私有api
  10. 最为一个领导,我该怎么领导