CN107491779A - 一种基于密度峰值的网格聚类算法 - Google Patents
一种基于密度峰值的网格聚类算法 Download PDFInfo
- Publication number
- CN107491779A CN107491779A CN201710502536.7A CN201710502536A CN107491779A CN 107491779 A CN107491779 A CN 107491779A CN 201710502536 A CN201710502536 A CN 201710502536A CN 107491779 A CN107491779 A CN 107491779A
- Authority
- CN
- China
- Prior art keywords
- grid
- data
- grid cell
- cell
- density
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明请求保护一种基于密度峰值的网格聚类算法,能够高效的对大规模数据进行处理。首先,本文将N维空间粒化为不相交的长方形网格单元,然后统计单元空间的信息。利用密度峰值聚类寻找中心点的思想确定中心单元,即中心网格单元被一些低局部密度的数据单元包围,而且与比自身局部密度高的网格单元的距离相对较大。最后合并与中心网格单元相近网格单元,从而得出聚类结果。在UCI人工数据集上的仿真实验结果表明,本文算法能够较快的得出聚类中心,有效的处理大规模数据的聚类问题,具有较高的效率,与原始的密度峰值聚类算法相比,在不同数据集上时间损耗降低10~100倍,而精度损失维持在5%~8%。
Description
技术领域
本发明属于数据挖掘和人工智能领域,具体涉及一种基于密度峰值的网格聚类算法。
背景技术
作为数据挖掘和人工智能领域的重要研究内容,聚类是一种无监督模式识别方法,即在没有任何先验信息的指导下,从一个数据集中发现潜在的相似模式,对数据集进行分组,以使得同一类内的相似性尽可能大,同时不同类之间的差异性尽可能大。近年来,数据挖掘在许多领域有广泛的应用,例如:图像[1]、医药[2]、航空[3]等领域。近年来,从卫星、影像和其他资源中获取巨大的空间数据已经急速的增长。由于巨大的数据数量级和数据类型的复杂度,提升数据挖掘的效率成为了数据挖掘的重要挑战。随着数据规模和维度的增长,传统的聚类算法不能满足实际应用的要求。对于大规模数据来说,如何在聚类过程中快速寻找聚类中心以及如何合理合并子划分数据,从而得到高效、准确的聚类结果,是目前大规模数据乃至大数据聚类算法存在的问题之一[4-6]。
由于自顶向下的网格划分方法采取分而治之的策略,根据数据的分布对空间进行划分,受到数据空间维度的影响较小,可以快速的将大型高维数据集中的簇分隔开,将问题规模不断减小。基于网格的聚类算法包括:统计信息网格法(Statistical InformationGrid,STING[7]),小波聚类WaveCluster[8],查询聚类(Clustering in Quest,CLIQUE[9]),以及其他改进的网格聚类算法(Statistical Information Grid+,STING+[10])、基于层次方法的平衡迭代规约和聚类(Balanced Iterative Reducing and Clustering UsingHierarchies,BIRCH[11-12])等算法。其中STING算法利用存储在网格单元中的统计信息聚类;WaveCluster利用一种小波转换方法来聚类;CLIQUE是一种在高纬数据空间中基于网格和密度的聚类方法。通常聚类使用的数据集中,各个类的密度差别很大,网格聚类中通常使用密度阈值来控制网格划分的大小,从而导致网格聚类对于不同密度的数据聚类的效果不理想。
近年来,在《Science》上发表的密度峰值聚类算法(Density Peak Clustering,DPC)能够有效、快速的发现任意形状的簇[13]。该方法同时具有K中心点算法(K-medoids[14 ][15][16]),基于密度的空间聚类算法(Density-Based Spatial Clustering ofApplications with Noise,DBSCAN[17][18])和均值漂移(Mean-Shift[19])聚类的特点,简洁新颖。DPC的核心思想在于对聚类中心点的计算,聚类中心点具有本身密度大和与其他密度更大的数据点之间的距离相对更大的特点。但密度峰值聚类算法是个典型的密度聚类算法,无法处理大规模数据集。
本文基于密度峰值聚类快速寻找中心的思想,提出一种网格粒化的聚类算法,通过网格对数据进行粒化,采用网格内样本点的频度作为每个网格的密度,避免了局部密度公式带来的选取中心点失效的问题。由于采用网格化对数据进行统计频度,即可以看成是将每一个网格内的样本点进行粒化,因此适合于处理大规模数据。下面是引用文章:
[1]Asanobu K.Data mining for typhoon image collection.Proc of theSecond International Workshop on Multimedia Data Mining,2002,19(1):68--77.
[2]Bellazzi R,Zupan B.Predictive data mining in clinical medicine:Current issues and guidelines.International Journal of Medical Informatics,2008,77(2):81-97.
[3]Matthews B,Das S,Bhaduri K,et al.Discovering anomalous aviationsafety events using scalable data mining algorithms.Journal of AerospaceComputing Information&Communication,2014,11(7):482-482.
[4]Takizawa H,Kobayashi H.Hierarchical parallel processing of largescale data clustering on a PC cluster with GPU co-processing.The Journal ofSupercomputing,2006,36(3):219-234.
[5]Cui X,Charles J S,Potok T E.The GPU enhanced parallel computingfor large scale data clustering.Future Generation Computer Systems,2013,29(7):1736-1741.
[6]Li Y,Yang G,He H,et al.A study of large-scale data clusteringbased on fuzzy clustering.Soft Computing,2016,20(8):3231-3242.
[7]Wang W,Yang J,Muntz R R.STING:A statistical information gridapproach to spatial data mining//International Conference on Very Large DataBases.Morgan Kaufmann Publishers Inc.1997:186-195
[8]Chen L,Yu T,Chirkova R.Wave cluster with differentialprivacy.Computer Science,2015.
[9]Duan D,Li Y,Li R,et al.Incremental K-clique clustering in dynamicsocial networks.Artificial Intelligence Review,2012,38(2):129-147.
[10]Wang W,Yang J,Muntz R.STING+:An approach to active spatial dataMining//International Conference on Data Engineering.IEEE Computer Socity,1999:116.
[11].Zhang T,Ramakrishnan R,Livny M.BIRCH:an efficient dataclustering method for very large databases[C]//ACM Sigmod Record.ACM,1996,25(2):103-114.
[12]Hodge V J,Austin J.A Survey of Outlier Detection Methodologies[J].Artificial Intelligence Review,2004,22(2):85-126.
[13]Rodriguez A,Laio A.Machine learning.Clustering by fast search andfind of density peaks.[J].Science,2014,344(6191):1492-6
[14]Park H,Jun C.A simple and fast algorithm for K-medoidsclustering.Expert Systems with Applications,2009,36(2):3336-3341
[15]马箐,谢娟英.基于粒计算的K-medoids聚类算法.计算机应用,2012,32(7):1973-1977.(Ma Q,Xie J Y.K-medoids clustering algorithm based on GranularComputing,2012,32(7):1973-1977.)
[16]张雪萍,龚康莉,赵广才.基于MapReduce的K-Medoids并行算法.计算机应用,2013,33(4):1023-1025.(Zhang X P,Gong K L,Zhao G C.K-Medoids parallelalgorithm based on MapReduce.Journal of Computer application,2013,33(4):1023-1025.)
[17]Ester B,Kriegel H,Sander J.et al.A density based algorithm fordiscovering clusters in large spatial databases.Proceedings of InternationalConference on knowledge Discovery and Data Mining,AAAI.2013
[18]周水庚,周傲英,金文,等.FDBSCAN:一种快速DBSCAN算法.软件学报,2000,15(6):735-744.(Zhou S G,Zhou AY,Jin W,et al.FDBSCAN:A fast algorithm forDBSCAN:.Journal of Software,2000,15(6):735-744.)
[19]Saragih J,Lucey S,Cohn J F.Deformable model fitting byregularized landmark mean-shift.International Journal of Computer Vision,2011,91(2):200-215。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种能够较快的得出聚类中心,有效的处理大规模数据的聚类问题,具有较高的效率的基于密度峰值的网格聚类算法。本发明的技术方案如下:
一种基于密度峰值的网格聚类算法,其包括以下步骤:
1)、首先,采用网格聚类算法将N维空间粒化为不相交的长方形网格单元,以网格单元数据的统计信息代替原始的数据点;
2)、然后统计网格单元空间的信息,利用密度峰值聚类寻找中心点的思想确定中心单元,即中心网格单元被一些低局部密度的数据单元包围,而且与比自身局部密度高的网格单元的距离相对较大;
3)、最后合并与中心网格单元相近网格单元,从而得出聚类结果。
进一步的,所述步骤1)的网格聚类算法采用统计信息网格法,包括以下步骤:
(1)输入数据样本集X={x1,x2,x3,...xn},归一化到D={d1,d2,d3,...dk}维数据空间中,使得其中d是D的维度;
(2)计算划分的尺度参数ε,ε为网格划分尺度,并进行维度划分,进而进行数据空间的网格划分;
(3)扫描整个数据集,把数据集中的每个点都放入网格划分后的数据空间中,并记录网格单元的信息,输出网格单元集合G={g1,g2,g3,...gn},gn表示第n个网格单元,n表示网格单元的序列。
进一步的,所述网格划分尺度参数ε根据数据空间中的数据个数求得,
ε=N/k (3)
可以得出代入公式(3)中可得,
假设数据集为X={x1,x2,x3,...xN}是在D={d1,d2,d3,...dk}维空间的数据,其中N是数据集合中数据点的个数,k是数据空间维度的个数,则每个维度被分为ε等分,所以每个维度划分为:cε表示在维度di上的第ε个等分
di={c1,c2,c3,...,cε} (8)
进一步的,所述步骤2)确定中心单元包括以下步骤:
首先,扫描整个数据集,即将网格单元中数据点的个数作为网格单元的频度;然后,利用聚类中心网格单元与其他聚类中心网格单元的距离大,而与其网格单元类簇中其他网格单元的距离小的思路,求出各个网格单元的相对距离,得出决策图,并选择中心单元。
进一步的,所述各个网格单元的相对距离求解步骤包括:
(1)计算网格单元的密度ρi,即网格单元i中的数据点个数;
(2)计算网格单元的距离δi,将网格单元按照频度的大小,将每个网格单元降序排序,并记录其标序,即:为的降序排列的标号,降序排列为ρq1≥ρq2≥...≥ρqn,则相对距离δi的定义为:
其中代表网格单元qi和qj的欧式距离,公式如下:
其中,a,b分别为两个网格空间单元,di为空间单元的维度。
进一步的,所述步骤3)合并与中心网格单元相近网格单元,从而得出聚类结果,具体包括:
定义为各个中心网格单元的编号,则Gci为第i个中心网格单元,按照其他各个非中心网格单元与中心网格单元的距离,将各个网格划分到相应的类簇中,同时,为每个类簇设置一个平局频度上限,这样就将类簇中其他网格单元其分为核心网格单元和边界网格单元。
进一步的,还包括设置密度阈值τ把噪声网格单元剔除,网格密度小于τ的网格单元标记为无效网格单元;分配各个网格单元到各个类簇中,扫描整个数据空间,将各个网格单元中的数据点标记为相应的类别。
本发明的优点及有益效果如下:
本发明基于密度峰值聚类快速寻找中心的思想,提出一种网格粒化的聚类算法,通过网格对数据进行粒化,采用网格内样本点的频度作为每个网格的密度,避免了局部密度公式带来的选取中心点失效的问题。由于采用网格化对数据进行统计频度,即可以看成是将每一个网格内的样本点进行粒化,因此适合于处理大规模数据。
本文提出了一种改进的网格聚类方法,既有DPC算法的优点,也具有网格聚类可以处理大规模数据的优点,同时在满足一定的时限约束条件下,本文算法取得了较满意的效果,初步实现了一种快速处理大规模数据的聚类算法模型。
附图说明
图1是本发明提供优选实施例的中心点选取例子示意图,图1(a)所示,为二维散点图,图1(b)为以局部密度ρ为横坐标和相对距离δ为纵坐标产生的图1(a)的数据集对应的决策图;
图2是STING网格结构图;
图3是网格粒化后的数据分布图;
图4是网格单元的决策图;
图5是四个数据集的数据分布图;
图6是网格粒化后的数据分布图;
图7是100万条Moons数据分布示意图;
图8是网格粒化后的数据分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
DPC聚类算法
密度峰值聚类算法的思想简单新颖,首先计算每个点的两个变量:局部密度和与高密度点之间的距离。对于聚类中心的选取是基于两个基本假设:(1)聚类中心的密度高于其临近的样本点的密度;(2)聚类中心与比其密度还高的聚类中心的距离相对较大。显然,聚类中心点是局部密度和与高密度点之间的距离均较大的点,聚类过程中的聚类中心的数目可以很直观的选取。在这样的模型中,密度峰值聚类主要有两个需要计算的量:第一,局部密度ρ;第二,相对距离δ.局部密度和相对距离的定义分别如下:
定义1[7]:样本点i的局部密度,定义如下
其中
定义2[7]:样本点i的相对距离
其中,指标集
显然当时,有
图1(a)所示,为二维散点图,其中样本点编号代表自身的局部密度,不同的颜色代表不同的类.图1(b)为以局部密度ρ为横坐标和相对距离δ为纵坐标产生的图1(a)的数据集对应的决策图,决策图为我们提供了一种手动选取聚类中心的启发式方法.在图1(b)中选择局部密度和相对距离同时相对较大的(矩形虚线内的点),由于这些点的密度较大,邻域中的邻居点较多,并且与比它密度更大的点的距离较远,所以将这些点标记聚类中心.密度峰值聚类算法具体步骤如下:
算法1 密度峰值聚类算法[13]
输入:数据样本集,样本点之间的距离矩阵
输出:聚类个数M,Ck,k=1,2,…,M
(1)输入距离矩阵;
(2)初始化参数dc;
(3)计算每个点的局部密度ρ,相对距离δ以及邻居点;
(4)输出决策图,并选取聚类中心;
(5)将非聚类中心进行归类;
(6)将剩下数据分为cluster core和cluster halos,并检测噪声点。
由于算法在计算局部密度时,需要计算距离矩阵,假设有个N个数据样本点,则计算和存储这些距离的时空复杂度均为O(N2);随着数据量的增长,仅就计算和存储距离矩阵而导致的巨大时空复杂度就变得难以接受,这就导致了该算法不适用于大规模数据。
0.1 STING网格聚类
STING聚类算法是一种典型的基于网格的聚类算法。文献[7]将数据空间划分为层次结构,也就是使用一个多级多层次的空间结构。空间的顶层是第一层,它的下一层是第二层,以此类推。第i层中的一个单元与它的第i+1层的子空间单元的集合保持一致。除了底层网格都有4个子空间单元,而子空间单元都是父单元的四分之一。如图2所示,为STING网络结构图,其顶层网格单元与全局数据空间的信息相一致。底层网格的大小依赖于网格数据的密度。根据经验来选择的尺寸,例如数据的平均数目,但是每个单元存在的数据数目从几十到上千不等。此外,数据空间的层数可以改变,通过修改上一层单元的数目。除非特殊情况下,将使用4作为默认参数。文献[7]假设空间为两维空间,因为这样的话比较容易推广到高维模型层次结构。
STING聚类可以快速查询网格区域的信息,包括相应区域的密度、面积、数据个数等。一般在空间数据集中,数据挖掘和知识发现是隐藏知识、空间关系、那些并不明显的兴趣特征和模型的发掘。不管是理解空间数据,还是捕获空间和非空间数据的本质问题,STING算法都具有很好的效果。此外,这种关系发现能以简单的方式去展示数据,通过重组数据空间来认识数据含义,用以使算法达到高效的表现。
1 基于密度峰值的网格聚类
基于当前对大规模数据进行聚类存在的问题,本文基于密度峰值聚类快速寻找中心的思想,提出一种新的网格聚类思想,用于处理大规模数据。该思想主要分为以下三个方面:
1.1 数据空间的网格粒化
正文内容本文首先利用如算法2所示的STING网格划分对数据进行粒化,以网格单元数据的统计信息代替原始的数据点,从而达到数据压缩的目的。
算法2 STING网格划分
输入:数据样本集X={x1,x2,x3,...xn}
输出:网格单元集合G={g1,g2,g3,...gn}
(1)归一化到D={d1,d2,d3,...dk}维数据空间中,使得其中d是D的维度;
(2)计算划分的尺度参数ε,使用公式(3)求出,并使用公式(4)进行维度划分,进而进行数据空间的网格划分;
(3)扫描整个数据集,把数据集中的每个点都放入网格划分后的数据空间中,并记录网格单元的信息,例如:网格空间的数据点个数等,记录网格单元的个数为n。
其中参数ε为网格划分尺度。网格划分的粒度不同,会影响数据聚类的效果,不能太大也不能太小,太大的话会丢失大多网格单元的数据,导致精确度不够;网格单元太小的话,会导致每个网格密度相似,不能区分稠密网格单元,同时,网格太小的话,比如每个网格一个数据,就会导致跟原数据处理效果类似,达不到快速处理数据的目的。参数ε根据数据空间中的数据个数求得,
ε=N/k (3)
可以得出代入公式(3)中可得,
假设数据集为X={x1,x2,x3,...xN}是在D={d1,d2,d3,...dk}维空间的数据,其中N是数据集合中数据点的个数,k是数据空间维度的个数(数据属性的个数)。则每个维度被分为ε等分,所以每个维度划分为:
di={c1,c2,c3,...,cε} (8)
1.2 中心单元的计算
该步骤的目的在粒化后的所有网格单元中快速找出符合假设条件的中心点。首先,扫描整个数据集,即将网格单元中数据点的个数作为网格单元的频度;然后,利用聚类中心网格单元与其他聚类中心网格单元的距离大,而与其网格单元类簇中其他网格单元的距离小的思路,求出各个网格单元的相对距离。算法步骤如下
算法3 快速寻找中心单元算法
输入:网格单元集合G={g1,g2,g3,...gn}
输出:中心单元Centerk,k=1,2,…,M
(1)计算网格单元的密度ρi,即网格单元i中的数据点个数。
(2)计算网格单元的距离δi。将网格单元按照频度的大小,将每个网格单元降序排序,并记录其标序,即:为的降序排列的标号,降序排列为ρq1≥ρq2≥...≥ρqn。则相对距离δi的定义为:
其中代表网格单元qi和qj的欧式距离。公式如下:
其中,a,b分别为两个网格空间单元,di为空间单元的维度。
(3)得出决策图,并选择中心单元。
例1.如图3所示,通过网格粒化后,大部分数据点(除中心网格单元)重合在一起。这是因为非中心网格单元离他们最近的网格单元一般为相邻网格,这就导致许多网格单元重合在一起,这也方便我们选取中心网格单元。图4为利用密度峰值的思想,得到的网格单元对应的决策图,很明显,有7个中心网格单元。
1.3 网格单元的归类
定义为各个中心网格单元的编号,则Gci为第i个中心网格单元。按照其他各个非中心网格单元与中心网格单元的距离,将各个网格划分到相应的类簇中。同时,为每个类簇设置一个平局频度上限,这样就将类簇中其他网格单元其分为核心网格单元和边界网格单元。综合上面的分析,本文给出提出的网格聚类算法的总体步骤,算法如下:
算法4:基于密度峰值的网格聚类
输入:数据样本集X={x1,x2,x3,...xn}
输出:聚类结果
(1)数据预处理,为了统一量纲,本文对数据集进行归一化处理[0,1],得出归一化后的数据集Data={x1,x2,x3,...xN};
(2)调用算法2,根据网格划分技术,将数据空间划分为均匀的网格空间;
(3)扫描数据集X={x1,x2,x3,...xN},将数据点分配到相应的网格单元中,并统计各个网格单元的密度信息;
(4)设置密度阈值τ把噪声网格单元剔除,网格密度小于τ的网格单元标记为无效网格单元;
(5)调用算法3计算网格中心单元,得出决策图,选取出中心单元:
(6)根据3.3的定义,分配各个网格单元到各个类簇中,扫描整个数据空间,将各个网格单元中的数据点标记为相应的类别。
2 算法分析
本文提出算法的时间开销包括计算网格粒化、网格单元的统计信息、网格单元的相对距离和分配到各个类簇中。其中花销最大的就是求网格单元的距离。STING划分网格很明显时间复杂度为O(n),其行为花销在于统计数据集中数据点的个数。求网格单元的统计信息的时间花销也仅仅在于扫描一次数据,更新每个网格单元的统计信息,其时间复杂度也为O(n)。将网格单元的分配到各个类簇中仅与网格单元的个数相关,需要扫描整个网格空间,得到网格单元到每个聚类中心的距离,然后分配到相离最近的中心网格单元,其时间复杂度仅为O(R)。其中R为网格单元个数。本算法最大的开销在于求网格单元之间的距离,根据网格的个数,求除网格单元之间的距离,时间复杂度为O((n/ε)2),其中n为数据点数,ε为划分网格的参数。因此,算法的总的时间复开销为为:
Tall=n+n+n/ε+(n/ε)2 (11)
由公式4可以看出,本文算法的时间复杂度为O((n/ε)2)。而DPCA却需要求出整个点与点之间的距离,其时间复杂度为O(n2)。
同理,由文献[13]可知,由于DPC的空间复杂度为O(n2),而本文算法空间复杂度只跟网格单元的个数相关,因此其空间复杂度为O((n/ε)2)。
3 实验仿真
本文的实验所采用的计算机硬件配置为Intel(R)Core(TM)i5处理器(主频3.3GHz)、8G内存;实验的软件环境为Windows10操作系统,采用MATLAB编译环境。为了证明相对于DPC,本文提出的算法具有优越性,我们设计了实验1来进行对比验证。因为在DPC中,MATLAB所处理的数据不能超过7K条,因此我们采用小规模数据集来与DPC进行对比实验。
实验1:采用UCI上面的四个人工数据集(Aggregation,Compound,Flame,Moons)进行实验,其中图5分别为四个数据集的数据分布图。
图6为网格粒化后的数据分布图,由图6可以看出,聚类结果基本符合图5中的数据分布情况。
表1 时间对比表
Table.1 The Comparison of time consuming
表2 准确率对比表
Table.2 The Comparison of accuracy
表1和表2分别给出了本文提出的聚类算法与原始密度峰值算法的时间和准确率对比情况。通过表1和表2可知,本文算法虽然时间上远胜于DPC聚类算法,但是精确度却比DPC差,根本原因是本文的算法通过网格粒化减少了数据规模的同时,也减少了网格分辨率,从而减少了精度,即通过牺牲精度来换取时间的减少。相对于STING聚类来说,在图5的四个数据集上本文算法的时间较低,在Aggregation,Compound,Flame三个数据集上准确率相对较高,而且由表2可知,STING聚类算法稳定性较差。综合考虑,本文算法虽然精确度有所不足,但在粗粒度情形下可以处理大型数据集,处理速度快。而DPC不能处理大型数据集,处理速度缓慢成为它致命的缺点。因此,在对精确度要求不太高的情况下,本文算法还是有一定的价值。
实验2将采用大规模的数据集,来测试本文算法在处理大规模数据上的性能。
实验2:如图7所示,为本文实验采用的测试数据集,使用人工生成的Moons数据集,共100万条数据。
图8为网格粒化后的数据分布图,由图8可以看出,聚类结果基本符合图7中的数据分布情况。
通过仿真发现,本文提出的基于密度峰值的网格粒化算法在100万条数据的Moons数据集上总运行时间为15.435665秒,准确率为92.5%。由实验2可以发现,本文算法对与处理大规模数据有着明显的优势,但是因为基于网格的算法,准确率会有明显的下降的趋势。
4 结语
基于密度峰值聚类算法可以发现任意簇且可以快速寻找聚类中心点的优点,本文提出了一种改进的网格聚类方法,既有DPC算法的优点,也具有网格聚类可以处理大规模数据的优点,同时在满足一定的时限约束条件下,本文算法取得了较满意的效果,初步实现了一种快速处理大规模数据的聚类算法模型。下一步工作需要研究在不同网格粒度对聚类结果的影响,以及结合Spark平台将算法推广到处理大数据上。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (7)
1.一种基于密度峰值的网格聚类算法,其特征在于,包括以下步骤:
1)、首先,采用网格聚类算法将N维空间粒化为不相交的长方形网格单元,以网格单元数据的统计信息代替原始的数据点;
2)、然后统计网格单元空间的信息,利用密度峰值聚类寻找中心点的思想确定中心单元,即中心网格单元被一些低局部密度的数据单元包围,而且与比自身局部密度高的网格单元的距离相对较大;
3)、最后合并与中心网格单元相近网格单元,从而得出聚类结果。
2.根据权利要求1所述的基于密度峰值的网格聚类算法,其特征在于,所述步骤1)的网格聚类算法采用统计信息网格法,包括以下步骤:
(1)输入数据样本集X={x1,x2,x3,...xn},归一化到D={d1,d2,d3,...dk}维数据空间中,使得其中d是D的维度;
(2)计算划分的尺度参数ε,ε为网格划分尺度,并进行维度划分,进而进行数据空间的网格划分;
(3)扫描整个数据集,把数据集中的每个点都放入网格划分后的数据空间中,并记录网格单元的信息,输出网格单元集合G={g1,g2,g3,...gn},gn表示第n个网格单元,n表示网格单元的序列。
3.根据权利要求2所述的基于密度峰值的网格聚类算法,其特征在于,所述网格划分尺度参数ε根据数据空间中的数据个数求得,
ε=N/k (3)
可以得出代入公式(3)中可得,
假设数据集为X={x1,x2,x3,...xN}是在D={d1,d2,d3,...dk}维空间的数据,其中N是数据集合中数据点的个数,k是数据空间维度的个数,则每个维度被分为ε等分,所以每个维度划分为:cε表示在维度di上的第ε个等分
di={c1,c2,c3,...,cε} (8)。
4.根据权利要求3所述的基于密度峰值的网格聚类算法,其特征在于,所述步骤2)确定中心单元包括以下步骤:
首先,扫描整个数据集,即将网格单元中数据点的个数作为网格单元的频度;然后,利用聚类中心网格单元与其他聚类中心网格单元的距离大,而与其网格单元类簇中其他网格单元的距离小的思路,求出各个网格单元的相对距离,得出决策图,并选择中心单元。
5.根据权利要求4所述的基于密度峰值的网格聚类算法,其特征在于,所述各个网格单元的相对距离求解步骤包括:
(1)利用网格中的数据个数计算网格单元的密度ρi,即网格单元i中的数据点个数;
(2)计算网格单元的距离δi,将网格单元按照频度的大小,将每个网格单元降序排序,并记录其标序,即:为的降序排列的标号,降序排列为ρq1≥ρq2≥...≥ρqn,则相对距离δi的定义为:
其中代表网格单元qi和qj的欧式距离,公式如下:
其中,a,b分别为两个网格空间单元,di为空间单元的维度。
6.根据权利要求5所述的基于密度峰值的网格聚类算法,其特征在于,所述步骤3)合并与中心网格单元相近网格单元,从而得出聚类结果,具体包括:
定义为各个中心网格单元的编号,则Gci为第i个中心网格单元,按照其他各个非中心网格单元与中心网格单元的距离,将各个网格划分到相应的类簇中,同时,为每个类簇设置一个平局频度上限,这样就将类簇中其他网格单元其分为核心网格单元和边界网格单元。
7.根据权利要求6所述的基于密度峰值的网格聚类算法,其特征在于,还包括设置密度阈值τ把噪声网格单元剔除,网格密度小于τ的网格单元标记为无效网格单元;分配各个网格单元到各个类簇中,扫描整个数据空间,将各个网格单元中的数据点标记为相应的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710502536.7A CN107491779A (zh) | 2017-06-27 | 2017-06-27 | 一种基于密度峰值的网格聚类算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710502536.7A CN107491779A (zh) | 2017-06-27 | 2017-06-27 | 一种基于密度峰值的网格聚类算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491779A true CN107491779A (zh) | 2017-12-19 |
Family
ID=60643727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710502536.7A Pending CN107491779A (zh) | 2017-06-27 | 2017-06-27 | 一种基于密度峰值的网格聚类算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491779A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537274A (zh) * | 2018-04-08 | 2018-09-14 | 武汉大学 | 一种基于网格的空间多尺度快速聚类方法 |
CN108985490A (zh) * | 2018-06-14 | 2018-12-11 | 内蒙古大学 | 基于滑动窗口特征数据拟合的风力发电机功率曲线修正方法 |
CN109102028A (zh) * | 2018-08-20 | 2018-12-28 | 南京邮电大学 | 基于改进的快速密度峰值聚类和lof离群点检测算法 |
CN109241992A (zh) * | 2018-07-23 | 2019-01-18 | 南昌大学 | 一种基于信息熵权重两支决策优化的数据聚类集成方法 |
CN109255384A (zh) * | 2018-09-12 | 2019-01-22 | 湖州市特种设备检测研究院 | 一种基于密度峰值聚类算法的交通流模式识别方法 |
CN109376770A (zh) * | 2018-09-26 | 2019-02-22 | 凌云光技术集团有限责任公司 | 一种应用于底片检查机的网格区域识别方法及装置 |
CN109840558A (zh) * | 2019-01-25 | 2019-06-04 | 南京航空航天大学 | 基于密度峰值-核心融合的自适应聚类方法 |
CN109919201A (zh) * | 2019-02-14 | 2019-06-21 | 北京市环境保护监测中心 | 一种基于多浓度数据的污染类型分析方法 |
CN110161464A (zh) * | 2019-06-14 | 2019-08-23 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110488259A (zh) * | 2019-08-30 | 2019-11-22 | 成都纳雷科技有限公司 | 一种基于gdbscan的雷达目标分类方法及装置 |
CN112668612A (zh) * | 2020-12-09 | 2021-04-16 | 重庆邮电大学 | 一种基于网格的局部放电信号聚类分析方法 |
CN113505314A (zh) * | 2021-07-27 | 2021-10-15 | 王程 | 时空复杂网络聚类的位置轨迹分析系统 |
CN113852845A (zh) * | 2021-02-05 | 2021-12-28 | 天翼智慧家庭科技有限公司 | 一种基于粒度聚类的数据处理方法和装置 |
-
2017
- 2017-06-27 CN CN201710502536.7A patent/CN107491779A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537274A (zh) * | 2018-04-08 | 2018-09-14 | 武汉大学 | 一种基于网格的空间多尺度快速聚类方法 |
CN108537274B (zh) * | 2018-04-08 | 2020-06-19 | 武汉大学 | 一种基于网格的企业poi位置点快速空间多尺度聚类方法 |
CN108985490A (zh) * | 2018-06-14 | 2018-12-11 | 内蒙古大学 | 基于滑动窗口特征数据拟合的风力发电机功率曲线修正方法 |
CN109241992A (zh) * | 2018-07-23 | 2019-01-18 | 南昌大学 | 一种基于信息熵权重两支决策优化的数据聚类集成方法 |
CN109102028A (zh) * | 2018-08-20 | 2018-12-28 | 南京邮电大学 | 基于改进的快速密度峰值聚类和lof离群点检测算法 |
CN109255384A (zh) * | 2018-09-12 | 2019-01-22 | 湖州市特种设备检测研究院 | 一种基于密度峰值聚类算法的交通流模式识别方法 |
CN109376770B (zh) * | 2018-09-26 | 2020-10-20 | 凌云光技术集团有限责任公司 | 一种应用于底片检查机的网格区域识别方法及装置 |
CN109376770A (zh) * | 2018-09-26 | 2019-02-22 | 凌云光技术集团有限责任公司 | 一种应用于底片检查机的网格区域识别方法及装置 |
CN109840558A (zh) * | 2019-01-25 | 2019-06-04 | 南京航空航天大学 | 基于密度峰值-核心融合的自适应聚类方法 |
CN109840558B (zh) * | 2019-01-25 | 2022-06-17 | 南京航空航天大学 | 基于密度峰值-核心融合的自适应聚类方法 |
CN109919201A (zh) * | 2019-02-14 | 2019-06-21 | 北京市环境保护监测中心 | 一种基于多浓度数据的污染类型分析方法 |
CN110161464A (zh) * | 2019-06-14 | 2019-08-23 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110161464B (zh) * | 2019-06-14 | 2023-03-10 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110488259A (zh) * | 2019-08-30 | 2019-11-22 | 成都纳雷科技有限公司 | 一种基于gdbscan的雷达目标分类方法及装置 |
CN112668612A (zh) * | 2020-12-09 | 2021-04-16 | 重庆邮电大学 | 一种基于网格的局部放电信号聚类分析方法 |
CN113852845A (zh) * | 2021-02-05 | 2021-12-28 | 天翼智慧家庭科技有限公司 | 一种基于粒度聚类的数据处理方法和装置 |
CN113505314A (zh) * | 2021-07-27 | 2021-10-15 | 王程 | 时空复杂网络聚类的位置轨迹分析系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491779A (zh) | 一种基于密度峰值的网格聚类算法 | |
Li et al. | LISA: A learned index structure for spatial data | |
Rehioui et al. | DENCLUE-IM: A new approach for big data clustering | |
Koga et al. | Fast agglomerative hierarchical clustering algorithm using Locality-Sensitive Hashing | |
Xu et al. | An improved k-means clustering algorithm | |
Xiao et al. | A survey of parallel clustering algorithms based on spark | |
Li et al. | Deepgraph: Graph structure predicts network growth | |
Wang et al. | An efficient algorithm for distributed outlier detection in large multi-dimensional datasets | |
Khader et al. | Density-based algorithms for big data clustering using MapReduce framework: A Comprehensive Study | |
Yang et al. | ISBFK-means: A new clustering algorithm based on influence space | |
CN112214488A (zh) | 一种欧式空间数据索引树及构建和检索方法 | |
Ding et al. | Density peaks clustering algorithm based on improved similarity and allocation strategy | |
Pal | Granular mining and big data analytics: rough models and challenges | |
Schuh et al. | Mitigating the curse of dimensionality for exact knn retrieval | |
Pandey et al. | A comprehensive study of clustering algorithms for big data mining with mapreduce capability | |
Laohakiat et al. | Hyper-cylindrical micro-clustering for streaming data with unscheduled data removals | |
Jia et al. | An improved FP-growth algorithm based on SOM partition | |
Chen et al. | Research and application of cluster analysis algorithm | |
Das et al. | Pattern clustering using a swarm intelligence approach | |
Jiang et al. | A hybrid clustering algorithm | |
Chen et al. | A combined clustering algorithm based on ESynC algorithm and a merging judgement process of micro-clusters | |
Pathak et al. | Restricted Randomness DBSCAN: A faster DBSCAN Algorithm | |
Mythili et al. | Research Analysis on Clustering Techniques in Wireless Sensor Networks | |
Perumal et al. | Graph Ontology Based IAFCM Model for Itemset Mining in Transactional Database: An Optimized Fuzzy Framework | |
Wang et al. | Research on dynamic clustering method of network data based on association rules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171219 |
|
RJ01 | Rejection of invention patent application after publication |