k-Means 的优缺点

k-average 的优势

实施起来相对简单。

扩展到大型数据集。

保证收敛。

可以对形心的位置进行温启动。

轻松适应新示例。

泛化到形状和大小不同的聚类,例如椭圆聚类。

k-average 泛化

如果集群具有不同的密度和大小,会发生什么情况?请查看图 1。比较左侧直观的集群与右侧 k-} 实际找到的集群。这些比较显示了 k-average 如何在某些数据集上偶然发现。

两个并排的图表。第一个展示的数据集具有一些明显的聚类。第二个示例显示了运行 k-average 后奇怪的样本分组。
图 1:非通用的 k-average 示例。

如需聚类自然不均衡的集群(如图 1 所示),您可以调整(泛化)k-平均值。在图 2 中,这些线显示了将 k-average 泛化后的聚类边界,如下所示:

  • 左图:无泛化结果,产生非直观的聚类边界。
  • 居中图:允许不同的集群宽度,从而产生更直观且不同大小的集群。
  • 右侧图:除了不同的集群宽度之外,允许每个维度使用不同的宽度,从而产生椭圆形而不是球形聚类,从而改善结果。
两个并排的图表。第一个是球形集群示例,第二个是非球形集群示例。
图 2:一个球形集群示例和非球形集群示例。

虽然本课程并未深入介绍泛化 k-average 的方式,但请注意,易于修改 k-进行的更改是能够实现 k-average 强大的另一个原因。如需了解如何泛化 k-平均值,请参阅卡内基梅隆大学的 Carlos Guestrin 的聚类 - K-平均值高斯混合模型

k-已安装方法的缺点

手动选择 \(k\) 。

使用“损失与聚类”图表找出最佳值 (k),如解释结果中所述。

依赖于初始值。

如果 \(k\)较低,您可以通过使用不同初始值运行 k-average 多次并选择最佳结果来缓解这种依赖性。随着 \(k\)的增加,您需要使用高级版本的 k-average 来选择初始形心的更优值(称为 k-average 种子)。如需了解 k-均值种子的完整讨论,请参阅 M. Emre Celebi、Hassan A. Kingravi、Patricio A. 贝拉。

不同大小和密度的聚类数据。

在聚类具有不同大小和密度的聚类时,k-} 无法聚类数据。如需对此类数据进行聚类,您需要按优势部分中所述泛化 k-average。

聚类离群值

形心可以被离群值拖动,或者离群值可能会获得自己的聚类,而不是被忽略。请考虑在聚类之前移除或裁剪离群值。

根据维度数量进行缩放。

随着维度数量的增加,基于距离的相似性测量会收敛到任何给定样本之间的常量值。对特征数据使用 PCA 或使用“频谱聚类”修改聚类算法(如下所述)可以降低维度。

维度和频谱聚类曲线

这些曲线图显示了标准差与示例之间距离平均值的比率如何随着维度数量的增加而减小。这种收敛意味着 k-average 对区分样本的效力会降低。这种高维度数据的负面结果称为“维度”的积聚。

三个图表,显示了样本之间的标准差如何随维度数的增加而减少
图 3:维度曲线的演示。每个曲线图显示 200 个随机点之间的成对距离。

频谱聚类通过向算法添加预聚类步骤来避免维度:

  1. 使用 PCA 减少特征数据的维度。
  2. 将所有数据点投影到低维子空间中。
  3. 使用所选算法对此子空间中的数据进行聚类。

因此,光谱聚类不是单独的聚类算法,而是可用于任何聚类算法的预聚类步骤。光谱聚类的详细信息很复杂。请参阅 Ulrike von Luxburg 编写的频谱聚类教程