为什么在(K-means)聚类方法中只使用平均值?

机器算法验证 正态分布 聚类 k-均值 无监督学习 高斯混合分布
2022-03-27 23:15:35

K-means等聚类方法中,欧几里得距离是要使用的度量。因此,我们只计算每个集群内的平均值。然后根据元素与每个平均值的距离对元素进行调整。

我想知道为什么不使用高斯函数作为度量?xi -mean(X)我们可以使用 ,而不是使用exp(- (xi - mean(X)).^2/std(X).^2)因此,不仅测量了集群之间的相似性(均值),而且还考虑了集群内的相似性(std)。这也等同于高斯混合模型吗?

这超出了我的问题范围,但我认为均值偏移可能会出现上述相同的问题。

2个回答

字面上有成千上万的 k-means 变化包括软分配、方差和协方差(通常称为高斯混合建模或EM算法)。

不过,我想指出几点:

  • K-means 不是基于欧几里得距离。它基于方差最小化由于方差是平方欧几里德距离的总和,因此最小方差分配是具有最小平方欧几里德的那个,并且平方根函数是单调的。出于效率原因,不计算欧几里得距离实际上更聪明(但使用平方)

  • 如果您将不同的距离函数插入 k-means,它可能会停止收敛。您需要在两个步骤中最小化相同的标准第二步是重新计算手段。使用算术平均值估计中心是最小二乘估计量,它将最小化方差。由于这两个函数都最小化了方差,因此 k-means 必须收敛。如果要确保与其他距离的收敛,请使用 PAM(围绕中心点进行分区。中心点将任意距离函数的集群内距离最小化。)

但最后,恕我直言,k-means 及其所有变体更像是一种优化(或更准确地说,是矢量量化算法),而不是实际上的聚类分析算法。他们实际上不会“发现”结构。他们会将您的数据按摩到 k 个分区中。如果你给他们统一的数据,除了随机性之外没有任何结构,k-means 仍然会找到你希望它找到的许多“集群”。k-means 对返回本质上是随机的结果感到满意

有很多不同的聚类技术,K-means 只是一种方法。正如 DL Dahly 评论的那样,EM 算法可以以您描述的方式用于聚类。值得注意的是,K-means 和使用带有高斯混合模型的 EM 进行聚类的主要区别在于簇的形状:质心仍然会非常接近组中点的均值,但 K-means 会给出一个球形簇,而高斯核将给出椭圆体。

层次聚类使用完全不同的方法。基于密度的聚类是由与基于均值的聚类类似的启发式驱动的,但显然给出了不同的结果。有很多不考虑任何平均值的聚类技术。

真的,归根结底,算法的选择是问题域和实验的函数(即看什么有效)。