在二维空间中,比较常使用的是4-connection相邻定义和8-connection相邻定义(如图1),4-connection更适合在聚类算法中使用。因为当寻找某个网格单元的邻居时,在4-connection定义下,一个网格单元只有2d个邻居,而在8-connection定义下,有3d-1个邻居,当数据维度d较大时,这个数目非常大。使用4-connection不仅参与计算的单元数目大为减少,而且单元增加与维数的关系由指数增长变为线性增长,所以能进一步减少算法运行所需的时间,具有较低的计算复杂度[13]。其外,只有在非常特殊的情况下,使用4-connection定义得到的聚类结果才会与使用8-connection定义得到的聚类结果不同[14],这是因为,当4-connection的网格单元是高密度网格单元时,四个对角线上的网格单元不论是否是高密度网格单元,都能被正确的聚类;只有当与对角线上的网格单元相邻的2个网格单元同时为空且该单元本身是高密度网格单元时,不能正确聚类,在划分网格时,通常都要求网格单元的大小远小于簇的大小,因此可以认为这种情况出现的可能很小。
4 结论及展望
基于网格聚类方法的优点是它的处理速度快,因为其速度与数据对象的个数无关,而只依赖于数据空间中每个维上单元的个数,发现任意形状、任意大小的簇、计算结果与数据输入顺序无关、计算时间与数据量无关,同时不要求像k均值一样预先指定簇个数等。但是,基于网格方法的聚类算法的输入参数对聚类结果影响较大,而且这些参数较难设置。当数据中有噪音时,如果不加特殊处理,算法的聚类质量会很差。而且,算法对于数据维度的可伸缩性较差。
基于网格的聚类方法目前还存在一些急需解决的问题,主要有以下几点:(1)当簇具有不同的密度时,全局的密度参数不能有效发现这样的簇,需要开发具有可变密度参数的算法。(2)对于不同类型数据的聚类问题,比如对于高维数据,网格的数据将急剧增加,需要有效地技术发现近邻单元。(3)当数据集的规模巨大以及数据具有地理分布特性时,需要开发有效的并行算法来提高处理的速度。(4)对现有网格算法的优化,从不同方面提高网格算法的有效性。比如开发稀疏网格的压缩算法、密度相似网格的合并算法等。
本文对基于网格的聚类方法的已有研究进行了分析和总结,包括网格的定义与划分方法、网格单元密度的确定、由邻接网格单元形成聚簇的聚类过程;最后对网格聚类方法优点与局限性进行总结,在已有研究分析的基础上,提出后续需要重点解决的问题。
参考文献
[1] CHENM S,HAN Jiawei,YUP S.Datamining:an overviewfrom a database perspective[J].IEEE Trans on Knwledge and Data Eng.1996,8(6):866-883.
[2] NG R T,HAN J.Efficient and effective clustering methods for spatial data mining[C].Proc of the 20th VLDB Conference.Chile,Santia.1994:144-155.
[3] ZHANG T,RAMAKRISHNAN R,LIVNY M.An efficient data clustering method for very large databases[C].Proc of ACM SIGMOD International Conference on Management of Data. New York:ACM Press,1996:103-114.
[4] ESTER M,KRIEGEL H P,SANDER J.A density—based algorithm for discovering clusters in large spatial databases with noise[C].Proc of the 2nd International Conference on Knowledge Discovering in Databases and Data Mining.Oregon,1996:122-128.
[5] AGRAWAL R,GEHRKE J,GUNOPOLOS D.Automatic subspace clustering of high dimensional data for data mining applications[C].Proc of ACM SIGMOD International Conference on Management of Data.New York:ACM Press,1998:94-105.
[6]Wang W,Yang J,Muntz R.STING:A Statistical Information Grid Approach to Spatial Data Mining[C].In:Proceedings of the 23rd VLDB Conference.Athens,Greece,1997.186-195.
[7]Sheikholeslami G,Chatterjee S,Zhang A.WaveCluster:A Multi-Resolution Clustering Approach for Very Large Spatial Databases[C].In:Proceedings of the 24th VLDB Conference.New York,USA,1998.428-439.
[8]Goil S,Nagesh H,Choudhary A.MAFIA:Efficient and Scalable Subspace Clustering for Very Large Data Sets[C].Technical Report No.CPDC-TR-9906-010,Center for Parallel and Distributed Computing,1999.
[9]Hinneburg A,Keim D A.Optimal Grid-Clustring:Towards Breaking the Curse of Dimensionality in High-Dimensional Clustering[C].In:Proceedings of the 25th VLDB Conference.1999.506-517.
[10]Liu B,Xia Y,Yu P S.Clustering Through Decision Tree Construction[C].In: Proceedings of the Ninth International Conference on Information and Knowledge Management.2000.20-29.
[11]Pang-Ning Tan,Michael Steinbach.Introduction to Data Mining[J].2005,372-373.
[12] Chen Y,Tu L.Density-Based Clustering for Real-Time Stream Data[J].ACMKDD’07,August 12—15,2007,San Jose,California,USA.133—142.
[13] 曹洪其,余岚,孙志挥.基于网格聚类技术的离群点挖掘算法[J].计算机工程.2006(6).
[14] 孙玉芬.基于网格方法的聚类算法研究[J].华中科技大学.2006.
[15]Han J,Kamber M.Data Mining:Concepts and Techniques[J].Morgan Kaufmann Publishers,2001.
基于网格的聚类算法的基本过程是,首先将数据空间W划分为网格单元,将数据对象集O映射到网格单元中,并计算每个单元的密度。根据用户输入的密度阈值MinPts判断每个网格单元是否为高密度单元,由邻近的稠密单元组形成簇[11],如表1。
算法1中的步骤1已经在上文详细说明,下面具体介绍步骤2-4的内容。
3。1网格单元的密度
簇就是一个区域,该区域中的点的密度大于与之相邻的区域。在网格数据结构中,由于每个网格单元都有相同的体积,因此网格单元中数据点的密度即是落到单元中的点的个数。据此可以得到稠密网格单元的密度是,设在某一时刻t一个网格单元的密度为density,定义density=单元内的数据点数/数据空间中总的数据点数,设密度阈值为,为用户输入的密度阙值,当density>时,该网格单元是—个密集网格单元。(责任编辑:一枝笔写作事务所)