1.概述:
K-means聚类算法也称k均值聚类算法,是聚类算法的典型代表,可以说是最简单的聚类算法没有之一。它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
2.算法思想:
K-means聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是:1)没有(或最小数目)对象被重新分配给不同的聚类;2)没有(或最小数目)聚类中心再发生变化;3)误差平方和局部最小。
3.算法执行过程:
顺序 |
过程 |
1 | 随机抽取K个样本作为最初的质心 |
2 | 开始循环 |
2.1 | 将每个样本点分配到离他们最近的质心,生成K个簇 |
2.2 | 对于每个簇,计算所有被分到该簇的样本点的平均值作为新的质心 |
3 | 当质心的位置不在变化,迭代停止,聚类完成 |