现在的位置: 首页 > 综合 > 正文

K-means 简介

2012年05月25日 ⁄ 综合 ⁄ 共 540字 ⁄ 字号 评论关闭

Kmeans算法

  k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

编辑本段


算法流程

 
 首先从n个数据对象任意选择 k
个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然
后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数.
k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

编辑本段


具体流程

  输入:k, data[n];

 (1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];
 

 (2) 对于data[0]….data[n], 分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;
  

   (3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;

 (4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值

抱歉!评论已关闭.