K-Means聚类
K-means算法是经典的基于划分的聚类方法
基本思想
以空间中的k个点为中心进行聚类,对最靠近它们的对象归类,类别数为k。不断迭代,逐次更新各聚类中心的值,直至得到最好的聚类结果。
最终的k个聚类具有以下特点
各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。该算法的最大优势在于简洁和快速,算法的关键在于预测可能分类的数量以及初始中心和距离公式的选择。
算法描述
假设要把样本集分为k个类别
(1)初始时随机地从样本集D={X1,X2,...,Xm}中选择k个点作为k个类的初始聚类中心;
(2)在第i次迭代中,对任意一个样本点,求其到聚类k个中心的距离,将该样本点归到距离最短的聚类中心所在的类;
(3)利用均值等方法更新该类的聚类中心;
(4)对于所有的k个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变或相差很小,则迭代结束,否则继续迭代。
局限
K-Means是线性分类器,对于线性不可分数据就会失效,如