首页 > 代码库 > K-means聚类

K-means聚类

给定样本集D={x1,x2,x3,...xm},K-means算法划分所得簇C={c1,c2,c3,...,ck}的最小平方误差,k表示将数据划分为K簇

                   E=∑i=1 to kx->ci||x-ui||2

ui为簇中心,ui=∑x->cix/|ci|  其中|ci|表示该簇中的样本数,直接计算上面的表达式是很困难的,因此,K-means采用贪心策略

 

算法如下:

1 随机选取k个样本作为簇中心{u1,u2,...,uk}

2 初始化所有的簇均为空

3 计算每个样本与各个簇中心的欧式距离,如果样本xi与簇中心ui的距离最近,那么将该样本划归该簇

4 经过一次迭代后,更新簇中心ui=∑x->cix/|ci|

5 知道聚类结果不再改变

 

K-means聚类