河南南阳收割机被堵事件:官员缺德,祸患无穷

极目新闻领导公开“记者毕节采访被打”细节:他们打人后擦去指纹

突发!员工跳楼!只拿低保工资!央企设计院集体罢工!

退休后的温家宝

突发!北京某院集体罢工!

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

一种另辟蹊径的聚类:EM聚类

herain 数据指象 2022-07-01

请点击上方 趣味数据周刊 关注阅读

本文期号:20191229

用概率分布去聚类

我们常常谈论聚类,是通过距离去定义,比如K-means,距离判别等;今天我们一起谈谈EM聚类,一种基于统计分布的聚类模型,以统计分布作为设计算法的依据。其实,在大数定律的归束下,不管样本的分布类型是什么,当样本量趋于无穷大时,分布的类型将渐进于正态分布。
可想而知,观测全体即来自多个统计分布的有限混合分布的随机样本,我们很容易抽象描述为不同均值,不同方差的一个或多个正态分布的随机样本。随机样本在正态分布的分布概率是聚类的数学依据。
实验:用R生成两组服从二元正态分布的随机数,样本量分布为:100,50;
library("MASS")set.seed(12345)mux1<-0 ;muy1<-0 ;mux2<-15 ;muy2<-15ss1<-10 ;ss2<-10 ;s12<-3;sigma<-matrix(c(ss1,s12,s12,ss2),nrow=2,ncol=2)Data1<-mvrnorm(n=100,mu=c(mux1,muy1),Sigma=sigma,empirical=TRUE)Data2<-mvrnorm(n=50,mu=c(mux2,muy2),Sigma=sigma,empirical=TRUE)Data<-rbind(Data1,Data2)plot(Data,xlab="x",ylab="y")library("mclust")DataDens<-densityMclust(data=Data)plot(x=DataDens,type="persp",col=grey(level=0.8),xlab="x",ylab="y")

不管我们从坐标图和正态分布分布图,我们都可以清晰得看出两个类的集聚。这样我们从图上直观的了解了:EM聚类。


1,EM聚类是什么?

最大期望算法(Expectation-maximization algorithm,又译期望最大化算法)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。
求解最大期望离不开样本的分布类型。分布类型未知的情况下,我们都可以假设为大样本下的正态分布。

2,不断交替的EM

最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。
最大期望算法经过两个步骤交替进行计算:
第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。
M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。

3,EM聚类中聚类数目的问题

通常采用BIC信息准则,从数据拟合角度,选择最佳的聚类数目。
BIC= K*ln(n) - 2ln(L) 其中L为似然函数。
附加:AIC=2k  - 2ln(L) 
同样以开篇的例子为题,我们一起看看BIC计算的结果图是不是建议选择2聚类数目。

4,聚类可视化

对聚类结果可视化,可以直观看出类别分布,一目了然,这里我们介绍三个图形,希望能够对你们更好的产出业务结果,升职加薪。
一以贯之:还是借助开篇的例子和数据吧!
library("mclust")EMfit<-Mclust(data=Data)summary(EMfit)summary(EMfit,parameters=TRUE)plot(EMfit,"classification")plot(EMfit,"uncertainty")plot(EMfit,"density")
左:聚类结果图,右:观测所属类型不确定图


还有一个分布等高线图,让学过地理小伙伴们,找到了童年的感觉,哈哈哈😂。

喜欢的点赞,收藏,转发三连击。
推荐阅读:

客户分类是精细化运营的第一步

简文短述:决策树

大数据开发,一定要关注小细节

文章底部点个「在看」,坚持为你创作


文章有问题?点此查看未经处理的缓存