南京大学学报(自然科学), 2024, 60(3): 370-382 doi: 10.13232/j.cnki.jnju.2024.03.002

基于改进局部密度的可扩展层次聚类算法

陈斌, 谢文波,, 付勋, 张恒基, 王欣

西南石油大学计算机科学学院,成都,610500

Density⁃based scalable hierarchical clustering

Chen Bin, Xie Wenbo,, Fu Xun, Zhang Hengji, Wang Xin

School of Computer Science,Southwest Petroleum University,Chengdu,610500,China

通讯作者: E⁃mail:wenboxie@swpu.edu.cn

收稿日期: 2024-01-08  

基金资助: 四川省成都市西南石油大学青年学者发展基金.  202199010142
四川省科技创新人才基金.  2022JDRC0009
西南石油大学自然科学“启航计划”.  2023QHZ010
四川省自然科学基金.  2024NSFSC1464

Received: 2024-01-08  

摘要

层次聚类是无监督学习的重点研究方向,由于其结果易于分析,因此被广泛应用于数据挖掘领域.目前大多数层次聚类算法都需要根据数据的成对距离进行簇合并操作,因此具有较高的复杂度(不论是时间或空间),无法用于大规模数据的处理.针对以上问题,提出了一种基于改进局部密度的可扩展层次聚类算法(Density⁃based Scalable Hierarchical Clustering,DBSC).该算法根据数据间的最近邻关系构造最近邻图,并在每个最近邻分量上根据互惠最近邻结点的局部密度选择代表点.为了降低孤立最近邻分量对计算局部密度的干扰,算法利用二阶最近邻将孤立最近邻分量重连至最近邻分量.通过以上步骤算法选择代表点,以迭代的方式自下而上地构建聚类树.大量真实数据集的实验结果表明,该算法可以在保证较高的聚类精度和较快的响应速度的前提下将处理数据的规模提升至数十万项.

关键词: 层次聚类 ; 局部密度 ; 最近邻图 ; 互惠最近邻

Abstract

Hierarchical clustering is an important research area in unsupervised learning. Due to its good interpretability,it is widely used in data mining. Most hierarchical clustering algorithms merge the clusters by calculating pairwise distances. Unfortunately,this step has high complexity (in both time and space),making it inapplicable in large⁃scale datasets. This paper proposes a density⁃based scalable hierarchical clustering algorithm (DBSC). Firstly,the algorithm constructs the nearest neighbor graph based on the nearest neighbor relationship of the data. Then,it selects the representative roots on each nearest neighbor component. The representative roots are selected based on the local density of the reciprocal nearest neighbor nodes. Besides,to reduce the interference of the isolated nearest neighbor component with selecting representative roots,the algorithm reconnects to the appropriate nearest neighbor component by second nearest neighbors. Through the above measures,the algorithm iteratively selects the representative roots and constructs the clustering tree in a bottom⁃up manner. Experiments on massive real datasets show that the algorithm increases the ability to process data to hundreds of thousands of items while ensuring the accuracy of clustering and fast response.

Keywords: hierarchical clustering ; local density peak ; nearest neighbor graph ; reciprocal nearest neighbor

PDF (1092KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

陈斌, 谢文波, 付勋, 张恒基, 王欣. 基于改进局部密度的可扩展层次聚类算法. 南京大学学报(自然科学)[J], 2024, 60(3): 370-382 doi:10.13232/j.cnki.jnju.2024.03.002

Chen Bin, Xie Wenbo, Fu Xun, Zhang Hengji, Wang Xin. Density⁃based scalable hierarchical clustering. Journal of nanjing University[J], 2024, 60(3): 370-382 doi:10.13232/j.cnki.jnju.2024.03.002

聚类1是一类重要的数据挖掘技术,旨在识别隐藏在数据中的潜在模式,可以将未标记的数据按照某种相似或相异度规则划分为多个组(簇),归属于同个组(簇)的数据被认为是高度相似的,而与其他组(簇)不相似.因此,聚类被广泛应用于各种领域,如图像分割2、异常检测3、复杂网络4和环境科学5等.

层次聚类6-8能将数据以树结构组织起来,进而发现数据之间隐含的关系或模式.一方面,传统层次聚类算法的扩展性不佳.由于传统层次聚类算法大多需要计算簇的成对距离,算法的时间开销过大;另一方面,大多数算法在迭代过程中需要对整个数据进行重复计算,中间结果的存储导致内存占用过高.总之,目前的层次聚类算法无法很好地平衡时间和空间的消耗.

为了解决以上问题,本文设计并提出一种新颖的基于改进局部密度的可扩展层次聚类算法DBSC (Density⁃based Scalable Hierarchical Clustering),其利用每个数据项的最近邻来构造最近邻图,在最近邻图上结合互惠最近邻7和局部密度寻找每个最近邻分量最适合的代表点,避免人工结点占用额外内存.为了降低孤立最近邻分量对该步骤的干扰,算法通过二阶最近邻定位并重连至适合的最近邻分量.最后,将每个最近邻图上的结点指派至其代表结点,由代表结点参与后续迭代过程.通过以上步骤,DBSC算法可以构造一棵理想的聚类树,使其兼具良好的扩展性和可理解性,因此可以被用于大规模数据的处理和分析.

本文的创新点如下.

(1)提出一种重连机制,以避免孤立最近邻对代表点选择造成的干扰.该机制利用孤立最近邻结点的二阶最近邻来选择适合的最近邻分量,并将其连接,该操作能保证代表点选择策略对于每个最近邻分量都是有效的.

(2)提出基于改进局部密度的代表点选择策略,能区分最近邻分量上的互惠最近邻结点,这样既可以避免额外的内存占用,又可以提高聚类效果.

(3)通过在真实数据和人工数据上的大量实验研究来验证DBSC算法的性能,证明DBSC的聚类准确度优于其他的基准算法,且在大规模数据上有较好的表现.经过统计学检验,DBSC算法的聚类效果在5%的统计显著水平上优于其他基准算法,证明DBSC是一种十分有效的算法.经过效率和扩展性验证的结果表明,DBSC算法在时间和空间上的需求相对较低,可以在大规模数据上应用.

1 相关工作

层次聚类可以将数据组织成树形结构,方便用户读取和分析数据.根据构造方式的不同,层次聚类分为凝聚式和分裂式两种.凝聚式层次聚类算法通过簇间的邻近度在迭代过程中合并相似的簇,自底向上地构造聚类树.然而不论以何种方式(单连接、全连接等)聚合,都需要进行大量成对距离计算.与之相反,HK⁃means (Hierarchical K⁃means)8是一种典型的分裂式算法,通过K⁃means算法9迭代式地划分当前簇,自上而下地构造聚类树.此类算法原理简单且应用广泛,但较高的复杂度无疑桎梏了该类算法在大规模数据上的应用前景.

为了提高层次聚类算法的可扩展性,利用最近邻关系10代替成对距离进行聚类受到广泛关注.SCC算法11利用最近邻关系改进了层次聚类,加速了簇合并的过程.在此基础上,Monath et al12设计了一种新的数据结构SB⁃Tree,结合流式数据结点插入时间重新调整聚类树以获得更佳的聚类效果.Ros and Guillaume13进一步考虑从互惠最近邻开始聚合其他距离较近的结点构造聚类树,直至所有结点均被分配.RSC算法7借助最近邻构造子簇树,并将互惠最近邻的中点视为代表点.算法迭代过程中,不断聚合代表点来构造聚类树.Huang et al14提出一种基于一致性选择方法的集成层次聚类算法.该算法首先利用多种基本的层次聚类算法来创建主要的聚类,然后利用一种稳健性度量对聚类和分区水平的结果进行评估.此外,面对大规模多模态多目标优化问题,提出一种基于混合层次聚类的多模式进化算法HHC⁃MMEA15.它通过混合分层聚类将解空间中的解聚类成多个组,结合了局部和全局引导向量,加速收敛并生成更多有前途的解.这些算法虽然在加速聚类过程上取得成效,但在平衡聚类效果和资源消耗的问题上还需要进一步优化.

大多数聚类算法在面对不同形状和密度的簇时无法取得令人满意的效果,此时,引出基于密度的聚类DBSCAN算法16,通过密度可达的概念定义核心对象.当选择合适的半径参数Eps和样本数Minpts时,DBSCAN可以发现不同形状的簇,但是参数往往很难确定.之后,Rodriguez and Laio17提出密度峰值聚类(Density Peaks Clustering,DPC)算法,与DBSCAN相比,DPC更易确定参数,且具有较高的聚类准确性,但其基于距离矩阵的方式导致可扩展性没有太多提升.后续工作有多种基于DPC的改进方案,如CFSFDP⁃HD18算法设计一种非参数密度估计方法来优化局部密度;DPCG19算法用网格对象代替对应的数据对象加速计算;VDPC20为了解决簇密度变化的辨别问题,引入了一种新的变分密度峰值聚类算法,旨在有序而自主地执行聚类任务,尤其适用于具备多样密度分布的数据集;DPC⁃NNMS21设计了一种基于自然邻域合并策略的密度峰值聚类算法,通过识别每个数据的自然邻居集,自适应地获得其局部密度.

在面向大规模聚类的应用上,基于密度的算法往往受限于全局密度估计计算带来的高额时间和空间开销,为此,研究者们提出了多种优化方案,例如基于采样策略减少距离计算22、基于K近邻假设改进分配策略23-24等.然而不论采用何种方式,时间和空间开销的平衡仍待解决.最近邻关系在聚类算法中的应用25,尤其是大规模数据处理上备受关注,因为其时间开销小,且最近邻关系所构建的数据结构本就具备高密度区域的特征,而互惠最近邻又可以看作该区域上的局部密度最大的区域.采用基于改进局部密度策略来选择互惠最近邻中更加适合的代表点,不会产生中间变量,因此显著降低了空间上的消耗.综上,该策略可有效应对大规模数据的处理.

2 基础概念

2.1 最近邻

在欧式空间上,对于给定的数据集X=xi1n,对于任意的xi,xj,若xixj满足:

xj=dxjXargministxi,xj

则称xjxi的最近邻7,记作δi1.

2.2 互惠最近邻

设存在向量xixjδi1δj1分别为xixj的最近邻.若满足条件δi1=xjδj1=xi,则称xixj为一对互惠最近邻(Reciprocal Nearest Neighbors,RNN)7,记作.

2.3 最近邻分量

给定一个无向图G=V,E,其中,VX=xi1nE=xi,δi11n.若存在一个子图τ=Vτ,Eτ,其中,VτV,EτE,满足xk,xjVτ,存在一条路径P使xkxj是联通的,则τG的连通子图,称为最近邻分量(Nearest Neighbors Component,NNC).若存在τ*=(Vτ*,Eτ*),其中,Vτ*,则称τ*为孤立最近邻分量(Isolated Nearest Neighbors Component,iNNC).

3 算法描述

DBSC是一种自底向上的层次聚类算法,主要过程包含三个部分:(1)最近邻图的构建NNCsCon;(2)孤立互惠最近邻的重连iNNCsRep;(3)代表点的选择RootsDet.

DBSC的执行流程如算法1所示:

算法1 DBSC算法

输入:数据X,截断阈值α,最大迭代次数t

输出:数据标签L

1.rX

2.for i=0 to t do

3. 𝒯NNCsConr

4. 通过iNNCsRep𝒯 更新 𝒯

5. 通过RootsDet𝒯,α 更新 𝒯

6. if 𝒯=1 then break

7.LLABELING𝒯

8.return L

首先,将数据保存在数据对象集合r中,该集合作为后续计算的输入,记录每轮迭代过程中的根结点(步骤1).然后,算法进入迭代过程(步骤2~6).迭代过程是DBSC的主体,经过构建最近邻图(步骤3)、重连孤立互惠最近邻(步骤4)和检测代表点(步骤5)以迭代的方式更新最近邻分量集合𝒯.循环过程由最大迭代次数t控制.迭代终止后,LABELING将集合𝒯 中的每个最近邻分量视为一个簇,并标记属于不同最近邻分量的结点(步骤7),该标记将作为聚类结果并输出(步骤8).

图1是DBSC算法的一个例子,其中初始结点的分布如图1a所示.图1b展示了DBSC算法的工作流程.首先,NNCsCon计算得到每个初始结点的最近邻并将它们连接起来,当所有结点都与它对应的最近邻连接后,就得到了一组最近邻分量(使用不同颜色表示),其中双向箭头连接的结点是一对互惠最近邻.然后,对于孤立最近邻分量τ*iNNCsRep将计算并定位与它最相近的二阶最近邻所属的最近邻分量τ,并在τ*与其对应的τ之间添加一条连边(用虚线表示).最终,由RootsDet根据局部密度选择合适的代表点(方形结点),这些代表结点将成为下一轮迭代的初始结点.不断重复执行以上步骤,可以进一步构造聚类树.最终,如图1c所示,当候选结点唯一(红色三角)时,DBSC算法运行终止.

图1

图1   DBSC算法的流程

Fig.1   The processing of DBSC


3.1 构建最近邻分量

构造最近邻分量是DBSC的基础步骤,其主要目的是:(1)通过最近邻关系划分数据集;(2)定位每个最近邻分量上的互惠最近邻.使用Ball⁃Tree算法10可以快速获得结点间的最近邻关系,紧接着连接每个最近邻对,如果发现某对结点重复连接,说明该对结点为互惠最近邻,最后从互惠最近邻点开始执行广度优先搜索,就可以得到多个最近邻分量.此外,如果存在孤立最近邻分量,则通过iNNCsRep进行再优化.而RootsDet将通过局部密度在互惠最近邻中选择一个最佳的代表点.

该过程的伪代码如算法2所示.NNCsCon首先初始化一个集合RNNs用于保存互惠最近邻,𝒯用于保存最近邻分量(步骤1),然后计算数据集合r的最近邻关系保存在集合E中(步骤2).接下来,通过一个循环遍历集合E(步骤3~5),当xiδi1没有连接时,连接xiδi1(步骤5).否则,说明xiδi1是互惠最近邻,将其添加至RNNs中(步骤4).最后通过一个循环遍历集合RNNs(步骤6~8),从互惠最近邻结点开始执行广度优先搜索(步骤7),并返回最近邻分量保存在集合𝒯中(步骤8).最后返回最近邻分量集合𝒯 (步骤9).

算法2 NNCsCon算法

输入:数据集合r

输出:最近邻分量集合𝒯

1.RNNs𝒯

2.EgetNearestNeighborsr∥计算每个结点的最近邻

3.for each e=xi,δi1 in E do

4. if xiδi1已连接RNNs.appende∥保存最近邻对

5. else 将xiδi1连接

6.for each RNN in RNNs do

7. τBFSRNN∥通过广度优先搜索遍历NNC

8. 𝒯.appendτ

9.return 𝒯

图2NNCsCon算法流程的示意图,七个结点的初始位置如图2a所示,阴影部分标明它们位于图1的位置.图2b为七个结点之间距离的热力图.由于互惠最近邻会被连接两次,所以被算法轻易地识别出来.如图2c所示,互惠最近邻为结点1和结点2.如图2d所示,在获取互惠最近邻后,算法通过广度优先搜索遍历其孩子结点,即结点4,5和7.最后,直至结点4的最近邻结点3和结点5的最近邻结点6被访问,至此算法得到一个完整的最近邻分量τ,如图2e所示.

图2

图2   NNCsCon算法的流程

Fig.2   The processing of NNCsCon


3.2 重连孤立最近邻分量

由于iNNC的两个节点的密度相等,所以无法有效识别唯一的代表点.为了保证对于每个NNC都存在唯一一个代表点,本文提出一种优化策略.该策略将借助iNNC的二阶最近邻结点定位距离它最近的NNC.然后将iNNC和结点数量较小的NNC相连接.通过该操作,一方面解决最近邻选择策略无法作用于iNNC的问题,另一方面通过增加结点数量以加强局部密度对于选择代表点的作用.

该过程的伪代码如算法3所示.

算法3

iNNCsRep算法

输入:最近邻分量集合𝒯

输出:最近邻分量集合𝒯

1.从𝒯*抽取孤立最近邻集合𝒯

2.For each e=x,y in 𝒯* do

3. 寻找x,y的第二近邻δx2,δy2

4. τx,τyBFSδx2,δx2 ∥通过广度优先搜索寻找NNC

5. If τxτy then 连接τxτ ∥选择结点数量较小的NNC重连

6. Else 连接τyτ

7.return 𝒯

iNNCsRep算法遍历最近邻分量集合𝒯获得孤立最近邻分量集合𝒯 *(步骤1);遍历𝒯 *(步骤2~6),其中,步骤3和步骤4是在循环过程中,首先借助构成孤立最近邻的结点x,y定位它们二阶最近邻δx2,δy2所在的最近邻分量τx,τy;步骤5和步骤6是判断τxτy的结点数量τxτy的大小,将孤立最近邻分量τ*与结点数量较少的最近邻分量重连为一个新的最近邻分量;最后返回𝒯 (步骤7).

图3a展示了τA,τB,τC的相对位置,阴影部分标明它们位于图1的区域,其中τC是孤立最近邻分量,τA,τB分别是构成τC的结点x,y的二阶最近邻δx2,δy2所在的最近邻分量.由于τA=7τB=4,因此,iNNCsRepτBτC重连为一个新的最近邻分量.

图3

图3   iNNCsRep和RootsDet的流程

Fig.3   The processing of iNNCsRep and RootsDet


3.3 寻找代表结点

DBSC的最后一步就是在每个RNN中选择一个结点,该结点将作为最近邻分量的根结点.在后续迭代过程中,代表结点代替最近邻分量中的其余结点参与聚类树的构造.因此,每轮迭代后,需要计算的数据量将大幅减少.本文采用基于密度的代表点选举策略,给定截断阈值α,对于每个最近邻分量τ,都存在唯一一个截断距离dc,计算如下:

dc=MlenM×α

其中,M是将τ的成对距离数组正序排列后的一维数组列表,α代表截断阈值.

给定一个最近邻组件C=V,E,设向量集V=xi1m的点对距离为dij,则向量xi的局部密度ρi定义如下:

ρi=jτχdij-dc

其中,χx=1,x<00,x>0dc为截断距离.

该过程的伪代码如算法4所示.

算法4

RootsDet算法

输入:最近邻分量集合𝒯,截断阈值α

输出:根节点集合r

1.r

2.For each τ in 𝒯 do

3. x,yτ

4. MgetPairsDistancesτ) ∥计算NNC的成对距离

5. dc=MlenM×α ∥确定截断距离

6. ρx,ρy=jτχdij-dc ∥由式(2)计算RNN的局部密度

7. If ρx>ρy then rx ∥选择局部密度大的结点作为根

8. else ry

9. r=rr

10.return r

RootsDet遍历每个最近邻分量τ(步骤2~9)得到对应的根结点r并保存在集合r中(步骤1).在迭代过程中,算法首先获得τ的互惠最近邻结点x,y(步骤3),并计算τ的成对距离以正序排列的方式保存在一维数组M中(步骤4).通过M和截断阈值α计算得到截断距离dc(步骤5,式(1))和结点x,y的局部密度ρx,ρy(步骤6,式(2)).最后通较ρxρy(步骤7~8),选择局部密度最大的结点r作为τ的根结点保存在集合r中(步骤9).

图3b所示,在τA中结点1和结点2是一对互惠最近邻,dc是截断阈值α=0.3时的截断距离.根据式(2),如图3c所示,结点2的局部密度ρ2=4,结点1的局部密度ρ1=5.由于ρ2<ρ1,因此根结点为结点1.

3.4 复杂度分析

DBSC算法主要包括三个步骤:(1)最近邻图的构建NNCsCon;(2)孤立互惠最近邻的重连iNNCsRep;(3)代表点的选择RootsDet.步骤1,每个数据结点被连接到其最近的邻居.在面对多维数据时,通常应用一些快速搜索方法(Ball⁃Tree)26来寻找所有数据结点的最近邻居,其时间复杂度为Onlgn.因此,步骤1的时间复杂度为Onlgn.步骤2,假设iNNC的数量为m,因此遍历每个iNNC的时间复杂度为Om,通过计算和比较NNC中的结点数量来重连每个iNNC的时间复杂度是On,因此,步骤2的时间复杂度是每轮迭代的Om+n.步骤3,由于局部密度的比较,需要对NNC中的结点进行成对距离计算.在一轮迭代中,假设有p个NNC,每个NNC平均有q个结点,因此,步骤3的时间复杂度为Opq2,其中,pq等于当前一轮迭代中的结点数量.考虑最坏的情况,所有检测到的NNC都是iNNC,每轮迭代将提取结点数的一半的根,即每轮迭代都提取一半的结点,在这种情况下DBSC将构建一棵二叉树,进行t=log2n轮迭代.结合步骤1~3,DBSC的总体时间复杂度如下所示:

T=nlgn+n2+pq2iteration 1+n22lgn22+n22+pq2iteration 2+n23lgn23+n23+pq2iteration 3+<n+n22+n23+lgn+12+14+18+n+2n×log2n<O2nlgn+On+O2nlgnOnlgn

由上可知,DBSC的时间复杂度为Onlgn.此外,由于DBSC不需要辅助结点,只有一个参数α是全局驻留的.因此,DBSC的空间复杂度仅为O1.

4 实验

4.1 实验数据集

采用12个真实数据集对算法进行测试,证明本文提出的算法解决现实问题的效果,其中包括七个UCI数据集和五个大型数据集:ALOI27代表物体的三维渲染,地面真相集群指每个物体类型;ILSVRC(Ⅰ)和ILSVRC(Ⅱ)代表ImageNet ILSVRC 201228的图像,其矢量表示源自inception神经网络的最后一层;CovType8代表森林覆盖类型;har代表经过专业注释的15位老人的人类活动识别数据集.以上数据集的基本信息如表1所示.

表1   实验中采用的来源于真实世界的数据集

Table 1  The datasets derived from real⁃world sources used in experiments

编号名称样本数属性类别
1mfeat⁃fourier20007610
2mfeat⁃karhune20006410
3mfeat⁃zernike20004710
4segment2310187
5optdigits56206210
6letter200001626
7avila208671012
8ALOI108K1281000
9ILSVRC(Ⅰ)500K100400
10ILSVRC(Ⅱ)500K100400
11CovType500K547
12har2259K715

新窗口打开| 下载CSV


实验使用的人工数据集是利用在机器学习领域广泛使用的python工具包sklearn生成不同数量的数据集.这些数据集具有十个维度,大小为2n,n9,17.

4.2 评价指标

兰德指数29(Rand Index,RI)考虑所有样本对,计算在预测聚类和真实聚类中分配在相同或不同聚类中的对来计算两个聚类之间的相似性度量.取值为0,1,值越大,说明聚类效果越好,与真实情况越拟合,计算如下:

R=a+bC2n

其中,a表示两种聚类方法中一对元素属于同一簇的次数,b表示在两种聚类方法中一对元素属于不同聚类的次数,C2n表示数据集中可以组成的总元素对数.

调整兰德指数30(Adjusted Rand Index,ARI)通过计算在真实标签和聚类结果中被分配在相同或不同类簇的样本对的个数来进行聚类有效性的评价.其取值为-1,1,值越大,说明聚类效果越好,与真实情况越拟合.计算如下:

ARI=RI-ERImaxRI-ERI

归一化互信息31(Normalized Mutual Information,NMI)可以衡量两个数据分布的吻合程度,表示两个事件集合之间的相关性.其取值为0,1,值越大,说明聚类效果越好,与真实情况越拟合.计算如下:

NMIΩ,C=IΩ;CHΩ+HC/2

其中,IΩ;C表示互信息,HΩ为熵.

4.3 对比算法

对于小规模数据集的参数α=0.70,用DBSC(0.7)表示;对于大规模数据集的参数α=0.50,用DBSC(0.5)表示.此外,对小规模数据集在α=n×0.05n1,14范围内进行参数调优,最优结果用DBSC(opt=α)表示.

RSC7是一种高效的凝聚式层次聚类算法,借助最近邻链和人造结点构造聚类树.

HK⁃means8是一种自顶向下的层次聚类算法,使用K⁃means算法划分并构造聚类树.

SCC11是一种基于一阶最近邻图和传统连接方法的可扩展的凝聚式层次聚类算法.

Munec13是一种凝聚式的层次聚类算法,同时考虑了距离和最近邻对于簇的影响.

DPC17是基于密度峰值的聚类算法,使用决策图选择密度中心进行聚类.

HAC32是传统的凝聚式层次聚类算法,本文算法使用average⁃link方式进行聚类.

Affinity33]是基于Boruvka最小生成树和链接函数的层次聚类.

GRINCH34是一种用于大规模、非贪婪的分层聚类的聚类算法.

streaKHC35是一种流式聚类算法,基于随机划分判断簇间相似性进行点对合并操作.

4.4 实验环境配置

硬件设备CPU为i9⁃12900,内存为64 G,操作系统为Windows 11.编程语言采用Python 3.8.

4.5 参数敏感性

图4所示,使用RIARINMI指标测量的DBSC算法精度在avila,letter,optdigits数据集上波动较小,但是在其他数据集上波动明显,证明DBSC对于参数α的选择略微敏感,但并没有明显趋势.

图4

图4   参数α的敏感性测试

Fig.4   The sensitivity testing of parameter α


4.6 聚类准确性

表2展示了所有算法在七个普通UCI数据集上的表现,表中黑体字表示性能最优,下划线表示性能次优.其中,DBSC(opt=α)表示DBSC的最佳情况,α表示取得最佳效果的参数值.DBSC(0.7)表示当参数α=0.7时DBSC的表现.分析表明,与其他算法相比,DBSC在mfeat⁃fourier,mfeat⁃karhune,mfeat⁃zernike,optdigits,avila五个数据集上的RIARINMI指标均达到最优;在segment数据集上,仅有NMI略低于Affinity算法,letter数据集仅有ARI略低于RSC算法.除此之外,DBSC是表现最好的算法.并且在平均情况下,DBSC全部达到最优.由此可见,DBSC在聚类准确性上优于其他算法.经过分析表明,DBSC即使随机选取一个参数α,在大多数情况下表现仍旧好于其他算法,并且在平均情况下可达到最优.可见,DBSC算法的下限仍高于其他算法的上限.

表2   本文算法和对比算法在UCI数据集上的聚类结果

Table 2  The clustering results of our algorithm and other algorithms on UCI datasets

数据集算法RIARINMI数据集算法RIARINMI
mfeat⁃fourierDBSC(opt=0.65)0.88100.36800.5345mfeat⁃karhuneDBSC(opt=0.2)0.93050.62610.7384
DBSC(0.7)0.83080.32040.5163DBSC(0.7)0.90900.53850.6990
HAC0.18180.00400.0816HAC0.50160.10300.3423
Affinity0.79800.21590.4523Affinity0.89650.50860.6778
DPC0.50360.07960.1897DPC0.72280.17660.3798
GRINCH0.19880.00020.0159GRINCH0.2091<0.00010.0233
HK⁃means0.85620.31690.4557HK⁃means0.89590.39640.5316
Munec0.81680.25810.4821Munec0.87290.32940.6209
RSC0.83670.31950.5046RSC0.88300.51720.7110
SCC0.1028<0.00010.0028SCC0.48690.02610.1333
streaKHC0.86190.30350.4220streaKHC0.87370.35390.4710
mfeat⁃zernikeDBSC(opt=0.35)0.90840.51740.6270segmentDBSC(opt=0.3)0.89100.55840.6396
DBSC(0.7)0.87290.43220.6009DBSC(0.7)0.88620.54340.6246
HAC0.57330.13680.4016HAC0.59830.23940.5757
Affinity0.80360.25920.4650Affinity0.87520.50900.6481
DPC0.49340.02960.0617DPC0.39700.01220.0320
GRINCH0.38000.06010.1636GRINCH0.58970.23850.3908
HK⁃means0.85650.31950.4323HK⁃means0.84120.41650.5391
Munec0.82930.23540.5365Munec0.84280.20520.5154
RSC0.88930.46670.5903RSC0.73110.30430.5329
SCC0.60820.07010.1829SCC0.61480.21390.3669
streaKHC0.86090.31580.4358streaKHC0.85920.46250.5699
optdigitsDBSC(opt=0.15)0.97220.84010.8694letterDBSC(opt=0.4)0.92610.13550.4027
DBSC(0.7)0.95760.76030.8373DBSC(0.7)0.91400.13030.3941
HAC0.89560.55170.7341HAC0.78410.06080.3342
Affinity0.96400.80100.8433Affinity0.90470.12830.3830
DPC0.65510.11460.2730DPC0.06630.00010.0066
GRINCH0.27540.01600.1001GRINCH0.23110.00170.0514
HK⁃means0.91190.53740.6347HK⁃means0.83230.07130.2440
Munec0.77390.17910.5729Munec0.51310.00920.2367
RSC0.86230.48320.7013RSC0.91450.14980.3927
SCC0.71080.19060.3654SCC0.39480.00590.0511
streaKHC0.89460.45150.5507streaKHC0.91250.08360.2396
avilaDBSC(opt=0.15)0.72490.09290.1842MeanDBSC(opt)0.89060.44830.5708
DBSC(0.7)0.71340.06430.1820DBSC(0.7)0.86910.39850.5527
HAC0.2820<0.00010.0328HAC0.54520.15570.3575
Affinity0.71130.05280.1617Affinity0.85050.35350.5188
DPC0.50090.01510.0814DPC0.47700.06110.1463
GRINCH0.29670.00690.0420GRINCH0.31150.04610.1124
HK⁃means0.2598<0.00010.0199HK⁃means0.77910.29320.4082
Munec0.57610.04800.1615Munec0.74640.18060.4466
RSC0.52710.02240.0714RSC0.80630.32330.5006
SCC0.2484<0.00010.0284SCC0.45240.07160.1615
streaKHC0.72240.02450.0886streaKHC0.85500.28500.3968

新窗口打开| 下载CSV


表3展示了所有算法在大型数据集上的表现,表中黑体字表示性能最优,“-”表示由于内存需求过大无法在实验环境中运行的算法.DBSC(0.5)表示参数α=0.5时DBSC的表现.分析表明,与其他算法相比,DBSC在大型数据集上表现优秀,在ILSVRC(Ⅰ),ILSVRC(Ⅱ),har三个数据集上的RIARINMI指标均达到最高.在ALOI数据集上仅有NMI指标略低于RSC算法,在CovType数据集上,ARINMI低于HK⁃means算法.而在平均情况下,DBSC全部达到最优.由此可见,DBSC在大型数据集上的聚类准确性也优于其他算法.

表3   本文算法和对比算法在五个大规模数据集上的聚类结果

Table 3  The clustering results of our algorithm and other algorithms on five large⁃scale datasets

数据集算法RIARINMI数据集算法RIARINMI
ALOIDBSC(0.5)0.99900.45430.7834CovTypeDBSC(0.5)0.61130.03460.1592
HK⁃means0.99210.08640.6701HK⁃means0.59970.09410.1595
RSC0.99620.25650.8004RSC0.56450.00830.0461
SCC0.9900<0.00010.6915SCC0.43160.0504<0.0001
streaKHC0.0901<0.00010.0600streaKHC---
ILSVRC(I)DBSC(0.5)0.98510.04200.3031ILSVRC(Ⅱ)DBSC(0.5)0.99180.04830.3309
HK⁃means0.51810.00020.0439HK⁃means0.57000.00020.0385
RSC0.63430.00110.2042RSC0.98670.02910.3050
SCC0.1585<0.00010.0143SCC0.2696<0.00010.0125
streaKHC---streaKHC---
harDBSC(0.5)0.70490.27180.4406MeanDBSC(0.5)0.85840.17020.4035
HK⁃means0.64090.17490.2679HK⁃means0.66420.07110.2360
RSC0.57950.24760.3851RSC0.75230.10850.3482
SCC---SCC---
streaKHC---streaKHC---

新窗口打开| 下载CSV


4.7 统计学检验评估

为了验证DBSC算法的上述优势具有统计学意义,进行配对t检验.将零假设设为H0:RDBSC-Rbaseline=0,备选假设为Ha:RDBSC-Rbaseline0,其中,RDBSCRbaseline分别代表DBSC和其他算法的聚类精度(用RIARINMI度量).表4展示了所有数据集上的统计测试结果,由表可见,最高的p=0.0277 (streaKHC,RI,黑体标注).证明DBSC算法与其他基线方法相比,在5%的统计显著水平上表现了更优越的性能,即根据统计分析,本文提出的DBSC算法,其聚类准确性优于其他基准方法.

表4   在所有数据集上的成对检验结果

Table 4  The pairwise test results on all datasets

评价指标HACAffinityDPCGRINCHHK⁃meansMunecRSCSCCstreaKHC
RIt⁃value5.02043.02126.847211.01102.71933.86033.12747.61772.5354
p⁃value0.00040.0116<0.0001<0.00010.02000.00270.0096<0.00010.0277
ARIt⁃value4.55083.21364.39964.16853.73693.99723.03344.56984.1749
p⁃value0.00080.00830.00110.00160.00330.00210.01140.00080.0016
NMIt⁃value5.62712.94377.37096.73976.94103.92424.05277.67856.7032
p⁃value0.00020.0134<0.0001<0.0001<0.00010.00240.0019<0.0001<0.0001

新窗口打开| 下载CSV


4.8 效率和可扩展性

为了更好地证明DBSC算法在执行效率上的优势,在增量人工数据集上对所有算法进行响应时间的多项式拟合,结果如表5所示.由表可见,DBSC的拟合结果为1.62,仅次于SCC(1.40)和HK⁃means(1.39).

表5   所有算法响应时间的多项式拟合结果

Table 5  The polynomial fitting results for the response time of all algorithms

算法名称DBSCHACAffinityDPCGRINCH
拟合结果1.622.382.172.233.24
算法名称HK⁃meansMunecRSCSCCstreaKHC
拟合结果1.393.021.701.402.08

新窗口打开| 下载CSV


图5展示了DBSC及其他九个基准算法的响应时间和内存占用情况,其结果在双对数坐标下展示.实验表明,与大多数基准算法相比,DBSC算法的时间和内存消耗较少,对比算法中只有HK⁃means的内存消耗较低.

图5

图5   DBSC的可扩展性验证

Fig.5   The scalability of DBSC validation


综上所述,DBSC的准确性优于所有基准算法,效率和可扩展性仅次于HK⁃means.

5 结论

对于层次聚类算法难以平衡时间和空间的开销问题,本文提出基于改进局部密度的可扩展层次聚类算法.通过最近邻关系构造最近邻图,从局部密度峰值的角度出发,为每个最近邻分量确定最佳代表点以构造子簇树.最终,算法迭代地构造一棵聚类树,并有效地降低了时间和空间的开销.经过大量实验证明,本文提出的算法在聚类精度上优于其他基准算法.此外,本文与其他算法相比,具有更低的时间和空间开销.

综上所述,本文提出的DBSC算法在较低的时间消耗和空间消耗下,能够高效地对数据进行聚类,同时提供可靠的聚类结果,是一种有效且高效的算法,并能够在现实应用中发挥作用.未来将致力于解决参数α在不同最近邻分量的表征问题,进一步提升算法的聚类效果.

参考文献

宋鹏葛洪伟乔宇鑫.

加权最近邻分配的局部间隙密度聚类

南京大学学报(自然科学),202258(5):827-835.

[本文引用: 1]

Song PGe H WQiao Y X.

Weighted nearest neighbor distribution of local gap density clustering

Journal of Nanjing University (Natural Science),202258(5):827-835.

[本文引用: 1]

时照群刘兆伟刘惊雷.

基于相关熵和流形正则化的图像聚类

南京大学学报(自然科学),202258(3):469-482.

[本文引用: 1]

Shi Z QLiu Z WLiu J L.

Image clustering based on correntropy and manifold regularization

Journal of Nanjing University (Natural Science),202258(3):469-482.

[本文引用: 1]

李苓玉刘治平.

基于机器学习的自发性早产生物标记物发现

南京大学学报(自然科学),202157(5):767-774.

[本文引用: 1]

Li L YLiu Z P.

Discovery of spontaneous preterm birth biomarkers based on machine learning

Journal of Nanjing University (Natural Science),202157(5):767-774.

[本文引用: 1]

Habib AAkram MKahraman C.

Minimum spanning tree hierarchical clustering algorithm:A new Pythagorean fuzzy similarity measure for the analysis of functional brain networks

Expert Systems with Applications,2022201117016.

[本文引用: 1]

Dugan H ABartlett S LBurke S Met al.

Salting our freshwater lakes

Proceedings of the National Academy of Sciences,2017114(17):4453-4458.

[本文引用: 1]

Xie W BLiu ZChen Bet al.

Boosting cluster tree with reciprocal nearest neighbors scoring

Engineering Applications of Artificial Intelligence,2024127107438.

[本文引用: 1]

Xie W BLee Y LWang Cet al.

Hierarchical clustering supported by reciprocal nearest neighbors

Information Sciences,2020527279-292.

[本文引用: 5]

Kobren AMonath NKrishnamurthy Aet al.

A hierarchical algorithm for extreme clustering

Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Halifax,CanadaAssociation for Computing Machinery2017255-264.

[本文引用: 4]

Ahmed MSeraj RIslam S M S.

The k⁃means algorithm:A comprehensive survey and performance evaluation

Electronics,20209(8):1295.

[本文引用: 1]

Bentley J L.

Multidimensional binary search trees used for associative searching

Communications of the ACM,197518(9):509-517.

[本文引用: 2]

Monath NDubey K AGuruganesh Get al.

Scalable hierarchical agglomerative clustering

Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. Singapore,SingaporeAssociation for Computing Machinery20211245-1255.

[本文引用: 2]

Monath NZaheer MMcCallum A.

Online level⁃wise hierarchical clustering

Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. Long Beach,CA,USAAssociation for Computing Machinery20231733-1745.

[本文引用: 1]

Ros FGuillaume S.

Munec:A mutual neighbor⁃based clustering algorithm

Information Sciences,2019486148-170.

[本文引用: 2]

Huang Q RGao RAkhavan H.

An ensemble hierarchical clustering algorithm based on merits at cluster and partition levels

Pattern Recognition,2023136109255.

[本文引用: 1]

Ding Z LCao LChen Let al.

Large⁃scale multimodal multiobjective evolutionary optimization based on hybrid hierarchical clustering

Knowledge⁃Based Systems,2023266110398.

[本文引用: 1]

Ester MKriegel H PSander Jet al.

A density⁃based algorithm for discovering clusters in large spatial databases with noise

Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining. Portland,OR,USAAAAI Press1996226-231.

[本文引用: 1]

Rodriguez ALaio A.

Clustering by fast search and find of density peaks

Science,2014344(6191):1492-1496.

[本文引用: 2]

Mehmood RZhang G ZBie R Fet al.

Clustering by fast search and find of density peaks via heat diffusion

Neurocomputing,2016208210-217.

[本文引用: 1]

Xu XDing S FDu M Jet al.

DPCG:An efficient density peaks clustering algorithm based on grid

International Journal of Machine Learning and Cybernetics,20189(5):743-754.

[本文引用: 1]

Wang Y ZWang DZhou Yet al.

VDPC:Variational density peak clustering algorithm

Information Sciences,2023621627-651.

[本文引用: 1]

Ding S FDu WXu Xet al.

An improved density peaks clustering algorithm based on natural neighbor with a merging strategy

Information Sciences,2023624252-276.

[本文引用: 1]

Ding S FLi CXu Xet al.

A sampling⁃based density peaks clustering algorithm for large⁃scale data

Pattern Recognition,2023136109238.

[本文引用: 1]

Xie J YLiu X LWang M Z.

SFKNN⁃DPC:Standard deviation weighted distance based density peak clustering algorithm

Information Sciences,2024653119788.

[本文引用: 1]

Li CDing S FXu Xet al.

Fast density peaks clustering algorithm based on improved mutual K⁃nearest⁃neighbor and sub⁃cluster merging

Information Sciences,2023647119470.

[本文引用: 1]

Xie W BLiu ZDas Det al.

Scalable clustering by aggregating representatives in hierarchical groups

Pattern Recognition,2023136109230.

[本文引用: 1]

Liaw Y CLeou M LWu C M.

Fast exact k nearest neighbors search using an orthogonal search tree

Pattern Recognition,201043(6):2351-2358.

[本文引用: 1]

Geusebroek J MBurghouts G JSmeulders A W M.

The Amsterdam library of object images

International Journal of Computer Vision,200561(1):103-112.

[本文引用: 1]

Russakovsky ODeng JSu Het al.

ImageNet large scale visual recognition challenge

International Journal of Computer Vision,2015115(3):211-252.

[本文引用: 1]

Rand W M.

Objective criteria for the evaluation of clustering methods

Journal of the American Statistical Association,197166(336):846-850.

[本文引用: 1]

Hubert LArabie P.

Comparing partitions

Journal of Classification,19852(1):193-218.

[本文引用: 1]

Yang YShen F MHuang Zet al.

Discrete nonnegative spectral clustering

IEEE Transactions on Knowledge and Data Engineering,201729(9):1834-1845.

[本文引用: 1]

Bouguettaya AYu QLiu X Met al.

Efficient agglomerative hierarchical clustering

Expert Systems with Applications,201542(5):2785-2797.

[本文引用: 1]

Bateni M HBehnezhad SDerakhshan Met al.

Affinity clustering:Hierarchical clustering at scale

Proceedings of the 31st Conference on Neural Information Processing Systems. Long Beach,CA,USACurran Associates Inc.20176867-6877.

[本文引用: 1]

Monath NKobren AKrishnamurthy Aet al.

Scalable hierarchical clustering with tree grafting

Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Anchorage,AK,USAAssociation for Computing Machinery20191438-1448.

[本文引用: 1]

Han XZhu YTing K Met al.

Streaming hierarchical clustering based on point⁃set kernel

Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. Washington,DC,USAAssociation for Computing Machinery2022525-533.

[本文引用: 1]

/