一种基于K_means的自适应聚类算法的研究 (1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012年第02

0.引言

聚类(Clustering)是数据挖掘中的一种主要技术,是按照一定要求和规律对一组个体进行区分和分类的过程,主要目的是使的属于同一类别的个体之间的距离尽可能的小,而不同类别上的个体间的距离尽可能的大,聚类属于无监督分类的范畴。划分聚类(Partitioning Methods)是聚类中的重要方法,指对于一个给定包含n 个对象或元组的数据库,通过基于划分的方法由用户给定构建数据的k 个划分,每个划分表示一个簇,并且k<=n 。

1.K-means 算法

K-means 算法是重要的划分方法,由J.B.MacQueen 提出,具有广泛的影响力。其基本原理是,首先指定聚类数k ,从含有n 个对象的数据集合中随机地选择k 个对象作为一个簇的初始平均值或中心。计算剩余的各个对象到这些簇中心的距离,然后根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值作为该簇新的聚类中心,如果相邻的聚类中心没有任何变化,则样本调整结束,聚类准则函数E 己经收敛。准则函数的作用是使生成的结果簇尽可能地紧凑和独立。

虽然K-means 算法应用在很多方面,但仍然存在缺陷:(1)在K-means 算法中k 值必须事先给定,无法确定这个K 值。(2)K-means 聚类算法对初始质心严重依赖,初始聚类中心直接影响着聚类结果,随机选取不同的初始聚类中心点,产生的聚类结果往往都不相同。(3)K-means 算法的另一个缺点是通常涉及到所有的变量且认为这些变量对距离影响的程度是等同的,容易引发“维数陷阱”。

2.改进的算法AK-menas(Adativek-means)

2.1质心的确定

为弥补k-means 算法的缺陷,本文在k-means 算法的基础上先提出二分k 均值算法,即在算法初始时选出距离最远的两个对象,作为初始中心,形成两个初始簇,从这些簇中选取一个继续分裂,如此下去,直到产生k 个簇,这种方法使得二分k-means 不太受初始化的困扰,因为它执行每步只有两个质心。这样就可以保证在后续的处理中同一类内的对象有极大的相似性,而不同类之间有极低的相似性。

2.2聚类个数k 值的确定借鉴最大、最小距离法的基本思想,来确定后续聚类的中心,同时在聚类过程中引入Davies —BouldinIndex 指标来确定聚类个数k 。

Davies-BouldinIndex 又称为DBI 指标,一种非模糊型的集群评估指标(clusteringvalidityIndex),主要是利用几何原理进行运算,分别以聚类间离散程度与位于同一类内的数据对象的紧密程度作为依据,当类内各数据对象间距离越小而类间距离越大,DBI 值也就越小,就代表各聚类内的数据对象越紧密且聚类间的差异大,表明此聚类数目下的聚类结果最佳。

具体算法步骤如下:

(l)通过3.1节的思想确定两个最佳的初始聚类中心cl ,c2。

(2)查找新的聚类中心,分别计算数据集口中剩余的数据对象到cl ,c2的距离d(c1,j)和d(c2,j)。

(3)D=max{min(d(c1,j),d(c2,j))},j=l ,2,……,n 。得到xj ,利用DBI 公式判断是否是要找的最佳聚类中心,如何判断在下面介绍:

好的聚类结果应该是同一类间的各数据对象间相似度大,而不同类之间的相似度小,DBI 能够满足这个条件,即分子越小,分母越大时,DBI 的值越小,则代表各聚类内数据相似度大而类间的相似度小,从这个值可以确定通过D=max{min(d(c1,j),d(c2,j)},查找到的xj 是否是最佳中心,既而确定最佳的聚类数目。

找到新聚类中心xj ,进行聚类,重新计算聚类的中心。对目前形成的k 个聚类,计算其DBI 和前一次计算的DBI 进行比较,如果DBInew

1,否则算法终止。

(4)如果找到的数据对象是中心,则计算D=max{min(d(c1,j),d(c2,j),d(c3,j))},j ’=1,2,…,n 。存在这样的数据对象,转到(3)。依次类推直到跳出循环。

从确定的过程可以看出,减少了人为的干预,避免了由于参数设定不当对聚类结果造成的影响。

2.3对改进k-means 算法的描述

结合以上分析,给出改进的k-means 算法流程如下:输入:数据集O 输出:聚类对象

l)扫描数据集0,计算出数据集中最远的两个对象:x1,x2。

2)将数据集剩下的数据对象分别计算到xl ,x2的距离,将其划分到距离小的那个中心的类中,标记,同时记下最小的距离。

3)划分完成后,重新计算聚类中心,得到c1,c2。

4)借鉴最大、最小距离法的基本思想,max{min(d(c1,j),d(c2,j))},查找到的xj 。

5)转入2),对整个数据集进行重新划分。

6)根据DBI 公式,计算DBInew 并比较,和上次计算出来的DBIold 进行比较,如果DBInew

7)依次类推,直到无法找到满足条件的新的聚类中心,最终输出聚类结果。

2.4仿真实验及分析

为了更加直观的验证本文AK-means 算法的有效性,对于同一组数据分别用经典的k-means 算法和本文改进后的算法分别进行5次聚类实验,取结果的平均值。其中实验中用到的数据是随机生成的,数目为100000个,数据维度为2维,数据值在0-260之间。结果见下表:

下图分别是k-means 聚类算法和AK-means 聚类算法的同一组数据的两次聚类效果图。(下转第265页)

一种基于K-means 的自适应聚类算法的研究

唐燕雯

(广西工商职业技术学院广西

南宁

530003)

【摘要】聚类(Clustering)是数据挖掘中的一种主要技术,K-means 算法是一种重要的经典的划分方法,但该算法在K 值的确定、质心的选取、对维数的依赖上存在问题,本文提出了一种改进的自适应算法,用于解决K 值的确定、质心的选取等问题,聚类效果较好。

【关键词】聚类;K-means;自适应;算法

作者简介:唐燕雯(1982—),女,汉族,广西南宁人,广西工商职业技术学院,讲师,研究方向为数据库、数据挖掘

◇职业教育◇

相关文档
最新文档