一、理论讲解
给定样本集,k均值(k-means)算法针对聚类所得簇划分最小化平方误差为:
(1)
其中 x是簇内的均值向量。直观来看,(1)式在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E越小,则簇内样本相似度越高。
最小化(1)式并不容易,找到它的最优解需考察样本集D所有可能的簇划分,这是一个NP难问题。因此,k均值算法采用了贪心策略,通过迭代优化来近似求解(1)式。算法流程为:
输入:样本集;聚类簇数k
过程:从D中随机选择k个样本最为初始均值向量
repeat
令
for j = 1,2,..,m do
计算样本