EM算法

Posted qiu-hua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EM算法相关的知识,希望对你有一定的参考价值。

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算法的主要内容,如果未能解决你的问题,请参考以下文章

EM算法详解

期望最大化算法(Expectation-Maximum,简称EM)算法+EM算法+EM的应用

机器学习EM算法

机器学习EM算法

EM算法有啥用?

EM算法:GMM训练算法