计算机视觉
图像处理

机器学习中的EM算法详解及R语言实例(1)

最大期望算法(EM)

K均值算法非常简单(可参见之前发布的博文),详细读者都可以轻松地理解它。但下面将要介绍的EM算法就要困难许多了,它与极大似然估计密切相关。

1 算法原理

不 妨从一个例子开始我们的讨论,假设现在有100个人的身高数据,而且这100条数据是随机抽取的。一个常识性的看法是,男性身高满足一定的分布(例如正态 分布),女性身高也满足一定的分布,但这两个分布的参数不同。我们现在不仅不知道男女身高分布的参数,甚至不知道这100条数据哪些是来自男性,哪些是来 自女性。这正符合聚类问题的假设,除了数据本身以外,并不知道其他任何信息。而我们的目的正是推断每个数据应该属于哪个分类。所以对于每个样本,都有两个 需要被估计的项,一个就是它到底是来自男性身高的分布,还是来自女性身高的分布。另外一个就是,男女身高分布的参数各是多少。

既 然我们要估计知道A和B两组参数,在开始状态下二者都是未知的,但如果知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。所以可能想到的一 种方法就是考虑首先赋予A某种初值,以此得到B的估计,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。你是否隐约想到了什么?是 的,这恰恰是K均值算法的本质,所以说K均值算法中其实蕴含了EM算法的本质。

EM 算法,又称期望最大化(Expectation Maximization)算法。在男女身高的问题里面,可以先随便猜一下男生身高的正态分布参数:比如可以假设男生身高的均值是1.7米,方差是0.1 米。当然,这仅仅是我们的一个猜测,最开始肯定不会太准确。但基于这个猜测,便可计算出每个人更可能属于男性分布还是属于女性分布。例如有个人的身高是 1.75米,显然它更可能属于男性身高这个分布。据此,我们为每条数据都划定了一个归属。接下来就可以根据最大似然法,通过这些被大概认为是男性的若干条 数据来重新估计男性身高正态分布的参数,女性的那个分布同样方法重新估计。然后,当更新了这两个分布的时候,每一个属于这两个分布的概率又发生了改变,那 么就再需要调整参数。如此迭代,直到参数基本不再发生变化为止。

在正式介绍EM算法的原理和执行过程之前,此处首先对边缘分布的概念稍作补充。

2. 收敛探讨

在下一篇中我们将讨论高斯混合模型(GMM),相当于是EM的一种实现。并给出在R中进行数据挖掘的实例

未完,待续…

本文参考文献:

1、斯坦福的公开课——机器学习 ,由Andrew Ng主讲

2、JerryLead的博客

3、数据挖掘导论,Pang-Ning Tan,Michael Steinbach,Vipin Kumar 著

转载注明来源:CV视觉网 » 机器学习中的EM算法详解及R语言实例(1)

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 5

评论前必须登录!