基本思想:选用簇中位置最中心的对象,试图对n个对象给出k个划分,代表对象也被称为中心点,其他对象则被称为非代表对象。最初随机选择k个对象作为中心点,该算法反复地利用非代表对象来代替代表对象,试图找出更好的中心点,以改进聚类的质量。在每次迭代中,所有可能的对象对被分析,每个对中的一个对象是中心点,而另一个是非代表对象。每当重新分配发生时,平方误差所产生的差别对代价函数有影响。因此,如果一个当前的中心点对象被非中心点对象所代替,代价函数将计算平方误差值所产生的差别。替换的总代价是所有非中心对象所产生的代价之和。如果总代价为负的,那么实际的平方差将会减少,代表对象可被非代表对象代替,否则被认为可被接受。
为了判定一个非代表对象是否是当前代表对象的好的替代,对于每一个非中心点对象,有以下四种情况需要考虑:
(1)假设