如何通俗理解又爱又恨的EM算法

                           如何通俗理解又爱又恨的EM算法

前言

了解过EM算法的同学可能知道,EM算法是数据挖掘十大算法,可谓搞机器学习或数据挖掘的基本绕不开,但EM算法又像数据结构里的KMP算法,看似简单但又貌似不是一看就懂,想绕开却绕不开的又爱又恨,可能正在阅读此文的你感同身受。

一直以来,我都坚持一个观点:当你学习某个知识点感觉学不懂时,十有八九不是你不够聪明,十有八九是你所看的资料不够通俗、不够易懂(如果还是不行,问人)。

我因为要写EM的笔记,翻阅了很多资料,有比较通俗的,但大部分都不太好懂,本文力争通俗易懂且完整全面。有何问题,欢迎随时留言评论,thanks。

一 什么是EM算法

到底什么是EM算法呢?Wikipedia给的解释是:

最大期望算法(Expectation-maximization algorithm,又译期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。

最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。

你懂了么?十有八九你没懂。因为你可能不懂什么是最大似然估计?而想了解最大似然估计,又得先从似然函数开始。但什么又是似然函数

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。

扫描二维码关注公众号,回复: 2782491 查看本文章

看到没,概率是根据条件推测结果,而似然则是根据结果反推条件。在这种意义上,似然函数可以理解为条件概率的逆反。

假定已知某个参数B时,推测事件A会发生的概率写作:

P(A\mid B)={\frac  {P(A,B)}{P(B)}}\!

通过贝叶斯公式,可以得出

P(B\mid A)={\frac  {P(A\mid B)\;P(B)}{P(A)}}\!

现在我们反过来:事件A发生已经了,请通过似然函数{\mathbb  {L}}(B\mid A),估计参数B的可能性。

一上公式,你可能就开始一顿懵圈了。然后回想起我前沿开头所说的话:难道就没有一篇通俗易懂的么?

答案,当然是有的。我们舍弃各种公式、概念,从例子入口。

猜你喜欢

转载自blog.csdn.net/v_JULY_v/article/details/81708386
今日推荐