K均值聚类算法

179 阅读1分钟

k均值聚类是基于样本集合划分的聚类算法。K均值聚类将样本集合划分为k个子集,构成k个类,将n个样本分到k个类中,每个样本到其所属类的中心距离最小,每个样本仅属于一个类,这就是k均值聚类,同时根据一个样本仅属于一个类,也表示了k均值聚类是一种硬聚类的算法。(如果一个聚类方法假定一个样本只能属于一个类,或类的交集为空集,那么该方法称为硬聚类方法)

k均值聚类算法的过程

输入:n个样本的集合

输出:样本集合的聚类

过程

(1)初始化。随机选择k个样本点作为初始聚类中心

(2)对样本进行分类。计算每个样本到类中心的距离,将每个样本指派到与其最近的类中心的类中,构成聚类结果。

(3)计算新的类中心。对聚类结果,计算当前各个类中的样本均值,作为新的类中心

(4)重复(2)(3)的步骤,直到聚类的结果不再发生改变。

实例

image.png

初始化

image.png

聚类

image.png

image.png

计算新的类中心

image.png

再次聚类

image.png

image.png