我研究了用于对数据进行聚类(无监督学习)的算法:EM和k-means。我继续阅读以下内容:
k-means是EM的一种变体,假设簇是球形的。
有人可以解释以上句子吗?我不了解球形的含义,以及kmeans和EM之间的关系,因为一个以概率方式进行分配,而另一个以确定性方式进行。
另外,在哪种情况下使用k均值聚类更好?或使用EM群集?
我研究了用于对数据进行聚类(无监督学习)的算法:EM和k-means。我继续阅读以下内容:
k-means是EM的一种变体,假设簇是球形的。
有人可以解释以上句子吗?我不了解球形的含义,以及kmeans和EM之间的关系,因为一个以概率方式进行分配,而另一个以确定性方式进行。
另外,在哪种情况下使用k均值聚类更好?或使用EM群集?
Answers:
K代表
电磁
没有“ k-means算法”。有用于k均值的MacQueens算法,用于k均值的Lloyd / Forgy算法,Hartigan-Wong方法...
也没有“ EM”算法。这是一个反复考虑可能性然后最大化模型的通用方案。EM最流行的变体也称为“高斯混合模型”(GMM),其中模型是多元高斯分布。
可以考虑劳埃德算法由两个步骤组成:
...迭代这两个步骤,由劳埃德完成,使得这个有效的通用EM方案的一个实例。它不同于GMM是:
这是一个示例,如果我在mplus中进行此操作,这可能会有所帮助并补充更全面的答案:
假设我有3个连续变量,并想根据这些变量识别聚类。我将指定一个混合模型(在这种情况下,更具体地讲,是一个潜在配置文件模型),假设条件独立(观察到的变量是独立的,给定集群成员)为:
Model:
%Overall%
v1* v2* v3*; ! Freely estimated variances
[v1 v2 v3]; ! Freely estimated means
我将多次运行此模型,每次指定不同数量的集群,然后选择我最喜欢的解决方案(这样做本身是一个很大的话题)。
为了运行k-means,我将指定以下模型:
Model:
%Overall%
v1@0 v2@0 v3@0; ! Variances constrained as zero
[v1 v2 v3]; ! Freely estimated means
因此,类成员关系仅基于与观测变量均值的距离。如其他答复所述,差异与之无关。
在mplus中执行此操作的好处是它们是嵌套模型,因此除了能够比较这两种方法之间的分类不一致之外,您还可以直接测试约束是否导致拟合度较差。顺便说一下,这两个模型都可以使用EM算法进行估算,因此区别实际上更多地在于模型。
如果您在3-D空间中进行思考,则3表示一个点...并且椭圆形穿过该点的三个轴的方差。如果所有三个方差都相同,则将得到一个球体。