K-means算法原理
K-means聚类属于原型聚类(基于原型的聚类,prototype-based clustering)。原型聚类算法假设聚类结构能够通过一组原型进行刻画,在现实聚类任务中极为常用。通常情况下,原型聚类算法对原型进行初始化,然后对原型进行迭代更新求解。
针对给定样本集,K-means算法针对聚类得到的簇划分
最小化平方误差(error function):
其中 是簇
的均值向量。要最小化K-means的误差函数并不容易,找到它的最优解需要考察样本集
中所有的簇划分,这是一个NP难问题。K-means算法采用的是贪心策略,通过迭代近似求解误