k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,
- 预将数据分为K组,则随机选取K个对象作为初始的聚类中心,
- 然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。
- 每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。
- 这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
算法
K均值聚类算法_百度百科baike.baidu.com
先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
1)没有(或最小数目)对象被重新分配给不同的聚类。
2)没有(或最小数目)聚类中心再发生变化。
3)误差平方和局部最小。
以电影分类问题为例,参考
shi先森:KNN算法及其matlab实现zhuanlan.zhihu.com代码
%% K-meas