您的当前位置:首页正文

聚类初始中心点选取研究

来源:化拓教育网
第33卷第4期 2010年l2月 南京师大学报(自然科学版) JOURNAL OF NANJING NORMAL UNIVERSITY(Natural Science Edition) Vol_33 No.4 Dec,2010 聚类初始中心点选取研究 杨天霞,王治和,王 华,王凌云 (西北师范大学数学与信息科学学院,甘肃兰州730070) [摘要] 研究了利用已发现的频繁序列模式对序列数据库进行再聚类再发现的问题,针对已有的K一均值聚类 算法随机选取初始中心点而导致聚类结果不稳定性的缺点,提出了一种基于Huffman思想的初始中心点选取算 法——K—SPAM(K—means algorithm of sequence pattern mining based Off the Huffman Method)算法.该算法能够在一 定程度上减少陷入局部最优的可能,而且对序列间相似度的计算采用一种高效的“与”、“或”运算,可极大提高 算法的执行效率. [关键词] K一均值,序列模式,Huffman树,聚类,初始中心 [中图分类号]TP391 [文献标识码]A [文章编号]1001-4616(2010)04-0161-05 Research of Clustering Initial Center Selection Yang Tianxia,Wang Zhihe,Wang Hua,Wang Lingyun (College of Mathematics and Information Science,Northwest Normal University,Lanzhou 730070,China) Abstract:The paper studied the problem of reclustering and rediscovering in the sequence database on the basis of the results of sequential pattern mining.Aiming at this shortcoming that it could lead to the instability of clustering results to select randomly the initil focala points in the existing K—means clustering algorithm,an initial center selection algorithm named K—SPAM(K—means algorithm of sequence patten rmining based on the Hufinan Metfhod)algorithm was proposed. It was based on Huffman idea.The algorithm could reduce probability of local optimum to a certain extent.Moreover,a highly eficient“and”and“or”operfators were adopted to calculate similarity between pairs of sequences.To do SO could greatly improve the execution eficifency of the algorithm. Key words:K—means,sequentil pataterns,Huffman tree,clustering,initial center 自1995年Agrawal和Srikant两位学者提出序列模式的概念以来…,有关序列模式的挖掘得到了广泛的 关注,国内外很多学者对其展开了研究,使得序列模式的挖掘效率得到了极大的提高.序列模式挖掘的主要 任务是找出随着时间或是特定顺序经常发生的模式,关于其挖掘算法已经有很多研究.序列模式发现作为重 要的KDD分支,在交易数据分析、疾病分析、Web日志分析等领域已经展开了较为广泛的研究和应用. MacQueen J B在1967年提出了K一均值聚类算法 ,它是到目前为止应用于科学和工业领域中诸多 算法中一种极有影响力的技术.算法首先随机选取k个点作为初始聚类中心,然后计算各个数据对象到各 聚类中心的距离,把数据对象归到离它最近的那个聚类中心所在的类;再对调整后的新类计算新的聚类中 心,如果相邻两次的聚类中心没有明显变化,聚类准则函数收敛,说明数据对象调整结束.该算法的一个特 点是在每次迭代中都要考察每个样本的分类是否正确,若不正确,就要调整.在全部数据调整完后,再修改 聚类中心,进人下一次迭代.如果在一次迭代算法中,所有的数据对象被正确分类,则不会有调整,聚类中 心也不会有任何变化,这标志着准则函数已经收敛,至此算法结束. 然而后个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法中是随机地任意选取k 个点作为初始聚类中心,初始地代表一个簇.k个中心点选取的不同将直接影响算法的迭代次数和执行效 率.本文提出了一种基于Huffman树构造思想的初始中心点选取方法,该方法解决了随机选取初始中心点 收稿日期:2010-06 10. 基金项目:西北师范大学2006—2010年度重点学科基金(2007C04). 通讯联系人:杨天霞,硕士研究生,研究方向:数据挖掘.E—mail:ytxluck@163.corn 一161— 南京师大学报(自然科学版) 第33卷第4期(2010年) 容易陷入局部最优,以及K一均值聚类算法对初始聚类中心有严重的依赖性,随机选择初始中心点容易导 致聚类结果不稳定的问题.同时,本文对序列问相似度的计算采用相似性度量Jaccard系数定义序列间的 相似性,使得算法执行效率大大提高. 1基本知识 定义1 序列(Sequence):是项集的有序表,记作<S ,S:,…,S >,其中S (1≤k≤n)是项集. 定义2¨ 序列包含(Sequence Contain):给定两个序列A={0,,0 ,…,口 }和B:{b ,b ,…,b }, 如果存在一组整数l≤i <i:<…<i ≤凡,使得0。 b 0: b …,。 日包含.不包含在任何其它序列中的序列称为最大序(maximal sequence). b…则称序列A被序列 定义3_1 序列S的支持数是包含5的客户序列数目.如果序列的支持数大于等于用户给定的最小支 持度阈值(minsup),则称S是一个频繁序列. 定义4 序列S。和S 之问的相似度定义 f(S…S)= 等非常相似. , (1) 其中,S。.P表示序列5。所支持的序列模式的集合,S .P表示序列s 所支持的序列模式的集合.显然,0≤ 5 ,S:)≤1.当 5 ,5 )=0时,表示序列S 和序列S 支持完全不同的序列模式,可以认为S。和s 之 间没有任何的相似性;当 s。,S )=1时,表示序列S 和序列S 支持完全相同的序列模式,可认为S 和s 2基于Huffman树构造思想的序列聚类挖掘算法 本文提出的基于Huffman树构造思想的K.均值序列模式聚类挖掘算法是在已挖掘出的频繁序列模 式的基础上对序列数据库中的序列再次聚类.由于序列数据的特殊性以及经典的K.均值聚类算法存在的 O 一0 些不足,本文对K一均值算法如何选取 个初始中心点做了改进,对序列间相似性的计算采用了位图中 的“与”和“或”运算,大大提高了算法的执行效率. 2.1预处理阶段 对原始序列数据库用SPAM算法 挖掘出全部频繁序列模 式,再根据序列一模式的支持关系构造如表1所示的序列一模 式支持关系表.其中,S。,S ,…,S 表示数据序列,P ,P ,…,P 表示序列模式,若S 支持(包含)P ,则对应的属性值为1,否则 为0.每个数据序列可由一个m维向量来描述它对序列模式的 支持信息. 2.2相异度 Sl S2 -●● 表1序列一模式支持关系 Table 1 Sequence・pattern support relationship 0 1 S O 使用Huffman思想来选取k个初始中心是基于对象问相似性的,本文采用序列间的相似度函数 S,, s )= ,用相异度矩阵来存放对象之间的相似性,相异度矩阵是一个对象一对象结构. 由序列模式挖掘结果得到序列一模式支持关系表后,要计算序列Js 和S 之间的相似度,此时只需将.s。 和5,的m个属性分别做传统的“与”、“或”操作即可,可极大提高算法的运行效率. 对应的相异度函数和相异度矩阵定义为: d(S ,S )=1一_厂(5 ,s2), 和 0 a(2,1)0 0 d(3,1)d(3,2)d(n,1)d(n,2)d(n,3) 一l62— 杨天霞,等:聚类初始中心点选取研究 其中d(i )表示对象i和对象J.之间的差异,通常d( , )为一个非负数,且有d(i, )=d(j,i)以及d(i,i) =0.当对象i和对象. 彼此非常“接近”或非常相似时,该数据接近0;相反该数值越大,就表示对象i和对 象 越不相似. 2.2 初始中心点的选取 2.2.1 Huffman算法思想 步骤1 根据给定的/2个权值{W。, ,…, }构造/2棵二叉树的集合F={ , ,…, },其中每颗 二叉树 中只有一个带权为 的根结点,其左右子树均空; 步骤2 在F中选取两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树 的根节点的权值为其左右子树上根结点的权值之和; 步骤3 在F中删除这两棵树,同时将新得到的二叉树加入F中; 步骤4 重复步骤2和步骤3,直到 中只含有一棵树为止,这棵树便是Huffman树. 2.2.2 K.SPAM算法初始中心点选取 由于序列数据本身的特殊性,在对序列数据库使用K一均值聚类算法进行再聚类时,对初始中心点的 选取上不能直接采用Huffman树的构造思想,需要对Huffman思想做一些改动. ①在本文的算法中,伽 指的是前一阶段所构造的序列一模式表中描述.s 对应的m维向量.根据 Huffman思想,基于数据相异度,将数据样本构造成一棵树.根据算法的实际需要,在构造树的时候作了改 变:在构造树时,不用左右子树根结点权值之和作为新的二叉树根结点权值,而是用左右两个根结点W—left 和W—right的按位与的结果W—result作为新二叉树的根结点权值,将W—left和W—right两个结点删除即可.由 于W—result代表了W—left和W—right共同支持的序列模式,能够表示它们的相似性,所以用W—result来表示新 树的根结点很有意义. ②将构造出来的Huffman树,按构造结点的逆序找到k一1个结点,根据图论知识可知,去掉这k一1 个结点可将该树分为 个子树,这k个子树的根结点即为初始的k个聚类中心点. 2.3 K.SPAM算法描述 设序列数据库中有n个数据对象(序列数据),对其按SPAM算法进行频繁序列模式挖掘,假设挖掘出 了m个频繁序列模式,那么每个原序列数据对象就是m维,现要对该/2个数据对象进行聚类,聚类数为k. K—SPAM算法伪代码描述: 输入:数据预处理后的序列一模式支持关系矩阵M,以及用户要求的聚类数数目k. 输出:聚类的集合。 Step 1:do. Step 2:对矩阵M中的n个对象S ={s ,s ,…,s },选取相异度最小的两点P,q;d =min{d ,i, ∈ 1,2,…,n},计算P和q按位与的结果作为新点放入S . Step 3:从S 中删除p和g得到S ={S ,5 ,…, }. Step 4:计算.s 中序列问的相异度,得到相异度矩阵. Step 5:while S 中的对象个数大于1. Step 6:至此构造出了关于 个对象的一棵树,记为G .delete G 中逆序构造出来的七一1个点,得到k 个子树,k个子树的根节点C。,c ,…,C 即为算法的k个初始中心点. Step 7:do. Step 8:分别计算/2个数据对象与中心点的距离,并赋给最近的簇. Step 9:计算k个簇的中心值. Step 10:while各簇中心值仍发生明显变化. 3 实验分析 实验环境为PentiumIV/Intel 1.73 GHz PC,512 MB内存,Windows XP操作系统和Microsoft Visual C++6.0.实验数据集采用: (1)UCI数据库中的3个数据集Iris Plants数据集、Wine recognition数据集和Balance Scale Weight& 一1 63— 南京师大学报(自然科学版) 第33卷第4期(2010年) Distance数据集l6 ; (2)使用IBM数据生成器产生交易数据库D1C5T3N0105[7 3. 3.1 K-SPAM算法稳定性实验及结果分析 本节所选的3个数据集类别个数都是3,将K一均值聚类结果与K.SPAM算法聚类结果进行对比,以下 是聚类结果的正确率计算公式: + + 7一 m !: 3 : ’ 其中m是测试的次数, 表示第 次测试中类l的正确率,类似地 表示第 次测试中类2的正确率,同 样 表示第 次测试中类3的正确率.当一次测试时这3个值越大,那么这次测试的平均正确率也就越大. 相反,如果这3个值越小,那么平均正确率也就越小. 在上式的求和计算中对3个类的正确率分别进行 计算,然后求出每次聚类的平均值.限于篇幅,文中只 给出20次聚类测试后平均正确率对比表(见表2). 从表2可以明显看出,K—SPAM算法在聚类结果 表2聚类结果对比 Table 2 Comparison of clustering results Mean Accuracy Rate Mean Accuracy Rate of K一均值 of K—SPAM 正确性方面要优于K-均值聚类算法,而正确性的提高 在一定程度也会提高算法的稳定性.K—SPAM算法在 选取初始中心点时采用Huffman方法,所有每次选取 的中心点都比较稳定,不会出现大的偏差.K一均值聚类 算法由于采用随机方法选取初始中心点,所以每次聚类初始中心点都有可能不同,还可能会差别很大,从 而导致这种算法聚类结果的正确性会受很大影响,进而影响到算法的稳定性. 3.2 K—SPAM算法运行效率实验及分析 实验数据集采用IBM数据生成器产生交易数据 库D1C5T3N0105,数据库包含5000条交易记录,1 024 表3 SPAM算法挖掘序列模式结果 最小支持度序列模式数0.05 0.08 0.10 0.12 0.15 0.20 426 235 141 95 52 34 Table 3 SPAM algorithm for mining sequential pattern results 条数据序列,然后利用现有的经典序列模式挖掘算法 SPAM针对不同的支持度挖掘出频繁序列模式如表3 所示. 实验一:分析聚类数目对算法迭代次数的影响, 以最小支持度0.10时的挖掘结果作为输入,聚类数 目分别取k=3、6、9、12、15,如图1所示.从实验一可 以明显看出,K.SPAM算法由于采用了Huffman的思 想选取了初始聚类中心点,所以算法很快收敛于最优 值,迭代次数明显少于K.均值聚类算法. 文献『3]最先提出了基于已发现序列模式对数据 库中序列进行聚类的POPC(Pattern—Oriented Partial Clustering)算法,它采用的是一种层次聚类方法. 实验二:分析序列模式数目对算法性能的影响, 固定聚类数目k=9,以不同最小支持度下的挖掘结果 作为输入,实验结果如图2所示. 实验三:分析聚类数目对算法性能的影响,以最 小支持度0.10时的挖掘结果作为输入,分别取聚类 数目k=3、6、9、12、15,如图3所示. 一l64一 杨天霞,等:聚类初始中心点选取研究 最小支持度/% 聚类个数k 图2不同最小支持度下两种算法执行时间比较 图3不同聚类数目下两种算法执行效率比较 Fig.2 Comparison of the execution time of two algorithms Fig.3 Comparison of the efifciency of two algorithms under under different minimum support diferent clustering number 从实验二和实验三可看出,本文的K—SPAM算法的执行效率要明显优于POPC算法.在实验二中,当 最小支持度很小时,POPC算法的运行时间明显大于K.SPAM算法,这是由于最小支持度小,挖掘出的序 列模式数相反会很大,从而导致POPC算法的初始聚类数目增多,使相应的迭代次数也急剧增加,以及在 每次迭代中相异度矩阵的计算量增大,最终导致执行时间明显高于K—SPAM算法的执行时间.而K—SPAM 算法由于是K一均值算法的改进,继承了它简单易行的优点,其次是采用了Huffman思想能够使算法在执 行过程中很快收敛于最优值,减少迭代次数,再次是算法中对序列间相异度的计算采用了“与”、“或”运 算,极大地提高了算法的执行效率. 4结语 本文重点研究了在已挖掘的频繁序列模式的基础上,再利用划分聚类的K一均值算法对序列数据进行 聚类研究.文中利用Huffman树的构造思想,对K一均值算法随机选取初始中心点会导致聚类结果的不稳 定性缺点提出了一种新的解决算法K.SPAM.K—SPAM算法实现了对包含相似模式的序列数据进行聚类, 通过对聚类初始中心点的选取采用Huffman思想,减少了K一均值算法的迭代次数,提高了聚类的稳定性. 并通过实验对K.SPAM和K.均值算法的聚类结果进行比较,进一步证实了K—SPAM算法的优点. [参考文献] [1]Agrawal A,Srikant R.Mining sequential patterns[C]//Taipei:Proc ofthe 11 st Int Conf on Data Engineering,1995:3—14. [2] Kaufinan L,Roueeeuw P J.Finding Groups in Data:An Introduction to Cluster Analysis[M].New York:John Wiley& Sons,1990. [3] Morzy T,Wojcieehowski M,Zakrzewiez M.Scalable hierar—chical clustering method for sequences of categorical values [C]//Proe of the 5th Paciifc—Asia Conference Oil Knowledge Discovery and Data Mining(PA KDD),Lecture Notes in Com— puter Science 2035.New York:Springer—Verlag,2001:282—293. [4] Ayres J,Gehrkeetal J.SequentiM pattern mining using a bitmap representation[C]//Proc of the 8th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining.Edmonton,2002:429-435. [5]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2007:144—145. [6]UCI数据集[DB/OL].[2008-03—13].http://download.csdn.net/source/378926. [7]IBM Almaden Research Center.Quest Data Mining Project[DB/OL].(1996-03—12)[2007-05—26].http://www.almaden. ibm.eom/es/quest/syndata.htm1. [责任编辑:丁蓉] 一165— 

因篇幅问题不能全部显示,请点此查看更多更全内容