EM算法简易推导

EM算法推导

网上和书上有关于EM算法的推导,都比较复杂,不便于记忆,这里给出一个更加简短的推导,用于备忘。

在不包含隐变量的情况下,我们求最大似然的时候只需要进行求导使导函数等于0,求出参数即可。但是包含隐变量,直接求导就变得异常复杂,此时需要EM算法,首先求出隐变量的期望值(E步),然后,把隐变量当中常数,按照不包含隐变量的求解最大似然的方法解出参数(M步),反复迭代,最终收敛到局部最优。下面给出EM算法的推导

我们有对数似然函数
\[
L(\theta)=\log P(y|\theta) = \log\sum_zp(y,z|\theta)
\]
可以表示成包含隐变量\(z\)的形式,然后通过边缘化再消除\(z\),效果是一样的。

由于是迭代,我们需要每次得到的新的似然结果比上一次的似然结果要大,于是我们的目标是下式
\[
\theta = \arg\max_\theta L(\theta) - L(\theta')
\]
由于$L(\theta‘) $ 是常量,所以,使得\(L(\theta)\)最大化即可。下面看看如何最大化 \(L(\theta)\) :
\[
\begin{split}
\theta &= \arg\max_\theta L(\theta)\&= \arg\max_\theta \log\sum_zp(y,z|\theta)\&= \arg\max_\theta \log\sum_zp(z|y, \theta')\dfrac{p(y, z|\theta)}{p(z|y, \theta')}\&= \arg\max_\theta \sum_zp(z|y,\theta')\log\dfrac{p(y,z|
\theta)}{p(z|y,\theta')}\&= \arg\max_\theta\sum_zp(z|y,\theta')\log(p(y, z|\theta))\&= \arg\max_\theta Q(\theta, \theta')
\end{split}
\]

至此,得到传说中的Q函数,然后求解出参数\(\theta\)即可

原文地址:https://www.cnblogs.com/crackpotisback/p/9855756.html

时间: 2024-10-09 18:24:23

EM算法简易推导的相关文章

【机器学习】EM算法详细推导和讲解

[机器学习]EM算法详细推导和讲解 今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的数据,又知道身高的概率模型是高斯分布,那么利用极大化似然函数的方法可以估计出高斯分布的两个参数,均值和方差.这个方法基本上所有概率课本上都会讲,我这就不多说了,不清楚的请百度. 然而现在我面临的是这种情况,我手上的数据是四川人和东北人的身高合集,然而对于其中具体的

EM算法

EM算法的推导

机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)

今天要来讨论的是EM算法.第一眼看到EM我就想到了我大枫哥,EM Master,千里马,RUA!!!不知道看这个博客的人有没有懂这个梗的.好的,言归正传,今天要讲的EM算法,全称是Expectation maximization,期望最大化.怎么个意思呢,就是给你一堆观测样本,让你给出这个模型的参数估计.我靠,这套路我们前面讨论各种回归的时候不是已经用烂了吗?求期望,求对数期望,求导为0,得到参数估计值,这套路我懂啊,MLE!但问题在于,如果这个问题存在中间的隐变量呢?会不会把我们的套路给带崩呢

EM算法 - 1 - 介绍

声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的小部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面. 3,如果有内容错误或不准确欢迎大家指正. 4,如果能帮到你,那真是太好了. 在开始之前需要准备些预备知识,如果你已经全部掌握那就直接向下翻到EM算法这一章吧. 极大似然估计 由于E

EM算法 - 2 - EM算法在高斯混合模型学习中的应用

声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的小部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面. 3,如果有内容错误或不准确欢迎大家指正. 4,如果能帮到你,那真是太好了. 在开始讲解之前,我要先给看这篇文章的你道个歉,因为<2012.李航.统计学习方法.pdf>中

猪猪的机器学习笔记(十四)EM算法

EM算法 作者:樱花猪   摘要: 本文为七月算法(julyedu.com)12月机器学习第十次次课在线笔记.EM算法全称为Expectation Maximization Algorithm,既最大期望算法.它是一种迭代的算法,用于含有隐变量的概率参数模型的最大似然估计和极大后验概率估计.EM算法经常用于机器学习和机器视觉的聚类领域,是一个非常重要的算法.而EM算法本身从使用上来讲并不算难,但是如果需要真正的理解则需要许多知识的相互串联. 引言:      EM算法是机器学习十大经典算法之一.

机器学习:EM算法

概率模型有的时候既含有观测变量,又含有隐变量.如果概率模型的变量都是观测变量,那么通过给定的数据可以通过极大似然估计,或者贝叶斯估计方法.但是当模型含有隐变量的时候,就不能简单地使用这些估计算法. EM算法的推导 预备知识:Jensen不等式 $f$是定义域为实数的函数,如果对于所有的实数x.如果对于所有的实数x,$f(x)$的二次导数大于等于0,那么f是凸函数.当x是向量时,如果其hessian矩阵H是半正定的,那么f是凸函数.如果只大于0,不等于0,那么称f是严格凸函数. Jensen不等式

梯度下降和EM算法,kmeans的em推导

I. 牛顿迭代法给定一个复杂的非线性函数f(x),希望求它的最小值,我们一般可以这样做,假定它足够光滑,那么它的最小值也就是它的极小值点,满足f′(x0)=0,然后可以转化为求方程f′(x)=0的根了.非线性方程的根我们有个牛顿法,所以 然而,这种做法脱离了几何意义,不能让我们窥探到更多的秘密.我们宁可使用如下的思路:在y=f(x)的x=xn这一点处,我们可以用一条近似的曲线来逼近原函数,如果近似的曲线容易求最小值,那么我们就可以用这个近似的曲线求得的最小值,来近似代替原来曲线的最小值了: 显然

EM算法的基本原理和推导

参考: 从最大似然到EM算法浅解 (EM算法)The EM Algorithm EM算法的九层境界:Hinton和Jordan理解的EM算法 在EM算法的证明中,其实比较好理解,总结如下: 从最大似然估计出发 ====>  将隐变量暴露出来,写出累加/积分的 形式 ===> 引入Q(z),表示隐变量z的概率密度函数 ==> 对于log函数,利用 Jensen不等式的变形:  f(E(x)  >= E(f(x)),得到最大似然函数的下界 ===> 对于log函数的Jenson不