对于处理大量样本数据很有用,比如服装制造商针对顾客体型数据确定S,M,L号的相应尺寸。
例如取k=2,
第一步, 任意取两个样本数据点作为中心,计算坐标中的所有其他点到这两点的距离,离哪个中心更近就加入这个中心的类。最后得到两个类
第二步,分别计算两个类的所有点的平均横坐标和平均纵坐标,得到新的两个中心。
不断重复这两部,中心位置不断收敛,最后得到一个极值。
k-means正式定义如下:
Randomly initialize K cluster centroids u1, u2,.....uk 属于有理实数
Repeat{
//把点分类
for i = 1 to m
c(i): = index(from 1 to K) of cluster centroid
closest to x(i)
//计算新中心
for k = 1 to K
uk: =average (mean) of points assigned to cluster k.
}
Reference: http://blog.csdn.net/jackie_zhu/article/details/9304507