机器学习读书笔记之3 - EM算法

       EM(expectation-maximization)算法又称期望最大化算法,是Dempster,Laind,Rubin于1977年提出的求参数极大似然估计的一种迭代优化策略,它可以从非完整数据集中对参数进行极大似然估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据,EM算法是在缺失数据等不完全数据下进行参数的极大似然估计或者极大后验估计一种行之有效的方法。

       EM算法 经常用在机器学习和聚类(Clustering),算法经过两个步骤交替进行计算:

第一步 是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;

第二步 是最大化(M),最大化在E步上求得的最大似然值来计算参数的值;

M上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。

        因此,EM算法可以看作是 在部分变量未知的情况下,通过假设来进行变量估计的迭代技术

        下面通过一个简单的例子来进行说明:

        假设 A、B、C去爬长城,八达岭、司马台、箭扣 三个候选争执不下,PS:长城的景色真是没得说。

        根据历史经验:

        A:爬过一次八达岭、一次司马台;

        B:爬过两次司马台、一次箭扣;

        C:爬过一次箭扣;

        机器学习读书笔记之3 - EM算法_第1张图片

        通过观察数据我们猜到,三个人都是运动健将,都爱爬长城,同时 每个长城风景都很优美,在这种情况下 这次大家选择去哪儿的几率相等(都是1/3)。

        这里面的 隐藏参数 是什么呢?OK,先来假设 S = 0|1 说 大家是否愿意重复去同一个地方

1)E-Setp 假设

     假设S=0,大家不愿意去同样的地方,这种情况下 针对每一个候选 [八达岭、司马台、箭扣]的概率:

     A:[0,0,1]    B:[0.7,0,0.3]    C:[0.5,0.5,0]

2)M-Setp 反思

      加起来,统计概率为 [1.2,0.5,1.3],根据投票(最大似然),去箭扣的概率更大一些

1)E-Setp 再假设

      假设S=1,愿意去同样的地方,概率:

      A:[0.5,0.5,0]    B:[0,0.7,0.3]    C:[0,0,1]

2)M-Setp 再反思

      统计概率为 [0.5,1.2,1.3],根据投票(最大似然),去箭扣的概率更大一些

        通过迭代收敛,最后你得到结论,这次去爬箭扣长城的概率更大些。

        明白了吧?整个过程就是假设隐含参数进行计算,这里你也可以把隐含参数改成 考虑危险程度、考虑距离 等等

        EM算法的推导可以参见这篇文章:http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

你可能感兴趣的:(机器学习,计算机视觉)