聚类算法之Kmeans

Kmeans是聚类算法中比较简单的算法,也用的非常多。这里进行简单的解释,主要目的在于给自己记录,以备以后查看。

K均值聚类的主要思想是为了使得各个类的点离聚类中心都尽可能近。

K均值聚类的算法可以描述为:


输入:数据集 D = { x 1 , x 2 , . . , x n }
聚类簇个数:k


算法:

  1. 从数据集D中随机选择k个样本作为初始聚类中心 { u 1 , u 2 , . . . , u k }
  2. repeat
  3. C i = ( 1 i k )
  4. for j = 1,2,…,m do
  5. for l = 1,2,…,n
  6. 计算样本l 和每个聚类中心的距离,并把样本l加入到距离最近的聚类中心所属的集合中
  7. end for
  8. end for
  9. 重新计算所有聚类簇的中心位置,即均值向量
  10. until 聚类中心不再变化(有时候收敛时间很长,可能会设置一个最大重复次数,或是设置聚类中心的变化阈值 ϵ

输出:聚类簇 { C 1 , C 2 , . . . , C k }


猜你喜欢

转载自blog.csdn.net/b876144622/article/details/80216378