码迷,mamicode.com
首页 > 编程语言 > 详细

EM算法

时间:2020-06-03 23:28:33      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:贝叶斯   ash   简单的   简单   tail   dash   函数   中心   概率分布   

EM算法(Expectation-maximization),又称最大期望算法,是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计(或极大后验概率估计)

从定义可知,该算法是用来估计参数的,这里约定参数为 技术图片 。既然是迭代算法,那么肯定有一个初始值,记为 技术图片 ,然后再通过算法计算 技术图片

通常,当模型的变量都是观测变量时,可以直接通过极大似然估计法,或者贝叶斯估计法估计模型参数。但是当模型包含隐变量时,就不能简单的使用这些估计方法

举个具体的栗子:

永远在你身后:Matplotlib输出动画实现K-means聚类过程可视化?zhuanlan.zhihu.com

K-means算法中,除了给定的样本(也就是观测变量) 技术图片 以及参数 技术图片 (也就是那些个聚类的中心)之外,还包含一个隐变量(记为 技术图片 ),它是每个样本的所属类别

可以理解为,我们之所以对一批样本进行聚类,也是因为认为这些样本是有它们潜在的类别的,也就是说还有一个隐变量是我们没有(或者无法)观测到的


下面先给出EM算法的步骤公式,然后再对公式进行推导。假设在第 技术图片 次迭代后参数的估计值为 技术图片 ,对于第 技术图片 次迭代,分为两步

  • E步,求期望:

技术图片

关于的随机变量的函数的期望,公式在后面会给出

  • M步,最大化:

技术图片

其中, 技术图片 称为 技术图片 函数,是EM算法的核心。下面就来对公式进行推导


给定一组观测数据记为 技术图片 ,以及参数 技术图片 。因为 技术图片 是独立同分布,所以有以下对数似然函数:

技术图片

可以通过极大似然估计来求解最优参数,即:

技术图片

但是由于隐变量的存在, 技术图片 变为

技术图片

注意:联合概率公式 P(XZ)=P(X|Z)P(Z)

这样直接求解就变得困难,一个办法是构造一个容易优化的——关于对数似然函数的——下界函数,通过不断的优化这个下界,迭代逼近最优参数。为了方便下面推导流畅,提前先贴几个公式

随机变量的数学期望

技术图片

随机变量函数的数学期望。设 技术图片 ,则 技术图片 的期望为:

技术图片

相对熵

技术图片

 

下面是具体的推导。首先引入隐变量 技术图片 的概率分布 技术图片 ,满足

技术图片

并且以下等式成立

技术图片

两边同时取对数

技术图片

同时求两边在 技术图片 上的期望

技术图片

因为 技术图片 与 技术图片 无关,所以求期望仍然不变:

技术图片

然后将右边展开

技术图片

由此得到对数似然函数的下界。并且当 技术图片 ,上式可以取到等号,由相对熵的性质可知,相对熵为0,也就是 技术图片

其中 技术图片 是 技术图片 的概率分布,但是因为无法观测 技术图片 ,所以 技术图片 未知,可以假设其等于 技术图片 ,也就是 技术图片 关于给定 技术图片 与 技术图片 的后验,且 技术图片 是由初始值 技术图片 一次次迭代计算而来,所以此处的 技术图片 是迭代 技术图片 次后的值

技术图片

然后通过极大似然估计得到:

技术图片

以上,就是EM算法中E步的由来,然后令 技术图片 ,就得到了M步的公式

技术图片

 

以上就是EM算法的推导过程,为了加深理解,我们可以换一个角度来总结一下。前面我们定义了似然函数

技术图片

由于累加号嵌套在 技术图片 函数中,难以直接进行求解,如果换一个似然函数,就容易的多

技术图片

但是,又由于的 技术图片 是隐变量,无法得到它的概率分布,只能通过给定的 技术图片 和 技术图片 来计算它的后验分布,然后求似然函数在此分布上的期望

技术图片

最后,再寻找能使似然函数的期望最大化的参数

EM算法

标签:贝叶斯   ash   简单的   简单   tail   dash   函数   中心   概率分布   

原文地址:https://www.cnblogs.com/qiu-hua/p/13040616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!