最近在读李航写的《统计学习方法》,想要迁移一些知识到图像重建领域,首先总结一下EM算法:

EM算法算是机器学习中有些难度的算法之一,也是非常重要的算法,曾经被誉为10大数据挖掘算法之一,从标题可以看出,EM专治带有隐变量的参数估计,我们熟悉的MLE(最大似然估计)一般会用于不含有隐变量的参数估计,应用场景不同。

首先举一个带有隐变量的例子吧,假设现在有1000人的身高数据,163、153、183、203、173等等,不出意外肯定是男生或者女生组成的这1000个人,那么这个163cm我们就没办法知道是男生的还是女生,这其中男女就是一个隐变量,我们只能看到163cm,但是看不到背后男女这个隐变量。

用Y表示观测数据,Z表示隐变量(男女身高例子中就是男女这个隐变量),Y和Z在一起表示为完全数据,假设Y、Z的联合分布概率为P(Y,Z|θ),对数似然为logP(Y,Z|θ),EM算法通过迭代求得L(θ)=logP(Y,Z|θ)的最大似然估计,每次迭代分为两步:E-step ,求期望。M-step,求最大化,下面来介绍EM算法。

EM算法的提出

假定有训练集:

现在有m个独立样本。希望从中找到该组数据的模型p(x, z)的参数,

我们可以通过最大似然估计建立目标函数,然后取对数似然:

事实上,EM算法是通过迭代逐步接近最大化L(θ),那么我们现在不妨假设第i次迭代后θ的估计值为θi,我们当然希望重新估计的θ能使似然函数L(θ)有所增大,并逐渐逼近最大值,因此,我们做差:

利用jensen不等式,我们找到其下界:

虽然看上去有点乱,其实就是在里边偷偷的再里边乘上一个P和除上一个P,没任何难度,

令:

则:

由此可知B为L的一个下界,那么我们根据上式可得:

那么任何能使B增加的的θ一定也可以使L(θ)增大,为了使L(θ)尽可能的增大,我们可以选择一个θi+1使得B达到最大:

既然是求θi+1,那么就省略掉常数项:

这就完成了EM算法的一次迭代,EM算法其实就是通过不断求解下界的极大化逼近求解岁数似然函数的极大值算法。

下图使一个比较直观表示EM算法求解过程:

从这幅图中不难看出,EM算法不能保证找到全局最最优值。

算法:

输入:观测数据Y,隐变量Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ);

输出:模型的参数;

(1): 选择参数的初始值θ0,开始迭代;

(2): E步:记θi为第i次迭代的参数θ的估值,在第θ+1次的迭代,计算:

其中P(Z|Y,θi)是给定观测数据Y和当前参数估计θi的前提下,隐变量Z的条件概率分布。

(3): M步:求使Q(θ,θi)极大值的θ,确定第i+1次的参数估计值θi:

(4): 重复第2、3步,直到收敛。

说明:

完全数据的对数似然函数logP(Y,Z|θ)关于在给定Y和θi的前提下对未观测数据Z的条件概率分布P(Z|Y,θi)的期望称为Q函数:

关于EM算法的几点注意:

步骤(1): θ参数初值是可以随便给定的,但是EM算法对于初值选择是敏感的。

步骤(2): E-step求得Q(θ,θi),Q函数中Z是隐变量,Y是观测数据,Q(θ,θi)中第一个变元是表示要极大化的参数,第二个表示当前的估计值,每次迭代实际上是在求Q的最大化。

步骤(3): M-step中试求Q(θ,θi)的最大值,得到θi,完成一次迭代。

步骤(4): 给出迭代终止条件,一般是较小的正数ε1,ε2,若满足:

关于图像:

而对于图像的模型,PSF模糊核一般是未知参数,一般假设图像符合泊松分布,似然函数没有解析解,所以一般采用迭代的方式求解,完全数据(I,PSF),求x( I=Possion(PSF*x) );

假如缺失数据PSF己知,则可能得到一个关于I的简单的添加,利用p(I/x,PSF)的简单性可以进行各种统计计算。然后当然可以又对PSF做检查。

EM算法【图像迭代】相关推荐

  1. em算法matlab图像应用,em算法matlab程序

    EM 算法作业 EM 算法简单 介绍及应用 EM 算法是当存在数据缺失问题时,极... Matlab 实现根据以上推导,可以很容易实现 EM 算法估计 GMM 参数.现... 题目:matlab 实现 ...

  2. 机器学习理论《统计学习方法》学习笔记:第九章 EM算法及其推广

    第九章 EM算法及其推广 概述 EM算法 EM算法的收敛性 EM算法实现 K-Means与高斯混合模型 K-Means 高斯混合模型 概述 EM算法是一种迭代算法,1977年由Dempster等人总结 ...

  3. python 数学期望_python机器学习笔记:EM算法

    完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote EM算法也称期望最大化 ...

  4. 从生成模型到GDA再到GMM和EM算法

    在学习生成模型之前,先学习了解下密度估计和高斯混合模型.为什么呢?因为后面的VAE\GANs模型都需要把训练样本,也就是输入的图像样本看作是一个复杂的.多维的分布. 1. 知乎上关于图像频率的解释 作 ...

  5. 第八课.EM算法的合理性与算法推导

    目录 EM算法背景 EM算法迭代的合理性 EM算法推导 EM算法的E步和M步 分析EM算法的由来 EM算法背景 在硬币投掷和班级身高问题中,引入了隐变量问题,模型变成了混合模型,我们不能直接利用极大似 ...

  6. 复现经典:《统计学习方法》第 9 章 EM 算法及其推广

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  7. em算法python代码_EM算法的python实现的方法步骤

    导读热词 前言:前一篇文章大概说了EM算法的整个理解以及一些相关的公式神马的,那些数学公式啥的看完真的是忘完了,那就来用代码记忆记忆吧!接下来将会对python版本的EM算法进行一些分析. EM的py ...

  8. em算法怎么对应原有分类_机器学习基础-EM算法

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...

  9. 机器学习笔记(十六)——EM算法概述

    一.引言 按照计划,这周应该学习HMM中的第三个基本问题:参数估计问题,但是其中的内容涉及到了EM算法,所以打算先把EM算法搞定之后再去继续HMM的问题.EM算法的推导过程比较复杂,这节我只给出简述和 ...

最新文章

  1. SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板
  2. AngularJS学习篇(十)
  3. 的setinterval函数_Vue定时器与JS 定时器 setInterval() 和 setTimeout()
  4. Office Outlook 2007连接Exchange 2007图示(POP3IMAP)
  5. 浏览器直接访问Linux云服务器下的文件
  6. 不重复地输出数(信息学奥赛一本通-T1245)
  7. iPad开发(Universal Applications)
  8. 使用cookies查询商品详情
  9. 网管实战:为网络系统构建ISA防火墙
  10. SequoiaDB 网络通信三剑客(maxsocketpernode,maxsocketperthread,maxsocketthread)
  11. 热设计功耗(TDP)与功耗(P)
  12. 当幸福来敲门 经典语录
  13. python求15的因数_python学习第15期
  14. Linux系统配置VLAN
  15. Summit Wireless全新低成本空间音频模块现已震撼上市
  16. PSPNet Caffe 编译安装
  17. vsftpd+SSL+FileZilla Client
  18. pycharm快捷键ctrl+alt+L失效
  19. 【Java】Java函数式编程以及流的操作
  20. citra 图形设置_Java 编辑PPT SmartArt图形 - E-iceblue

热门文章

  1. 2-2:C++快速入门之输入和输出
  2. 2-1:配置与环境之环境
  3. XML具有哪些特点?相对于HTML的优势
  4. c++程序设计中虚基类,多继承知识点
  5. tree命令的使用(过滤文件夹)
  6. linux命令 查看某安装包是否已安装
  7. C++ WINDOWS下 wchar_t *和char * 相互转化总结篇
  8. 使用Huploadify上传文件并动态传递参数到后台
  9. Ajax提交打开新窗口,浏览器拦截处理;以及跨域问题
  10. 长生不死、名人复活?疯狂的AI时代,人类竟要靠IA实现“永生”