EM算法

EM算法是一种常用的估计参数隐变量的利器,也称为期望最大算法,是数据挖掘的十大经典算法之一。EM算法主要应用与训练样本不完整即存在隐变量时的情形(例如某个属性值未知),通过独特的两步走策略能较好地估计出隐变量的值。

EM算法思想

EM算法是一种迭代式的方法,它的基本思想就是,若样本服从分布参数 θ \theta θ已经知,则可以根据已经观测到的训练样本推断出隐变量 Z Z Z的期望值(E步),若 Z Z Z的值已知道,则运用最大似然法估计出新的 θ \theta θ值,(M步),重复这个过程直到 Z Z Z和 θ \theta θ值不在发生变化。
简单来讲,假设我们向估计 A 和 B A和B A和B这两个参数,在开始状态下,二者都是未知,但是,如果知道了 A A A的信息就得到了 B B B的信息,反过来知道了 B B B也就知道了 A A A,可以考虑首先赋予 A A A某种初值,以此得到 B B B的估计值,然后从 B B B的当前值出发,重新估计 A A A的取值,这一过程一直持续到收敛为止。

现在在来回想聚类代替算法k-means,【首先随机选择类中心=>将样本点划分到类簇中=>重新计算类中心=>不断迭代直到收敛】

不难发现,这个过程和EM迭代方法及其相似,事实上,若将样本的类别看作隐变量(later variable) Z Z Z,类中心看作样本的分布参数 θ \theta θ,K-means就是通过EM算法来进行迭代的,与为我们这里不同的是,k-mean算法目标是最小化样本点到其类中心的距离和。上述为极大化似然函数。

EM算法的数学推导

在上篇极大似然法中,当样本属性都已知时,我们很容易通过极大化对数似然,接着对每个参数求偏导计算出参数的值。但当存在隐变量时,就无法直接求解,此时,我们通常最大化已经观察数据对数的边际似然

这时候,通过边缘似然将隐变量 Z Z Z引入进来,对于参数估计,现在与最大似然不同的,只是似然函数式中多了一个未知的变量 Z Z Z,
也就是说我们的目标是找到合适的 θ 和 Z \theta和Z θ和Z,让 h ( θ ) h(\theta) h(θ)z最大。这样也可以分别对未知的 θ \theta θ和 Z Z Z求偏导,再令其等于0.
然而观察上式可以发现,和的对数 ( l n ( x 1 + x 2 + x 3 ) ) (ln(x1+x2+x3)) (ln(x1+x2+x3))求导十分复杂,那能否通过变换上式得到一种求导简单的新表达式呢?这时候,jensen就派上用场了,先回顾以下高等数学凸函数内容

j e n s e n ′ s i n e q u a l i t y jensen's inequality jensen′sinequality,过一个凸函数上任意两点的所作割线,一定在这两点间的函数图像的上方。理解起来也是十分简单,对于凸函数 f ( x ) ′ ′ > 0 f(x)''>0 f(x)′′>0, 即曲线变化率是越来越大单调递增的,所以函数越到后面增长越厉害,这样在一个区间下,函数的均值就会大一些。

因为 l n ( ∗ ) ln(*) ln(∗)函数为凹函数,故可以将上式和的对数变成对数的和,这样就很容易求导的。

接着求解 Q i 和 θ Qi和θ Qi和θ:首先固定 θ (初始值) θ(初始值) θ(初始值),通过求解 Q i 使得 J ( θ , Q )在 θ 处与 L ( θ )相等 Qi使得J(θ,Q)在θ处与L(θ)相等 Qi使得J(θ,Q)在θ处与L(θ)相等,即求出L(θ)的下界;然后再固定Qi,调整θ,最大化下界J(θ,Q)。 不断重复两个步骤直到稳定 不断重复两个步骤直到稳定 不断重复两个步骤直到稳定。通过jensen不等式的性质,Qi的计算公式 实际上就是后验概率 实际上就是后验概率 实际上就是后验概率:


$
通过数学公式的推导,简单来理解这一过程:固定 θ θ θ计算 Q Q Q的过程就是在建立 L ( θ ) L(θ) L(θ)的下界,即通过jenson不等式得到的下界(E步);固定Q计算θ则是使得下界极大化(M步),从而不断推高边缘似然 L ( θ ) L(θ) L(θ)。从而循序渐进地计算出L(θ)取得极大值时隐变量Z的估计值。

EM算法也可以看作一种**“坐标下降法”,首先固定一个值,对另外一个值求极值,不断重复直到收敛。这时候也许大家就有疑问,问什么不直接这两个家伙求偏导用梯度下降呢?这时候就是坐标下降的优势,有些特殊的函数,例如曲线函数 z = y 2 + x 2 + x 2 y + x y + . . . , z=y^2+x^2+x^2y+xy+..., z=y2+x2+x2y+xy+...,无法直接求导,这时如果先固定其中的一个变量,再对另一个变量求极值**,则变得可行。

EM算法流程

看完数学推导,算法流程也就十分简单了,这里两个 版本,版本一来自西瓜书,版本二来自大牛的博客,结合着数学推导,自认为版本二更具有逻辑性,两者唯一的区别就在于版本二多出了红框的部分,这里我也没得到答案,欢迎骚扰讨论~

版本一:

版本二:

学习心得

会自己将代码以及数学公式,全部推导一遍,代码以及数学公式,全部都将其搞定都行啦的样子与打算。
代码与数学公式,以及各种编码全部推导一遍。全部都推导下来。
手推以及markdown编辑推导,一个都不能丢,全部将其推导下来。

机器学习——EM算法相关推荐

  1. 机器学习 | EM 算法原理

    文章目录 EM 算法 1. EM 算法的引入 三硬币模型 2. EM 算法 Q 函数 参考文献 相关文章: 机器学习 | 目录 无监督学习 | GMM 高斯混合原理及Sklearn实现 本文大部分内容 ...

  2. 机器学习 EM算法理解

    文章目录 前言 极大似然 问题描述 参数估计 极大似然估计 极大似然应用 极小化代价函数 EM算法 EM算法推导 基础知识 凸函数 Jensen不等式 期望 推导过程 算法流程 另一种呢理解 EM算法 ...

  3. 深入理解机器学习——EM算法/最大期望算法(Expectation-Maximization Algorithm, EM)

    分类目录:<深入理解机器学习>总目录 在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是"完整"的.但在现实应用中往往会遇到"不完 ...

  4. 机器学习 EM算法 从极大似然法谈起

    极大似然法 VS EM算法 EM(Expectation Maximization)算法是复杂化的极大似然法(Maximum Likelihood). 极大似然法问题中,所有观测值属于同一分布,需要估 ...

  5. 机器学习笔记之EM算法(二)EM算法公式推导过程

    机器学习笔记之EM算法--EM算法公式推导过程 引言 回顾:EM算法公式 推导过程 引言 上一节介绍了隐变量和EM算法,以及 以EM算法公式为条件,证明了随着EM算法迭代步骤的增加,每次迭代得到新的模 ...

  6. 机器学习笔记之EM算法(一)隐变量与EM算法公式的收敛性

    机器学习笔记之EM算法--隐变量与EM算法公式的收敛性 引言 隐变量 示例1 示例2 EM算法 包含隐变量的混合概率模型 EM算法的表达形式 EM算法的收敛性 EM算法的收敛性证明的条件与目标 EM算 ...

  7. 实战EM算法与图像分割

    EM 算法是求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行估计,是一种非常简单实用的学习算法.这种方法可以广泛地应用于处理缺损数据.截尾数据以及带有噪声等所谓的不完全数据,可以具体来说 ...

  8. 机器学习系列之EM算法

    机器学习系列之EM算法 我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知识 1.极大似然估计 (1)举例说明:经典问题--学生身高问题 我们需要 ...

  9. 机器学习中的EM算法具体解释及R语言实例(1)

    最大期望算法(EM) K均值算法很easy(可參见之前公布的博文),相信读者都能够轻松地理解它. 但以下将要介绍的EM算法就要困难很多了.它与极大似然预计密切相关. 1 算法原理 最好还是从一个样例開 ...

最新文章

  1. 在PHP语言中使用JSON
  2. 小朋友学数据结构(3):二叉树的建立和遍历
  3. spring 的aop操作
  4. 在Spring Boot + Mybatis 中,使用@Repository失效
  5. MYSQL 表 部分数据导出、导入
  6. 天猫广告业务独立运营
  7. TightVNC进行远程控制
  8. 百度音乐 android,百度音乐旧版本
  9. 一周信创舆情观察(7.5~7.11)
  10. 读coco数据集的代码接口了解segmentation的处理方法
  11. ns3中PointToPointDumbbellHelper类的引入方法(哑铃型网络模拟)
  12. Isight2019 集成MATLAB2019 (64位)的优化问题
  13. (二)RFB协议具体通信说明
  14. 【转】为什么程序猿996多猝屎,而企业家007却不会?
  15. 基于winform的工资单群发工具
  16. eks安装kubectl
  17. MBA联考英语二考试最新考试大纲出来啦
  18. 常见品牌、型号路由器对应的断开地址,如何在博客蜘蛛软件中设置路由路径
  19. 效率神器!!!遥感影像和普通图片样本半自动标注
  20. 日语配合计算机应用技术,基于计算机协同工作技术的日语语料库构建及应用

热门文章

  1. s_p_a_r_k_内核
  2. 火车票服务端集成总结
  3. python arp_Python中的Scapy初探之三-ARP中毒
  4. Google地图开发初级篇
  5. 微软需要Twitter来对抗Google
  6. 设计模式-进阶架构师必备知识(一篇读懂,就一篇)
  7. AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID
  8. 公众号运营工具推荐大会!这些如果你还没用就out啦!
  9. 自定义照相机官方指南
  10. The resource identified by this request is only capable of generating respon