美文网首页
EM算法的理解

EM算法的理解

作者: V_爱一世春秋 | 来源:发表于2019-10-25 08:25 被阅读0次

以下是我觉得最通俗理解EM思想的方式了!详细看来:

极大似然估计

讲EM算法之前,我们先来看下极大似然估计,这个可以参考https://blog.csdn.net/zengxiantao1994/article/details/72787849这篇文章,而EM算法是为了解决“最大似然估计”中更复杂的情形而存在的。 这里“极大似然估计中更复杂的情形”是什么情形呢? 我们知道极大似然估计是求解实现结果的最佳参数θ,但极大似然估计需要面临的概率分布只有一个或者知道结果是通过哪个概率分布实现的,只不过你不知道这个概率分布的参数。而如果概率分布有多个呢或者你不知道结果是通过哪个概率分布实现的?于是别说去确定“这些概率分布”的最佳参数了,我们连最终结果是根据哪个概率分布得出来的都不知道,这就是EM算法要面临的情况了。

EM算法

EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大。所以,EM算法称为期望极大算法。EM算法就是含有隐变量的概率模型的极大似然估计法。

最大似然估计和EM算法都是根据实现结果求解概率分布的最佳参数θ,但最大似然估计中知道每个结果对应哪个概率分布(我知道哪个概率分布实现了这个结果),而EM算法面临的问题是:我不知道哪个概率分布实现了该结果。怎么在不知道其概率分布的情况下还能求解其问题?且看EM算法:

EM算法的求解思想

在说明EM算法的求解思想前,我们先总结下上面的内容。

一般的用Y表示观测到的随机变量的数据,Z表示隐随机变量的数据(因为我们观测不到结果是从哪个概率分布中得出的,所以将这个叫做隐变量)。于是Y和Z连在一起被称为完全数据,仅Y一个被称为不完全数据。

这时有没有发现EM算法面临的问题主要就是:有个隐变量数据Z。而如果Z已知的话,那问题就可用极大似然估计求解了。 于是乎,怎么把Z变成已知的?

举个日常生活的例子。

结果:大厨把锅里的菜平均分配到两个碟子里

难题:如果只有一个碟子乘菜那就什么都不用说了,但问题是有2个碟子,而因为根本无法估计一个碟子里应该乘多少菜,所以无法一次性把菜完全平均分配。

解法:大厨先把锅里的菜一股脑倒进两个碟子里,然后看看哪个碟子里的菜多,就把这个碟子中的菜往另一个碟子中匀匀,之后重复多次匀匀的过程,直到两个碟子中菜的量大致一样。 上面的例子中,平均分配这个结果是“观测数据”,为实现平均分配而给每个盘子分配多少菜是“待求参数θ”,分配菜的手感就是“概率分布”。于是若只有一个盘子,那概率分布就确定了(“把锅里的菜全部倒到一个盘子”这样的手感是个人都有吧),而因为有两个盘子,所以“给一个盘子到多少菜才好”的手感就有些模糊不定,不过我们可以采用上面的解法来实现最终目标。

理解EM算法最好的方式我觉得就是结合这些类比去理解,然后那些数学公式是怎么来的,这样就可以事半功倍了!请看下面:

EM算法的思想就是:

给θ自主规定个初值(既然我不知道想实现“两个碟子平均分配锅里的菜”的话每个碟子需要有多少菜,那我就先估计个值);

根据给定观测数据和当前的参数θ,求未观测数据z的条件概率分布的期望(在上一步中,已经根据手感将菜倒进了两个碟子,然后这一步根据“两个碟子里都有菜”和“当前两个碟子都有多少菜”来判断自己倒菜的手感);

上一步中z已经求出来了,于是根据极大似然估计求最优的θ’(手感已经有了,那就根据手感判断下盘子里应该有多少菜,然后把菜匀匀);

因为第二步和第三步的结果可能不是最优的,所以重复第二步和第三步,直到收敛(重复多次匀匀的过程,直到两个碟子中菜的量大致一样)。

而上面的第二步被称作E步(求期望),第三步被称作M步(求极大化),于是EM算法就在不停的EM、EM、EM….,所以被叫做EM算法!

注意:数学详细推导这里不会给出,其他答案和网上有详细推导。记得类比知识,还有学下前置知识(比如Jensen不等式)就好!

参考资料:https://www.jianshu.com/p/1121509ac1dc

相关文章

  • EM算法的理解

    以下是我觉得最通俗理解EM思想的方式了!详细看来: 极大似然估计 讲EM算法之前,我们先来看下极大似然估计,这个可...

  • EM 算法

    参考: 从最大似然到EM算法浅解 (EM算法)The EM Algorithm EM算法及其推广学习笔记 EM算法...

  • 再学习EM算法

    EM 算法是十大经典的机器学习算法,【PS:MC是二十世纪十大算法】 回顾下经典的EM算法,对其理解加深 1. 学...

  • EM算法

    问题 1. 什么是EM 2. EM算法流程是怎么样的 3. EM算法的优缺点 1. EM算法介绍 EM算法...

  • EM算法及理解

    1. EM算法是求解含有隐变量的极大似然估计参数的迭代算法。 2. 极大似然估计可以用梯度下降法求解,但是如果概...

  • 补充:理解EM算法

    EM算法是频率学派的武功,是极大似然法估计的升级版。是带有隐变量的极大似然估计。典型的应用:GMM、pLSA 正文...

  • EM算法简单理解

    样本数据中存在隐变量导致无法直接用极大似然估计求解参数的情况. 就是直接求解似然函数L(θ) = P(X,Z|θ)...

  • 04 EM算法 - EM算法收敛证明

    03 EM算法 - EM算法流程和直观案例 八、EM算法收敛证明 EM算法的收敛性只要我们能够证明对数似然函数的值...

  • 如何感性地理解EM算法?

    如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计。个人认为,理解EM算法背后的idea,...

  • 01 EM算法 - 大纲 - 最大似然估计(MLE)、贝叶斯算法

    EM算法的讲解的内容包括以下几个方面: 1、最大似然估计2、K-means算法3、EM算法4、GMM算法 EM算法...

网友评论

      本文标题:EM算法的理解

      本文链接:https://www.haomeiwen.com/subject/zrulyctx.html