EM算法的目的

1 为什么需要EM算法? 


我们遇到的大多数问题是这样的: 

A、已知一堆观测数据X 
B、和数据服从的统计模型然后利用数据来估计统计模型中的参数解决这个问题的思路是:最大似然,即模型的参数应该能使我们观测到的这组数据的可能性最大。而这个似然函数就是:P(X|Θ) 
于是,参数估计的问题变成了最优化问题。而最优化问题求解中,最常用的就是直接求导获得解析解,或者用梯度下降的方法去迭代。 


不过,事情并非总这么简单。我们可能会遇到: 

A、观测值有缺失 
B、难以得知P(X|Θ),当引入一个隐含变量时,才能写出模型 
当然,其实这两种情况都是一种情况,就是必须引入一个隐含变量。这种情况下,对P(X|Θ)进行优化是困难的,通过引入隐含变量Z,把问题转换为优化P(X|Θ) = ∑P(X,Z|Θ)是相对容易的。然而在优化这个问题的时候,通常很难求导;或者导数是一个互相耦合的方程,这个时候,EM算法就登场了。不过EM算法和梯度下降法其实本质上都是不动点迭代法。 


2、EM算法是什么?为什么可以work?


EM算法的思路是巧妙的构造了一个P(X|Θ)的下界,通过优化这个相对简单的下界来优化最终目标P(X|Θ) 


同样来自某知乎大牛的对EM算法解释也很到位:EM算法是解决含有隐变量的最大似然估计的算法,因为似然函数一般是取对数的,而作为有隐变量的最大似然函数,它的形式是和的对数,对这样一个函数求导无疑是非常麻烦的,所以EM算法非常巧妙的采用了不断求下界函数最大值的方法来逼近实际的极大值。

猜你喜欢

转载自blog.csdn.net/ranghanqiao5058/article/details/78727647
今日推荐