The EM(Expectation–Maximization) Algorithm 详解

在统计计算中,最大期望EMExpectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。

通常来说,聚类是一种无指导的机器学习问题,如此问题描述:给你一堆数据点,让你将它们最靠谱地分成一堆一堆的。聚类算法很多,不同的算法适应于不同的问题,这里仅介绍一个基于模型的聚类,该聚类算法对数据点的假设是,这些数据点分别是围绕 K 个核心的 K个正态分布源所随机生成的,使用 Han JiaWei的《Data Ming Concepts and Techniques》中的图:

图中有两个正态分布核心,生成了大致两堆点。我们的聚类算法就是需要根据给出来的那些点,算出这两个正态分布的核心在什么位置,以及分布的参数是多少。这很明显又是一个贝叶斯问题,但这次不同的是,答案是连续的且有无穷多种可能性,更糟的是,只有当我们知道了哪些点属于同一个正态分布圈的时候才能够对这个分布的参数作出靠谱的预测,现在两堆点混在一块我们又不知道哪些点属于第一个正态分布,哪些属于第二个。反过来,只有当我们对分布的参数作出了靠谱的预测时候,才能知道到底哪些点属于第一个分布,那些点属于第二个分布。这就成了一个先有鸡还是先有蛋的问题了。为了解决这个循环依赖,总有一方要先打破僵局,说,不管了,我先随便整一个值出来,看你怎么变,然后我再根据你的变化调整我的变化,然后如此迭代着不断互相推导,最终收敛到一个解。这就是 EM 算法。

EM 的意思是“Expectation-Maximazation”,在这个聚类问题里面,我们是先随便猜一下这两个正态分布的参数:如核心在什么地方,方差是多少。然后计算出每个数据点更可能属于第一个还是第二个正态分布圈,这个是属于 Expectation 一步。有了每个数据点的归属,我们就可以根据属于第一个分布的数据点来重新评估第一个分布的参数(从蛋再回到鸡),这个是 Maximazation。如此往复,直到参数基本不再发生变化为止。这个迭代收敛过程中的贝叶斯方法在第二步,根据数据点求分布的参数上面。

以上内容引用自July的文章,在此表示感谢,对其进行总结可得到以下结论。

总结:

l EM方法是一种迭代的方法,需要多次循环迭代

l 找到最大似然估计是其主要目标

l 模型依赖于不能观测到的隐藏变量

l 包括两步骤,E步骤和M步骤

在《概率论与数理统计》课程中我们学过,统计推断的基本问题可以分为两大类,一类是估计问题,一类是假设检验问题。我们主要学习了两类估计问题:点估计和区间估计,点估计中我们又主要学习了两类问题:矩估计和最大似然估计。

设总体X的分布函数的形式为已知,但它的

下述内容来自JerryLead的博客,我自己又添加了一些理解此文所需要的预备知识,希望有兴趣了解EM算法的朋友,或者对此有困惑的朋友可以留言和我讨论,我们共同学习共同进步。

 

 

EM()算法详解

 

 

 

你可能感兴趣的:(机器学习,algorithm,算法)