R语言代写基于模型的聚类和高斯混合模型

原文连接:http://tecdat.cn/?p=6105

 

介绍

 

聚类模型是一个概念,用于表示咱们试图识别的聚类类型。四种最多见的聚类方法模型是层次聚类,k均值聚类,基于模型的聚类和基于密度的聚类 算法

能够基于两个主要目标评估良好的聚类算法:微信

  • 高级内类似性
  • 低级间类似性

 

基于模型的聚类是迭代方法,经过优化聚类中数据集的分布,将一组数据集拟合到聚类中。高斯分布只不过是正态分布。此方法分三步进行:app

  1. 首先随机选择高斯参数并将其拟合到数据点集。
  2. 迭代地优化分布参数以适应尽量多的点。
  3. 一旦收敛到局部最小值,您就能够将数据点分配到更接近该群集的分布。

 有关高斯混合模型的详细信息

基于几率模型的聚类技术已被普遍使用,而且已经在许多应用中显示出有但愿的结果,从图像分割,手写识别,文档聚类,主题建模到信息检索。基于模型的聚类方法尝试使用几率方法优化观察数据与某些数学模型之间的拟合。框架

 

生成模型一般使用EM方法求解,EM方法是用于估计有限混合几率密度的参数的最普遍使用的方法。基于模型的聚类框架提供了处理此方法中的几个问题的主要方法,例如组件密度(或聚类)的数量,参数的初始值(EM算法须要初始参数值才能开始),以及份量密度的分布(例如,高斯分布)。EM以随机或启发式初始化开始,而后迭代地使用两个步骤来解决计算中的循环:函数

  • E-Step。使用当前模型参数肯定将数据点分配给群集的预期几率。
  • M-Step。经过使用分配几率做为权重来肯定每种混合物的最佳模型参数。

 

R中的建模

 

mb = Mclust(iris[,-5])

#or specify number of clusters
mb3 = Mclust(iris[,-5], 3)

# optimal selected model
mb$modelName

# optimal number of cluster
mb$G

# probality for an observation to be in a given cluster
head(mb$z)

# get probabilities, means, variances
summary(mb, parameters = TRUE)

 

table(iris$Species, mb$classification)
# vs
table(iris$Species, mb3$classification)

比较每一个群集中的数据量post

在将数据拟合到模型中以后,咱们基于聚类结果绘制模型。大数据

​ 

让咱们绘制估计的密度。 优化

plot(mb, "density")

 


您还可使用该summary()函数来获取最可能的模型和最可能数量的集群。对于此示例,最可能的簇数为5,BIC值等于-556.1142。ui

比较聚类方法

在使用不一样的聚类方法将数据拟合到聚类中以后,您可能但愿测量聚类的准确性。在大多数状况下,您可使用集群内集群度量标准做为度量。集群间距离越高越好,集群内距离越低,越好。spa

 

接下来,检索聚类方法的集群验证统计信息:

一般,咱们专一于使用within.cluster.ssavg.silwidth验证聚类方法。该within.cluster.ss测量表示所述簇内总和的平方,和avg.silwidth表示平均轮廓宽度

  • within.cluster.ss测量显示了相关对象在群集中的紧密程度; 值越小,集群中的对象越紧密。
  • avg.silwidth是一种度量,它考虑了群集中相关对象的紧密程度以及群集之间的分离方式。轮廓值一般为0到1; 接近1的值代表数据更好地聚类。

 

k-means和GMM之间的关系

K均值能够表示为高斯混合模型的特例。一般,高斯混合更具表现力,由于数据项对群集的成员资格取决于该群集的形状,而不单单取决于其接近度。

与k-means同样,用EM训练高斯混合模型可能对初始启动条件很是敏感。若是咱们将GMM与k-means进行比较和对比,咱们会发现前者的初始条件比后者更多。 

结果

 每一个聚类被建模为多元高斯分布,并经过给出如下内容来指定模型:

  1. 集群数量。
  2. 每一个群集中全部数据点的分数。
  3. 每一个聚类的均值和它的d-by-d协方差矩阵。

  

若是您有任何疑问,请在下面发表评论。   

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

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

点击这里给我发消息QQ:3025393450

 

​QQ交流群:186388004 

【服务场景】  

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

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

欢迎选修咱们的R语言数据分析挖掘必知必会课程!

 

 
欢迎关注 微信公众号,了解更多数据干货资讯!
 
相关文章
相关标签/搜索