如果k均值聚类是高斯混合建模的一种形式,那么当数据不正常时可以使用它吗?


21

我正在阅读Bishop有关GMM的EM算法以及GMM和k均值之间的关系。

在这本书中,它说k均值是GMM的硬分配版本。我想知道这是否意味着如果我要聚类的数据不是高斯,我就不能使用k-means(或者至少不适合使用)?例如,如果数据是手写数字的图像,该图像由8 * 8像素组成,每个像素的值为0或1(并假设它们是独立的,因此应该是伯努利的混合物)?

我对此有些困惑,将不胜感激。


2
如果您要问对非正常数据执行k均值聚类是否有效,如果假定数据是连续的,则答案为是。二进制数据不是连续的。有些人对此类数据进行k均值,这在试探上是允许的,但在理论上是无效的。
ttnphns

没有用于k均值的概率模型,因此没有用于使之无效的正态假设。(但这并不意味着它将运行良好)
推测

1
@conjectures Hmm ...但是k-menas等同于GMM,并且GMM假定是正常的。
eddie.xie 2013年

@ttnphns感谢您的回答!因此,我想如果我使用TF-IDF将文本转换成分数并使其连续,那么我可以申请并且它有效吗?
eddie.xie 2013年

我突然意识到,GMM是几个高斯的混合(和),并且它应该能够表达给定足够混合的任何分布。因此,即使GMM和K-means等效,也不意味着K-means不能使用非正态数据,因为GMM可以表达任何分布。那是对的吗?
eddie.xie 2013年

Answers:


20

在典型的EM GMM情况下,确实会考虑方差和协方差。这不是用k均值完成的。

但确实,一种流行的k均值启发式算法(请注意:k均值是一个问题,而不是算法)-Lloyd算法-本质上是一种EM算法,使用质心模型(无方差)和硬分配。

在进行k均值样式聚类(即方差最小化)时,

  • 巧合地最小化了欧几里德距离的平方,因为WCSS(集群内平方和)方​​差贡献=欧几里德距离的平方
  • 巧合的是将对象分配给由欧几里德距离最近的簇,因为sqrt函数是单调的(注意的是,平均确实优化的欧几里德距离,但WCSS功能)
  • 仅使用质心表示聚类
  • 获得Voronoi细胞形簇,即多边形
  • 它最适合球形簇

k均值目标函数可以被形式化为这样: 其中,小号= { 小号1 ... 小号ķ }是将数据集所有可能的分区划分为k个分区,D是数据集的维数,例如x j d

精氨酸小号一世=1个ķXĴ小号一世d=1个dXĴd-μ一世d2
小号={小号1个小号ķ}ķdXĴd是维度d中第个实例的坐标Ĵd

一般说来,k-均值假设为球形簇。人们也普遍认为k均值簇是Voronoi细胞,即不是球形的。两者都是正确的,而且都是错误的。首先,簇不是完整的Voronoi细胞,而只是其中的已知对象。无需将群集之间的死区视为任一群集的一部分,因为在那里存在对象会影响算法结果。但是也称它为“球形”并不是更好,因为欧几里德距离是球形的。K-means不在乎欧几里得距离。所有这些都是一种使差异最小化的试探法。实际上,您应该将k均值视为:方差最小化。


让我建议您对一些表达式进行一些细化-以提高准确性。例如,to minimize squared euclidean distance或to是什么minimize the variances?因为我们有2个以上的簇,所以必须有“和”或“汇集”之类的词,不是吗?
ttnphns

顺便说一句,由于k均值最小化了d ^ 2的集群内合并总和除以相应集群中对象的数量,coincidentally minimize Euclidean distance, because the sqrt function is monotone因此,准确地说,您的观点是不正确的。
ttnphns

可以证明收敛的正确目标函数是WCSS,集群内平方和。实际上,它并没有使欧几里得距离最小化,但是它与欧几里德的最接近质心距离也是WCSS的最佳分配。
Anony-Mousse 2013年

不幸的是,您的措辞仍然令人怀疑。短语minimize squared Euclidean distance, because WCSS variance contribution = squared euclidean distance 什么意思?您是说“ 集群中的对象之间的平方d 最小,因为偏差的WCSS最小化了”,还是“偏差的WCSS最小化了-偏差- 本质上欧几里德距离”?还是其他?
ttnphns

1
显然,仅当您想要数据的质心模型时,k-means才是一个不错的选择。如果要优化成对距离,请使用分层聚类。
Anony-Mousse 2013年

8

GMM使用延伸到无穷大的重叠山丘(但实际上仅计3 sigma)。每个点都获得所有山丘的概率得分。另外,山丘是“卵形”的(好的,它们是对称的椭圆形),并且使用完整的协方差矩阵,可能会倾斜

K均值将一个点硬分配给单个聚类,因此其他聚类中心的得分将被忽略(隐式重置为零/无关)。小山是球形的肥皂泡。在两个肥皂泡接触的地方,它们之间的边界变为平坦(超)平面。就像您吹起许多肥皂泡的泡沫一样,内部的泡沫不是平坦的而是方形的,因此许多(超)球之间的边界实际上形成了空间的Voronoi分隔。在蜂巢中,这看起来像是在六角形的密堆积中模糊地看起来像六边形(尽管当然不能保证Voronoi细胞是六边形的)。K均值山是圆形的,不会倾斜,因此表示力较小;但计算速度要快得多,尤其是在较大尺寸的情况下。

由于K均值使用欧几里德距离度量,因此假设尺寸是可比较的并且权重相等。因此,如果维度X的每小时英里数从0到80,并且维度Y的磅单位从0到400,并且您要在此XY空间中拟合圆,则一个维度(及其传播)将会比其他维度更强大,并且会使结果蒙上阴影。这就是为什么习惯采用K均值时对数据进行规范化的原因。

GMM和K-means都通过对给出的数据进行最佳近似来对数据建模。GMM适合倾斜的鸡蛋,而K均值适合倾斜的球体。但是底层数据的形状可以是任何形状,可以是螺旋形或毕加索画,并且每种算法仍将运行,并尽力而为。生成的模型是否看起来像实际数据,取决于生成数据的基础物理过程。(例如,时延测量是单边的;高斯拟合是否合适?也许。)

但是,GMM和K-means都隐含地假设数据轴/域来自实数字段 [Rñ。这取决于您要集群的数据轴/域的类型。有序整数计数很好地映射到实数。有序符号(例如光谱中的颜色)不太好。二进制符号,ehn。无序符号根本不会映射到实数上(除非您自2000年以来一直使用有创造力的新数学)。

因此,您的8x8二进制图像将被解释为第一个超象限中的64维超立方体。然后,算法使用几何类比来查找聚类。用K均值表示的距离在64维空间中显示为欧几里得距离。这是做到这一点的一种方法。


请注意,这两种算法还隐式地假设空间轴在所有点上都一样密集,因此通常通过预变换将数据重新映射到近似线性变化的域中,以指数,对数或正弦变化的数据拟合。
DragonLord
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.