R语言:EM算法和高斯混合模型的实现

Posted tecdat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言:EM算法和高斯混合模型的实现相关的知识,希望对你有一定的参考价值。

原文 :http://tecdat.cn/?p=3433

 

本文我们讨论期望最大化理论,应用和评估基于期望最大化的聚类。

软件包

install.packages("mclust");

require(mclust)

## Loading required package: mclust

## Package ‘mclust‘ version 5.1

## Type ‘citation("mclust")‘ for citing this R package in publications.
技术图片

 

数据

我们将使用mclust软件包附带的“糖尿病”数据。

data(diabetes)

summary(diabetes)

## class glucose insulin sspg## Chemical:36 Min. : 70 Min. : 45.0 Min. : 10.0## Normal :76 1st Qu.: 90 1st Qu.: 352.0 1st Qu.:118.0## Overt :33 Median : 97 Median : 403.0 Median :156.0## Mean :122 Mean : 540.8 Mean :186.1## 3rd Qu.:112 3rd Qu.: 558.0 3rd Qu.:221.0## Max. :353 Max. :1568.0 Max. :748.0
技术图片

 

期望最大化(EM)

期望最大化(EM)算法是用于找到最大似然的或在统计模型参数,其中该模型依赖于未观察到的潜变量最大后验(MAP)估计的迭代方法。期望最大化(EM)可能是无监督学习最常用的算法。

似然函数

似然函数找到给定数据的最佳模型。

技术图片技术图片?

期望最大化(EM)算法

假设我们翻转硬币并得到以下内容 - 0,1,1,0,0,1,1,0,0,1。我们可以选择伯努利分布

或者,如果我们有以厘米为单位的人的身高(男性和女性)的数据。高度遵循正常的分布,但男性(平均)比女性高,因此这表明两个高斯分布的混合模型。

技术图片技术图片?

贝叶斯信息准则(BIC)

以糖尿病数据为例

EM集群与糖尿病数据使用mclust。

log.likelihood:这是BIC值的对数似然值

n:这是X点的数量

df:这是自由度

BIC:这是贝叶斯信息标准; 低是好的

ICL:综合完整X可能性 - BIC的分类版本。

clPairs(X,class.d)
技术图片

 

技术图片技术图片?

EM的绘图命令会生成以下四个绘图:

BIC值用于选择簇的数量

聚类图

分类不确定性的图表

簇的轨道图

技术图片技术图片?

技术图片技术图片?

 

 

技术图片技术图片?

 

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

技术图片?

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

 

 

以上是关于R语言:EM算法和高斯混合模型的实现的主要内容,如果未能解决你的问题,请参考以下文章

高斯混合模型(GMM)和EM算法

05 EM算法 - 高斯混合模型 - GMM

高斯混合模型GMM的EM算法实现(聚类)

R语言实现:混合正态分布EM最大期望估计法

大数据部落R语言实现:混合正态分布EM最大期望估计法

6. EM算法-高斯混合模型GMM+Lasso详细代码实现