一种基于参考点和密度的快速聚类算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1000-9825/2003/14(06)1089
©2003 Journal of Software 软件学报
Vol.14, No.6 一种基于参考点和密度的快速聚类算法∗
马帅1+, 王腾蛟1, 唐世渭1,2, 杨冬青1, 高军1
1(北京大学计算机科学技术系,北京 100871)
2(北京大学视觉与听觉信息处理国家重点实验室,北京 100871)
A Fast Clustering Algorithm Based on Reference and Density
MA Shuai1+, WANG Teng-Jiao1, TANG Shi-Wei1,2, YANG Dong-Qing1, GAO Jun1
1(Department of Computer Science and Technology, Peking University, Beijing 100871, China)
2(National Laboratory on Machine Perception, Peking University, Beijing 100871, China)
+Corresponding author: Phn: 86-10-62756374, E-mail: mashuai@; mashuai@
Received 2002-04-19; Accepted 2002-07-02
Ma S, Wang TJ, Tang SW, Yang DQ, Gao J. A fast clustering algorithm based on r eference and density. Journal of Software, 2003,14(6):1089~1095.
/1000-9825/14/1089.htm
Abstract:The efficiency of data mining algorithms is strongly needed with data becoming larger and larger. Density-Based clustering analysis is one kind of clustering analysis methods that can discover clusters with arbitrary shape and is insensitive to noise data. In this paper, a new kind of clustering algorithm that is called CURD (clustering using references and density) is presented. The creativity of CURD is capturing the shape and extent of a cluster by references, and then analyzes the data based on the references. CURD keeps the ability of density based clustering method’s good features, and it can reach high efficiency because of its linear time complexity, so it can be used in mining very large databases. Both theory analysis and experimental results confirm that CURD can discover clusters with arbitrary shape and is insensitive to noise data. In the meanwhile, its executing efficiency is much higher than traditional DBSCAN algorithm based on R*-tree.
Key words:clustering; density; high dimension; reference; data mining
摘 要: 数据的规模越来越大,要求数据挖掘算法有很高的执行效率.基于密度的聚类是聚类分析中的一种,其主要优点是发现任意形状的聚类和对噪音数据不敏感.提出了一种新的基于参考点和密度的CURD(clustering using references and density)聚类算法,其创新点在于,通过参考点来准确地反映数据的空间几何特征,然后基于参考点对数据进行分析处理.CURD算法保持了基于密度的聚类算法的上述优点,而且CURD算法具有近似线性的时间复杂性,因此CURD算法适合对大规模数据的挖掘.理论分析和实验结果也证明了CURD算法具有处
∗ Supported by the National High-Tech Research and Development Plan of China under Grant No.2002AA483440 (国家高技术研究发展计划(863)); the National Grand Fundamental Research 973 Program of China under Grant No.G1999032705 (国家重点基础研究发展规划(973)); the Foundation of the Innovation Research Institute of PKU-IBM of China (北京大学-IBM创新研究院项目) 第一作者简介: 马帅(1975-),男,山东潍坊人,博士生,主要研究领域为数据库,信息系统.
1090 Journal of Software软件学报 2003,14(6)
理任意形状的聚类、对噪音数据不敏感的特点,并且其执行效率明显高于传统的基于R*-树的DBSCAN算法.
关键词: 聚类;密度;高维;参考点;数据挖掘
中图法分类号: TP181 文献标识码: A
聚类分析是数据挖掘领域中的一项重要的研究课题.它既可以作为一个单独的工具以发现数据库中数据分布的一些深入的信息,也可以作为其他数据挖掘分析算法的一个预处理步骤.聚类分析同时也是一个具有很强挑战性的领域,它的一些潜在应用对分析算法提出了特别的要求.下面是关于聚类的一些典型的要求[1]:可扩展性、处理不同数据类型的能力、发现具有任意形状的聚类的能力、输入参数对领域知识的最小限度的依赖性、能够处理异常数据的能力、数据输入顺序对聚类结果的不敏感性、处理高维数据的能力、基于约束的聚类以及聚类结果的可解释性和可用性.迄今为止,人们已经提出了许多聚类算法,如K-MEANS[2],DBSCAN[3], CURE[4],CLIQUE[5]和C2P[6],所有这些算法都试图通过不同的途径实现对大规模数据库的有效聚类,但总的来说,都没有取得理想的效果.可以说,对大规模、高维数据库的高效聚类分析仍然是一个有待研究的开放问题.
(1) 相关工作
K-MEANS是一种基于划分的聚类算法,它试图找出满足某一特定标准的k个划分(聚类),通常采用平方差的标准.K-MEANS算法的时间复杂度为O(tkn),其中n是数据的总数,k是聚类的个数,t是算法循环的次数,通常有k,t< CURE是一种自底向上的层次聚类算法,首先将输入的每个点作为一个聚类,然后合并相似的聚类,直到聚类的个数为k时为止.在CURE中指出,基于中心点的方法和所有的点的距离计算方法都不适合非球形或任意形状的聚类,因此CURE采用了折衷的方法,即用固定数目的点表示一个聚类,从而提高了算法挖掘任意形状的聚类的能力.CURE算法的时间复杂性为O(n⋅n)(低维数据)和O(n⋅n⋅log n)(高维数据),算法在处理大量数据时必须基于抽样、划分等技术. DBSCAN是一种基于密度的聚类算法,其基本思想是:对于一个聚类中的每一个对象,在其给定半径的邻域中包含的对象不能少于某一给定的最小数目,然后对具有密度连接特性的对象进行聚类.在该算法中,发现一个聚类的过程是基于这样的事实:一个聚类能够被其中的任意一个核心对象所确定.DBSCAN算法可以挖掘任意形状的聚类,对数据输入顺序不敏感,并且具有处理异常数据(噪音)的能力.该算法的时间复杂性为O(n⋅n);在空间索引如R*-树的支持下,其复杂性为O(n⋅log n).需要指出的是,DBSCAN算法没有考虑建立索引的时间,而建立索引通常需要消耗大量的时间. CLIQUE是一种基于网格和密度的聚类算法,具有网格类算法效率高的优点,并且可以处理高维的数据.但是不可避免地具有网格聚类算法的缺点,即在划分网格时没有或者很少考虑数据的分布,而且用一个网格内的统计信息来代替该网格内的所有点,从而导致了聚类质量的降低. (2) 本文的工作 本文提出了一种基于参考点和密度的快速聚类算法CURD(clustering using references and density).CURD 算法受CURE算法的启发,采用一定数目的参考点(references)来有效地表示一个聚类区域和形状.与CURE算法不同的是,参考点是虚拟的点,不是实际输入数据的点,而且一个聚类中的参考点数目是不固定的.CURD算法采用密度的方法屏蔽异常数据(噪音)对算法的影响,与DBSCAN算法在处理任意形状聚类方面的能力接近.CURD算法具有和K-MEANS算法相同的时间复杂性,因此效率很高.此外,采用距离的方法可以将对高维数据的处理转换到一维空间[7,8],在这个意义上,CURD算法可以处理高维数据,同时CURD算法的参考点充分考虑了输入数据的空间几何特征,因此聚类的质量要高于网格类算法.多维空间与二维空间的距离计算相似,为了方便地描述算法,我们在本文中以二维空间为例来分析CURD算法. 本文首先介绍CURD算法,然后从多个角度具体分析CURD算法的性能,最后进行讨论.