用K-Means和EM进行聚类:它们之间有何关系?


50

我研究了用于对数据进行聚类(无监督学习)的算法:EM和k-means。我继续阅读以下内容:

k-means是EM的一种变体,假设簇是球形的。

有人可以解释以上句子吗?我不了解球形的含义,以及kmeans和EM之间的关系,因为一个以概率方式进行分配,而另一个以确定性方式进行。

另外,在哪种情况下使用k均值聚类更好?或使用EM群集?


球形表示每个聚类的相同方差-协方差矩阵(假设为高斯分布),也称为基于模型的聚类。您认为哪种方法是确定性的?
chl

2
如果您给出引用的来源,那将是很好的。
ttnphns

1
k-均值“假设”在欧几里得空间中,这些簇或多或少是圆形和实心的(不是严重伸长或弯曲或只是环状的)云。它们不需要来自正态分布。EM确实需要它(或至少要知道特定的分布类型)。
ttnphns

Answers:


38

K代表

  1. 在收敛时,将数据点硬分配给一个特定的群集。
  2. 优化时使用L2范数(最小{Theta} L2范数点及其质心坐标)。

电磁

  1. 软将点分配给聚类(因此它给出了任何点属于任何质心的概率)。
  2. 它不依赖于L2范数,而是基于期望,即该点属于特定聚类的概率。这使得K均值偏向球形簇。

57

没有“ k-means算法”。有用于k均值的MacQueens算法,用于k均值的Lloyd / Forgy算法,Hartigan-Wong方法...

也没有“ EM”算法。这是一个反复考虑可能性然后最大化模型的通用方案。EM最流行的变体也称为“高斯混合模型”(GMM),其中模型是多元高斯分布。

可以考虑劳埃德算法由两个步骤组成:

  • 的E步骤,其中,每个对象被分配给,使得它被分配给最有可能的群集的质心。
  • M步骤,其中,所述模型(=质心)重新计算(=最小二乘优化)。

...迭代这两个步骤,由劳埃德完成,使得这个有效的通用EM方案的一个实例。它不同于GMM是:

  • 它使用硬分区,即,每个对象被分配到一个簇
  • 该模型的重心只,无协方差或方差考虑

您可以对均值的变体进行一些开发吗?我快速浏览了《统计学习的要素》(Hastie,Tibshirani,Friedman)的第14章……它们支持“ -means算法” 的存在。kk
猫王

10
许多书都将k-means与lloyds算法等同起来,但他从未称其为k-means。MacQueen引入了k-means这个名字。抱歉:许多书在这里使用不正确的命名。k-means是问题,只有一种流行的解决方案。实际上,R将默认运行Hartigan-Wong来解决kmeans。
Anony-Mousse 2013年

4

这是一个示例,如果我在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表示一个点...并且椭圆形穿过该点的三个轴的方差。如果所有三个方差都相同,则将得到一个球体。


谢谢你的这个例子。它有助于解决一些想法。
Myna 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.