K-Means聚类算法-模式识别.docxVIP

  • 21
  • 0
  • 约3.89千字
  • 约 11页
  • 2018-05-11 发布于江西
  • 举报
K-Means聚类算法-模式识别.docx

K-Means聚类算法1. 算法原理k-means是划分方法中较经典的聚类算法之一。由于该算法的效率高,所以在对大规模数据进行聚类时被广泛应用。目前,许多算法均围绕着该算法进行扩展和改进。 k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。k-means算法的处理过程如下:首先,随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心;对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则,其定义如下: 这里E是数据库中所有对象的平方误差的总和,p是空间中的点,mi是簇Ci的平均值。该目标函数使生成的簇尽可能紧凑独立,使用的距离度量是欧几里得距离,当然也可以用其他距离度量。k-means聚类算法的算法流程如下: 输入:包含n个对象的数据库和簇的数目k; 输出:k个簇,使平方误差准则最小。 步骤: (1) 任意选择k个对象作为初始的簇中心; (2) repeat; (3) 根据簇中对象的平均值,将每个对象(重新)赋予最类似的簇; (4) 更新簇的平均值,即计算每个簇中对象的平均值; (5) 直到不再发生变化。2. 主要代码主程序:clc;clear;close all; %% 聚类算法测试nSample = [500, 500, 500]; %

文档评论(0)

1亿VIP精品文档

相关文档