Kmeans是聚类算法中比较简单的算法,也用的非常多。这里进行简单的解释,主要目的在于给自己记录,以备以后查看。
K均值聚类的主要思想是为了使得各个类的点离聚类中心都尽可能近。
K均值聚类的算法可以描述为:
输入:数据集
聚类簇个数:k
算法:
- 从数据集D中随机选择k个样本作为初始聚类中心
- repeat
- 令
- for j = 1,2,…,m do
- for l = 1,2,…,n
- 计算样本l 和每个聚类中心的距离,并把样本l加入到距离最近的聚类中心所属的集合中
- end for
- end for
- 重新计算所有聚类簇的中心位置,即均值向量
- until 聚类中心不再变化(有时候收敛时间很长,可能会设置一个最大重复次数,或是设置聚类中心的变化阈值 )
输出:聚类簇