1 算法说明
1.1 基本原理
1967 年MacQueen 首次提出了K 均值聚类算法(K-means算法)。到目前为止用于科学和工业应用的诸多聚类算法中一种极有影响的技术。K-means是最常用的聚类算法之一,能有效地处理规模较大和高维的数据集合,能对大型数据集进行高效分类,把数据分成几组,按照定义的测量标准,同组内数据与其他组数据相比具有较强的相似性,这就叫聚簇。它是聚类方法中一个基本的划分方法,常常采用误差平方和准则函数作为聚类准则函数。k-means算法(C均值算法)是通过迭代寻找C个聚类的一种划分方案,使得用这C个均值来代表相应各类样本时所得到的总体误差最小。
误差平方和度量了C个聚类中心代表C个样本自己所产生的总的误差平方,对于不同的聚类一般是不相同的。使极小的聚类是误差平方和准则下的最优结果,这种类型的聚类通常称为最小方差划分。
误差平方和无法用解析的方法最小化,只能采用迭代的方法,通过不断的调整样本的类归属来获得最优解。
K-means算法的效率比较高;缺点是只能处理数值型数据,不能处理分类数据,对例外数据非常敏感,不能处理非凸面形状的聚簇。
K-means算法接受输入量k:然后将n个数据对象划分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
1.2 算法基本步骤
在最开始,需要对样本进行初始划分。初始化分采用“密度”法选择代表点,然后根据选择的代表点对样本进行分类。选择代表点时,通过样本间的欧氏距离,以样本点为球心做球,计算样本球内的样本个数即为样本点密度。然后根据选择的代表点和样本点间的距离来进行初始划分。
最后,通过迭代的方式计算误差平方和的增加量和减小量,不断减小误差,一直到不再发生变化为止,则找到了最小的误差平方和,此时的聚类划分为最优划分方法。
第一步:选K个初始聚类中心,,其中括号内的序号为寻找聚类中心的迭代运算的次序号。聚类中心的向量值可任意设定,例如可选开始的K个模式样本的向量值作为初始聚类中心。
第二步:逐个将需分类的模式样本按最小距离准则分配给K个聚类中心中的某一个。对所有的i≠j,j=1,2,…,K ,则有