资源描述
模糊C均值聚类算法及实现摘要:模糊聚类是一种重要数据分析和建模的无监督方法。本文对模糊聚类进行了概述,从 理论和实验方面研究了模糊c均值聚类算法,并对该算法的优点及存在的问题进行了分析。该算法设计简单,应用范围广,但仍存在容易陷入局部极值点等问题,还需要进一步研究。关键词:模糊c均值算法;模糊聚类;聚类分析Fuzzy c-Means Clustering Algorithm and ImplementationAbstract: Fuzzy clustering is a powerful unsupervised method for the analysis of data and construction of models.This paper presents an overview of fuzzy clustering and do some study of fuzzy c-means clustering algorithm in terms of theory and experiment.This algorithm is simple in design,can be widely used,but there are still some problems in it,and therefore,it is necessary to be studied further.Key words: fuzzy c-Mean algorithm ; fuzzy clustering ; clustering analysis1引言20世纪90年代以来,随着信息技术和数据库技术的迅猛发展,人们可以非 常方便地获取和存储大量的数据。但是,面对大规模的数据,传统的数据分析工 具只能进行一些表层的处理,比如查询、统计等,而不能获得数据之间的内在关 系和隐含的信息。为了摆脱“数据丰富,知识贫乏”的困境,人们迫切需要一种 能够智能地、自动地把数据转换成有用信息和知识的技术和工具,这种对强有力 数据分析工具的迫切需求使得数据挖掘技术应运而生。将物理或抽象对象的集合分组成由类似的对象组成的多个类的过程称为聚 类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼 此相似,与其它簇中的对象相异。聚类是一种重要的数据分析技术,搜索并且识别一个有限的种类集合或簇集 合,进而描述数据。聚类分析作为统计学的一个分支,己经被广泛研究了许多年。 而且,聚类分析也已经广泛地应用到诸多领域中,包括数据分析、模式识别、图 像处理以及市场研究1。通过聚类,人们能够识别密集的和稀疏的区域,因而发 现全局的分布模式,以及数据属性之间的有趣的相互关系。在商务上,聚类能帮 助市场分析人员从客户基本信息库中发现不同的客户群,并且用购买模式来刻画 不同的客户群的特征。在生物学上,聚类能用于推导植物和动物的分类,对基因 进行分类,获得对种群中固有结构的认识。聚类在地球观测数据库中相似地区的 确定,汽车保险单持有者的分组,及根据房屋的类型、价值和地理位置对一个城 市中房屋的分组上也可以发挥作用。聚类也能用于对Web上的文档进行分类, 以发现信息。基于层次的聚类算法文献中最早出现的Single-Linkage层次聚类算 法是1957年在Lloyd的文章中最早出现的,之后MacQueen独立提出了经典的 模糊C均值聚类算法,FCM算法中模糊划分的概念最早起源于Ruspini的文章 中,但关于FCM的算法的详细的分析与改进则是由Dunn和Bezdek完成的。聚类分析是多元统计分析的一种,也是非监督模式识别的一个重要分支,在 模式分类、图像处理和模糊规则处理等众多领域中获得最广泛的应用。它把一个 没有类别标记的样本集按某种准则划分为若干个子集(类),使相似的样本尽可 能的归为一类,而将不相似的样本尽量划分到不同的类中。硬聚类把每个待辨识 的对象严格地划分到某类中,具有非此即彼的性质,模糊聚类由于能够描述样本 类属的中介性,能够客观地反映现实世界,已逐渐成为聚类分析的主流2 - 3 。 在众多的模糊聚类算法中,模糊c均值聚类算法(FCM)应用最为广泛。它按照某 种判别准则,将数据的聚类转化为一个非线性优化问题,并通过迭代来进行求解, 目前已成为非监督模式识别的一个重要分支。数据挖掘中的聚类分析主要集中在针对海量数据的有一效和实用的聚类方 法研究,聚类方法的可伸缩性,高维聚类分析,分类属性数据聚类和具有混合属 性数据的聚类,非距离模糊聚类等。因此,数据挖掘对聚类分析有其特殊的要求; 可伸缩性,能够处理不同类型属性,强抗噪性,高维性,对输入顺序不敏感性, 可解释性和可用性等。本文正是在此背景下对数据挖掘中的聚类分析进行论述,并着重研究了 FCM 算法。2模糊聚类算法2.1模糊聚类算法概述模糊聚类算法是一种基于函数最优方法的聚类算法,使用微积分计算技术求 最优代价函数。在基于概率算法的聚类方法中将使用概率密度函数,为此要假定 合适的模型,模糊聚类算法的向量可以同时属于多个聚类,从而摆脱上述问题。 在模糊聚类算法中,定义了向量与聚类之间的近邻函数,并且聚类中向量的隶属 度由隶属函数集合提供。对模糊方法而言,在不同聚类中的向量隶属函数值是相 互关联的。硬聚类可以看成是模糊聚类方法的一个特例。2.2模糊聚类算法的分类模糊聚类分析算法大致可分为三类囹:1)分类数不定,根据不同要求对事物进行动态聚类,此类方法是基于模糊 等价矩阵聚类的,称为模糊等价矩阵动态聚类分析法。2)分类数给定,寻找出对事物的最佳分析方案,此类方法是基于目标函数 聚类的,称为模c均值聚类。3)在摄动有意义的情况下,根据模糊相似矩阵聚类,此类方法称为基于摄 动的模糊聚类分析法。3模糊c均值(FCM)聚类算法3.1算法描述模糊c均值聚类算法的步骤还是比较简单的,模糊c均值聚类(FCM),即 众所周知的模糊ISODATA是用隶属度确定每个数据点属于某个聚类的程度的 一种聚类算法。1973年,Bezdek提出了该算法,作为早期硬c均值聚类(HCM) 方法的一种改进。FCM把n个向量x.(i=1,2,,n)分为c个模糊组,并求每组的聚类中心, 使得非相似性指标的价值函数达到最小。FCM与HCM的主要区别在于FCM用 模糊划分,使得每个给定数据点用值在0, 1间的隶属度来确定其属于各个组的 程度。与引入模糊划分相适应,隶属矩阵U允许有取值在0, 1间的元素。不过, 加上归一化规定,一个数据集的隶属度的和总等于1: u = 1, Vj = 1,., niji=1那么,FCM的价值函数(或目标函数)就是:J U, c,., c)= = u&i=1i =1 j,(3.2)这里u.介于0, 1间;c.为模糊组I的聚类中心,dqTlR-x为第I个聚类中心 与第j个数据点间的欧几里德距离;且m e1,8)是一个加权指数。构造如下新的目标函数,可求得使(3.2)式达到最小值的必要条件:J(U, c,,c ,人,,人)=J(U, c,,c ) + 入(乙一1)1 c 1 n1 cj=1 j iji=1= umd2+ 入( - 1)i = 1 jj = 1i = 1(3.3)这里气,j=1到,是(3.1)式的n个约束式的拉格朗日乘子。对所有输入参量求导,使式(3.2)达到最小的必要条件为:ILumXij j=j1 umijj=1(3.4)uij1 (d)2/(m-1)=1 t /(3.5)由上述两个必要条件,模糊c均值聚类算法是一个简单的迭代过程。在批处理方式运行时,FCM用下列步骤确定聚类中心R和隶属矩阵U1:步骤1:用值在0,1间的随机数初始化隶属矩阵U,使其满足式(3.1)中 的约束条件步骤2:用式(3.4)计算c个聚类中心ci,i=1,c。步骤3:根据式(3.2)计算价值函数。如果它小于某个确定的阀值,或它相对上次价值函数值的改变量小于某个阀值,则算法停止。步骤4:用(3.5)计算新的U矩阵。返回步骤2。上述算法也可以先初始化聚类中心,然后再执行迭代过程。由于不能确保FCM收敛于一个最优解。算法的性能依赖于初始聚类中心。因此,我们要么用 另外的快速算法确定初始聚类中心,要么每次用不同的初始聚类中心启动该算 法,多次运行FCM。设被分类的对象的集合为:X = x1,x2,xN,其中每一个对象xk 有n个特性指标,设为xk = ( x1k,x2k,xnk) t ,如果要把X分成c类, 则它的每一个分类结果都对应一个cXN阶的Boolean矩阵U= uik c,对应 的模糊c划分空间为:Mfc = U u RcN|uike0,1 ,Vi,Vk ;J沃=1,Vk;0J沃,k=1k=1Vi在此空间上,模糊c均值算法如下:Repeat for l = 1 , 2Step 1: compute the cluseter prototypes(means):p() = *)七,1 i c1 X(“5 v ik /k-1Step 2: compete the distance:(dk )2 = (x - p(i)t A(x - p ),1 i c,1 k nStep 3: Update the partition matrix:For 1 k 0 for all i=1, 2,c iku (l)=ik工(diE)/5aj=1u (i)=0 if d ik 0iklkA/ u (i) = 1ikOtherwiseand u (i) e 0,1 withiki=1Until | U (i) - U(i-1) |3.2实验采用著名的iris数据集对算法进行测试实现,其中样本总数m=150,样本属 性数n=4,设定的划分内别k=3。运算次数为10次的输出结果:输出第10次运行的聚类结果:第硬样本;OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCOOOOOOOOOOO 0 0 0 0 0 0正确样本数:right0=50错误样本数:0聚美类别号:SX=0第1类样本:21211111111111111111111111121111111121111111 111111正确样本数;也htl=46错误有本数:4聚类类别号第2类样本:Z12222122222Z12Z22Z12121221Z222211212122212 222221正廊样本救;right|2=38错误样本数:12聚类类别号危炉2聚美正确率;89.333福1政运行,平均聚美正璃率:39.3333平询目标函数! 0J6Q435能对数组实现分类,但是分类正确率不是很理想。3.3 FCM算法优缺点通过实验和算法的研究学习,不难发现FCM算法的优缺点5-8:首先,模糊c均值泛函Jm仍是传统的硬c均值泛函J1的自然推广。J是 一个应用很广泛的聚类准则,对其在理论上的研究已经相当的完善,这就为Jm的 研究提供了良好的条件。其次,从数学上看,Jm与Rs的希尔伯特空间结构(正交投影和均方逼近理论) 有密切的关联,因此Jm比其他泛函有更深厚的数学基础。最后,FCM聚类算法不仅在许多邻域获得了非常成功的应用,而且以该算 法为基础,又提出基于其他原型的模糊聚类算法,形成了一大批FCM类型的算 法,比如模糊c线(FCL),模糊c面(FCP),模糊c壳(FCS)等聚类算法,分别 实现了对呈线状、超平面状和“薄壳”状结构模式子集(或聚类)的检测。4结语模糊c均值算法因设计简单,解决问题范围广,易于应用计算机实现等特 点受到了越来越多人的关注,并应用于各个领域。但是,自身仍存在的诸多问题, 例如强烈依赖初始化数据的好坏和容易陷入局部鞍点等,仍然需要进一步的研 究。参考文献:1 A K Jain,M N Murty,P J Flynn. Data Clustering: A Review,ACM ComputingSurveysJ,1999,31(3): 264-323.2 Spragins J. Learning without a teacher J .IEEE Transactions of Information Theory,2005,23 (6) : 223 -230.3 Babusk R. FUZZYAND NEURAL CONTROLM . Netherlands: Delft University of Technology,2001.4 Theodoridis S.Pattern Recongnition M.Second Edition.USA : Elsevier Scinece,2003.5 高新波.FCM聚类算法中模糊加权指数m的优选方法J.模糊系统与数学,2005, 19 (1): 143-1486 朱剑英,应用模糊数学方法的若干关键问题及处理方法J.模糊系统与数学,1992, 11 (2): 57-637 高新波.模糊聚类分析及其应用M.西安:西安电子科学出版社,20048 刘蕊洁,张金波,刘锐模糊c均值聚类算法J.重庆工学院学报,2007-21-1
展开阅读全文