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

时间:2022-07-23
本文章向大家介绍R语言:EM算法和高斯混合模型的实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

软件包

数据

我们将使用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值用于选择簇的数量

聚类图

分类不确定性的图表

簇的轨道图