elkan K-Means

  • 在传统的K-Means算法中,我们在每轮迭代时,要计算所有的样本点到所有的质心的距离,这样会比较的耗时。
  • elkan K-Means算法就是从这块入手加以改进。它的目标是减少不必要的距离的计算。
  • elkan K-Means利用了两边之和大于等于第三边,以及两边之差小于第三边的三角形性质,来减少距离的计算。
  • 第一种规律是对于一个样本点x和两个质心μj1,μj2。如果我们预先计算出了这两个质心之间的距离D(j1,j2),则如果计算发现2D(x,j1)≤D(j1,j2),就可以知道D(x,j1)≤D(x,j2)。此时我们不需要再计算D(x,j2)。
  • 第二种规律是对于一个样本点x和两个质心μj1,μj2。我们可以得到
D(x,j2)≥max{0,D(x,j1)−D(j1,j2)}。
  • 利用上边的两个规律,elkan K-Means比起传统的K-Means迭代速度有很大的提高。但是如果样本的特征是稀疏的,有缺失值的话,这个方法就不适用了,此时某些距离无法计算,则不能使用该算法。

你可能感兴趣的:(机器学习基础,elkan,K-Means)