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

CSDN:白马负金羁

最大期望算法(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中进行数据挖掘的实例。

4. 高斯混合模型

高斯混合模型(GMM,Gaussian Mixture Model)可以看成是EM算法的一种现实应用。利用这个模型可以解决聚类分析、机器视觉等领域中的许多实际问题。

4.1 模型推导

在讨论EM算法时,我们并未指定样本来自于何种分布。实际应用中,常常假定样本是来自正态分布之总体的。也就是说,在进行聚类分析时,认为所有样本都来自具有不同参数控制的数个正态总体。例如前面讨论的男性女性身高问题,我们就可以假定样本数据是来自如图13-5所示的一个双正态分布混合模型。这便有了接下来要讨论的高斯混合模型。

4.2 应用实例

软件包mclust提供了利用高斯混合模型对数据进行聚类分析的方法。其中函数Mclust()是进行EM聚类的核心函数,它的基本调用格式为

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

支持向量机及Python代码实现

做机器学习的一定对支持向量机(support vector machine-SVM)颇为熟悉,因为在深度学习出现之前,SVM一直霸占着机器学习老大哥...

3816
来自专栏企鹅号快讯

机器学习算法原理系列详解-机器学习基础与实践(一)-数据清洗

作者:Charlotte77 数学系的数据挖掘民工 博客专栏:http://www.cnblogs.com/charlotte77/ 个人公众号:Charlo...

2026
来自专栏大数据文摘

回归分析的七种武器

1996
来自专栏数据科学与人工智能

回归分析技术|机器学习

原文:http://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/ ...

2614
来自专栏机器学习算法全栈工程师

机器学习损失函数、L1-L2正则化的前世今生

前言: 我们学习一个算法总是要有个指标或者多个指标来衡量一下算的好不好,不同的机器学习问题就有了不同的努力目标,今天我们就来聊一聊回归意义下的损...

3557
来自专栏大数据挖掘DT机器学习

你应该掌握的七种回归技术

作者:刘帝伟,中南大学软件学院在读研究生 回归分析是建模和分析数据的重要工具。本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归、逻辑回归、多项式...

3086
来自专栏人工智能头条

你应该掌握的七种回归技术

1133
来自专栏大数据挖掘DT机器学习

七种常用回归技术,如何正确选择回归模型?

作者:刘帝伟,中南大学软件学院在读研究生 回归分析是建模和分析数据的重要工具。本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归、逻辑回归、多项...

4075
来自专栏机器学习之旅

应用:数据预处理-异常值处理

举个例子:以下一组用户用车月花费:100,110,90,80,200,120,115,月花费的均值在116左右,标准差在39左右,理论上用户的分布应该在116±...

772
来自专栏数据科学与人工智能

【算法】七种常用的回归算法

小编邀请您,先思考: 1 您熟悉那些回归算法? 2 回归算法可以解决那些问题? 3 如何实现回归算法? 温馨提示:加入圈子或者商务合作,请加微信:luqin36...

3236

扫描关注云+社区