如果你在数据科学领域还只是个新手,那么建议你先看看——《五本书带你入门数据科学》,入门后,再学习《R语言案例实战》。
概率图模型系列文章:
高斯分布
高斯分布(Gaussian Distribution)有时也被称为正态分布(Normal Distribution),是一种在自然界大量的存在的、最为常见的分布形式。例如人的身高、体重、年龄等特征,都符合正态分布。
正态分布的公式如下所示:

公式中包含两个参数,参数 μ 表示均值,σ 表示标准差,均值对应正态分布的中间位置,标准差衡量了数据围绕均值分散的程度。下图表示了在不同的均值与方差下,正态分布概率密度函数的形状。

高斯混合模型
高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。
下面我们先来模拟出两个不同均值和方差的正态分布的数据。

可以看到,这份数据,是由两个正态分布的数据组合而成,下面点的颜色,代表它们的分类。数据的生成代码,如下所示:

执行代码,我们即可得到以下的数据:
> data <- data.frame(x, y)

然后绘图,即可得到上面的图形。


通过模拟数据的代码,我们知道,左边的正态分布(黑色点,标记为c1),均值为1,方差为1,个数占比为25%,右边的正态分布(红色点,标记为c2),均值为9,方差为2,个数占比75%。
现在,问题来了,如果我们不知道 y,只有 x 的值,那么如何计算出上面红色标记的六个指标呢?
GMM模型的求解
我们可以通过EM算法,来求解GMM模型的参数值,EM算法的实现过程,我们在前面已有介绍(传送门:概率图模型——EM算法),下面我们使用R语言来实现,EM算法求解GMM模型的过程。


执行代码,即可得到迭代后的结果:
prob: 0.2464328 0.7535672
mean: 0.9724929 8.996412
sd: 0.9408951 1.986688
我们来核对一下,左边的正态分布(黑色点,标记为c1),均值为1(计算结果为0.9724929),方差为1(计算结果为0.9408951),个数占比为25%(计算结果为0.2464328),右边的正态分布(红色点,标记为c2),均值为9(计算结果为8.996412),方差为2(计算结果为1.986688),个数占比75%(计算结果为0.7535672)。因此,EM算法对GMM模型参数求解的结果,和我们模拟数据的真实参数值,基本上一致。
最后,我们通过绘图,来看看EM算法对GMM模型参数的拟合过程。

执行代码,即可得到以下的图形:

从图形中我们可以看到,当EM算法迭代到第六次的时候,参数已经稳定,也就是接近真实的参数了。

最后,重点中的重点来了!!!双十一Python大数据分析课程优惠!!!
数据分析进阶(Python分析与挖掘)
a.课程折扣:这是进入大数据分析必备的系列课程,适合想玩转大数据分析的朋友,特别是准备进入或已经进入互联网行业的朋友。
本课程已有1900+学员加入学习,前2000名可享6折(原价427元,折后256元)优惠

b.赠书:购买此系列,可选赠《Python数据分析与应用》或《用Python写网络爬虫》其中一本书

长按识别二维码进入课程页面

数据分析进阶(R分析与挖掘)
a.课程折扣:R跟Python如何选呢?R偏向统计分析,Python偏数据开发,学会其中一个,学另外一个就很快了。现已有1800+学员加入学习《数据分析进阶(R分析与挖掘)》,前2000名可享7折(原价298元,折后209元)优惠

b.赠书:购买此系列,建议选赠《R语言商务数据分析》或 《R语言数据挖掘》

长按识别二维码进入课程页面

赠书获取方式:
发邮件至 3295225008@qq.com 邮箱
邮件标题:“赠书申请”
邮件内容:“网易云课堂昵称+订单号+赠书书名+收货地址+姓名+手机号”
说明:
1.请在2018年11月21日前提交赠书信息,过期视为放弃,不再安排赠书,赠书信息邮件发送后48小时内回复,请耐心等待。
2.活动结束后统一邮寄,如快递因收货信息错误、手机无法接通等个人原因无法派送,导致快递退回,我们将不再补寄;

