初始质心的选取
常见的方法是随机的选取初始中心,但是这样簇的质量常常很差。
- 处理选取初始质心问题的一种常用技术是:多次运行,每次使用一组不同的随机初始质心,然后选取具有最小SSE(误差的平方和)的簇集。
- 这种策略简单,但是效果可能不好,这取决于数据集和寻找的簇的个数。
取一个样本,并使用层次聚类技术对它聚类。
- 从层次聚类中提取k个簇,并用这些簇的质心作为初始质心。
- 该方法通常很有效,但仅对下列情况有效:(1)样本相对较小,例如数百到数千(层次聚类开销较大);(2) k相对于样本大小较小。
- 随机地选择第一个点,或取所有点的质心作为第一个点。然后,对于每个后继初始质心,选择离已经选取过的初始质心最远的点。
- 使用这种方法,确保了选择的初始质心不仅是随机的,而且是散开的。
- 此外,求离当前初始质心集最远的点开销也非常大。为了克服这个问题,通常该方法用于点样本。由于离群点很少(多了就不是离群点了),它们多半不会在随机样本中出现。计算量也大幅减少。
- canopy算法。