开放科学(资源服务)标志码(OSID):
聚类是将数据按照一定的相似性度量规则分为多个不同的类别,将差异小的样本尽可能聚为同一类,将差异大的样本聚为不同的类。聚类算法在处理数据之前无需指定数据集的标签信息,属于无监督的机器学习领域,被广泛应用在图像处理和模式识别等领域[1]。根据算法特点大致分为基于划分的聚类算法(如K-means算法)、基于层次的聚类算法(如BIRCHIS算法)、基于密度的聚类算法(如DBSCAN算法)、基于网格的聚类算法(如STING算法等[2])。对于凸数据集,许多聚类算法都能获得较好的聚类效果,但是对于非凸数据集则难以识别复杂的数据集从而无法很好的聚类。由于谱聚类算法在非凸数据集上有较好的聚类效果,近年谱聚类算法的研究迅猛发展[3-4]。谱聚类算法将数据集中的每个点视为图的顶点,并将任意两点之间的相似性视为连接两个顶点的边的权重。根据图划分方法,将图分为几个不连续的子图,子图中包含的点集则是聚类后生成的簇[5]。
尽管谱聚类算法在实践中取得了良好的性能,但作为一种新的聚类方法仍处于发展阶段,有许多问题需要进一步研究。谱聚类算法的聚类性能主要由相似性矩阵的构造决定。在现有相似性矩阵的研究中,大多数研究都是基于欧几里得距离、余弦相似度或高斯核函数来评估数据点之间的相似度。文献[6]提出一种基于数据本身蕴含信息的集成度量学习方法的谱聚类算法。文献[7]通过将数据集样本表示为稀疏的线性组合,通过构造最优化问题的模型,使该方法能较好地反映数据空间的局部一致性,从而提升系统的鲁棒性。文献[8]提出一种自适应谱聚类技术,用于处理多尺度数据集,它没有选择全局参数
对于构造谱聚类算法中相似性矩阵,目前研究大多采用K最近邻(K-Nearest Neighbor,KNN)图构建相似图,并基于密度敏感项改进的欧几里得距离相似性度量来评价样本点之间的相似性。然而基于KNN图构建的相似图通常会引入冗余连接,并且易受噪声影响,噪声样本点使聚类质心不准确。这两个因素会降低谱聚类性能使其出现错误的聚类结果[17],需根据经验确定K最近邻的值,使最终聚类效果具有不确定性。基于欧几里得距离的相似性度量也存在着无法揭示某些复杂数据集的真实簇的问题,尤其是不能很好地分离数据集。因不同群集中某些数据点相距不远,噪声的存在也会使数据集无法很好地分离。由于许多实际数据集没有很好地分离,很难找到正确的聚类,因此提出一种对未分离的数据集具有鲁棒性的聚类算法是十分必要。
本文以相似性矩阵构造为切入点,提出一种基于共享邻的密度自适应邻域谱聚类算法(SC-DANSN),构建无需指定初始参数的相似图,并将共享最近邻作为样本点之间的相似性度量,以减少噪声信息在分离数据集上的影响,并解决谱聚类算法相似性度量无法准确反映数据空间结构的问题。
1 谱聚类谱聚类是一种基于图论的聚类方法。通过对数据集相似矩阵进行谱分析得到较好的聚类结果。谱聚类的概念起源于谱划分,谱划分将数据聚类转换为无向图的多向划分问题[18]。谱聚类算法将数据点定义为无向图
$ {S}_{ij}=\left\{\begin{array}{ll}\mathrm{e}\mathrm{x}\mathrm{p}(-{d}^{2}({p}_{i}, {p}_{j})/(2{\sigma }^{2}\left)\right), i\ne j& \\ 0, i=j& \end{array}\right. $ | (1) |
其中,
算法1 谱聚类
输入 数据集D,聚类数目K
输出 K个簇的集合
步骤1 通过KNN邻域或
步骤2 生成对应规范化的拉普拉斯矩阵
步骤3 计算拉普拉斯矩阵
步骤4 用K-means算法对
谱聚类算法主要是构建相似性矩阵,在此之前,先构建能反映样本空间的无向图。主要方法是基于KNN图或ε邻域图,其缺点是对参数的选取敏感,不能较好地反映数据空间。
聚类是基于相似性度量形成点组,因此同组内的点之间相似度很高,而来自不同群体点的相似度很低。邻居包括本地相似的点,因此数据点及其邻居应位于同一簇中。
在2个数据集上使用KNN和
![]() |
Download:
|
图 1 聚类问题示例邻域的构建 Fig. 1 Construction of example neighborhoods for clustering problem |
本文采用一种密度自适应的邻域构造(Neighborhood Construction,NC)算法克服KNN和ε邻域方法的局限性。算法的流程如图 2所示。
![]() |
Download:
|
图 2 密度自适应邻域构建流程 Fig. 2 Construction process of density adaptive neighborhood |
在构建密度自适应邻域算法之前,定义以下概念:
直接连接:当且仅当
间接连接:如果
NC算法描述如下:
算法2 密度自适应邻域构建算法
输入 数据集D
输出 密度自适应最终邻居集合
步骤1 列出D中除点
步骤2 初始化
步骤3 初始化
步骤4 初始化
步骤5 初始化
NC算法最终输出的密度自适应邻居集可以构造密度自适应的无向图
在构建局部自适应邻域后可以生成无向图。为实现谱聚类算法应先对该无向图加权,权重即为数据点之间的相似度。目前谱聚类算法广泛使用基于欧氏距离的相似性度量,这种相似性度量有时难以反映数据点之间的真实相似程度[18]。因此考虑一种基于共享最近邻的新相似性度量,并将其与局部自适应邻域构建相结合,从而形成一种改进的谱聚类算法。本文基于局部自适应邻域图中共享的最近邻来测量数据点之间的相似度。
设
![]() |
Download:
|
图 3 点1和点2的共享邻居示意图 Fig. 3 Schematic diagram of shared neighbors of point 1 and point 2 |
通过考虑两个测量点之间的关系来重新定义图中两个点的共享邻居集合。
$ {N}_{i}\bigcap {N}_{j}=\left\{\begin{array}{ll}{N}_{i}\bigcap {N}_{j}\bigcup \left\{{x}_{ij}^{\mathrm{\text{'}}}\right\}, {X}_{i}\mathrm{和}{X}_{j}\mathrm{互}\mathrm{为}\mathrm{邻}\mathrm{居}& \\ {N}_{i}\bigcap {N}_{j}, \mathrm{其}\mathrm{他}& \end{array}\right. $ | (2) |
其中,
根据式(2)定义共享邻居的集合来测量成对相似性。许多基于共享邻居的聚类方法都将成对相似性视为共享邻居数量的函数。如果2个数据点具有更多共享的邻居,则它们具有较高的成对相似性。但仅考虑共享最近邻居的数量可能会导致测量结果错误。在2种不同情况下点1和点2的3个邻居如图 4所示。点1和点2在图 4(a)中具有2个共享邻居,而在图 4(b)中它们具有1个共享邻居。如果仅考虑共享邻居数量,图 4(a)中的点1和点2的成对相似度高于图 4(b)中的点。图 4(b)中点1和点2非常接近,它们的成对相似度应高于图 4(a)。因此仅考虑共享邻居的数量可能会忽略数据点的紧密度。
![]() |
Download:
|
图 4 点Ⅰ和点2的3个最近邻居 Fig. 4 Three nearest neighbors of point 1 and point 2 |
为测量成对相似度
$ {W}_{ij}=\sum\limits_{{X}_{r}\in {N}_{i}\bigcap {N}_{j}}(k-{i}_{r}^{\mathrm{t}\mathrm{h}}+1)(k-{j}_{r}^{\mathrm{t}\mathrm{h}}+1) $ | (3) |
为了进行统计分析,考虑在
$ {S}_{ij}=\frac{{W}_{ij}}{\mathrm{m}\mathrm{a}\mathrm{x}\left\{{W}_{ij}\right\}} $ | (4) |
相似矩阵
$ \boldsymbol{S}=({S}_{ij}{)}_{i, j=\mathrm{1, 2}, \cdots , n} $ | (5) |
通过对DAN进行加权构建一种基于共享邻的局部自适应邻域相似矩阵。
2.3 基于共享最近邻的密度自适应邻域谱聚类为提高传统谱聚类算法对相似性矩阵构造参数的敏感性,以及相似性度量难以准确反映复杂数据和非凸数据的结构,增加聚类算法结果的稳定性。本文在原有谱聚类算法的基础上,结合一种密度自适应邻域构建方法,并通过共享最近邻进行样本点的相似性衡量,提出一种新的基于共享近邻的密度自适应邻域谱聚类算法SC-DANSN。利用密度自适应邻域构建方法构建无向图DAN;通过最终邻居集基于共享最近邻对DAN的边进行加权;生成相似矩阵,并计算相应的拉普拉斯矩阵和度矩阵,再进行特征向量的计算,最终通过K-means算法进行聚类得到最终的聚类结果。
算法3 基于共享最近邻的密度自适应邻域谱聚类算法
输入 数据集D聚类数目K
输出 K个簇的集合
步骤1 通过NC算法构建密度自适应邻域,并生成无向图DAN,列出DAN中共享最近邻集合。
步骤2 如果DAN中的连通子图数大于K,则在最近的连通子图之间插入边。相应地更新已连通子图的数量和DAN图,直到连通子图数等于K。
步骤3 基于共享最近邻测量成对相似度
步骤4 根据相似矩阵
步骤5 计算拉普拉斯矩阵
步骤6 通过K-means算法对
SC-DANSN算法主要由3部分构成,第1部分为通过NC算法构造DAN图,具体分为5步,步骤1和步骤2的时间复杂度由密度计算确定,该步骤的程序执行次数与样本点个数n成103增长,即时间复杂度为
实验环境为Intel® CoreTMi7-6700HQ CPU@2.60 GHz,内存为8.0 GB;编程环境为PyCharm;在Windows10操作系统的计算机上进行测试。通过在人工数据集和UCI数据集上进行实验,评估和分析所提算法。
为了比较和分析聚类结果,在以下实验中采用评估2种聚类性能方法归一化互信息(NMI)[18]和兰德指数(RI)[20]。
归一化互信息(NMI)被广泛用于评估聚类算法性能。令
$ N(C, C\text{'})=\frac{2\varphi (C, C\text{'})}{\varphi \left(C\right)+\varphi \left(C\text{'}\right)} $ |
其中:
N值越大表示聚类结果越好,N最大为1,表示所有数据点均被正确分类。
兰德指数(RI)用于测量2个群集的相似性,考虑到同群集和不同群集中存在的数据点数量。RI将群集标签分配视为数据点之间的成对关系,表明每对数据点可以分配给相同的群集,还可以属于不同的群集。对于具有N个数据点的数据集,RI的计算如下:
$ \begin{array}{l}R(U, V)=\left(\begin{array}{c}{N}_{lk}\\ 2\end{array}\right)-\left[\sum\limits_{l}\left(\begin{array}{c}{N}_{l.}\\ 2\end{array}\right)\cdot \sum\limits_{k}\left(\begin{array}{c}{N}_{.k}\\ 2\end{array}\right)\right]/\left(\begin{array}{c}N\\ 2\end{array}\right)/\\ \left((1/2)\left[\sum\limits_{l}\left(\begin{array}{c}{N}_{l.}\\ 2\end{array}\right)+\sum\limits_{k}\left(\begin{array}{c}{N}_{.k}\\ 2\end{array}\right)\right]-\\ \left[\sum\limits_{l}\left(\begin{array}{c}{N}_{l.}\\ 2\end{array}\right)\cdot \sum\limits_{k}\left(\begin{array}{c}{N}_{.k}\\ 2\end{array}\right)\right]/\left(\begin{array}{c}N\\ 2\end{array}\right)\right)\end{array} $ |
其中,
在人工合成数据集中随机选取4个数据集,分别测试K-means、SC-KNN、SC-DANSN算法的聚类效果。采用的数据集属性如表 1所示。
![]() |
下载CSV 表 1 人工合成数据集参数设置 Table 1 Parameters setting of artificial datasets |
聚类结果如图 5~图 8所示。在凸数据集Five_cluster,K-means、SC-KNN和SC-DANSN算法均能正确的聚类如图 7所示,而在其他3个非凸数据集,K-means算法效果最差(见图 5、图 6、图 8)。本次实验固定SC-KNN算法的核参数为5,K最近邻为20即构建相似图时选取20个最近的邻居作为构图参数。由于SC-KNN算法受限于相似矩阵构建时参数的影响,聚类效果不稳定,需要不断地尝试选择参数来实现正确的聚类。本次实验中SC-DANSN算法的共享最近邻数量也设为20。由于SC-DANSN算法采用一种密度自适应邻域方法来构造相似图,无需指定构建相似图的参数信息,只需指定共享最近邻的数量以测量成对相似性。由于SC-DANSN算法无参构造相似图的特性,无需像传统谱聚类算法要不断尝试构造相似图的参数,所以其聚类效果稳定并能正确聚类。对于加入噪声的数据集Cluto_t4,SC-KNN算法无论进行何种调参,噪声样本都无法很好地分离。而SC-DANSN算法通过引入共享最近邻能较好地分离噪声信息,在3种算法中抗噪声性能最优。
![]() |
Download:
|
图 5 ThreeCircles数据集聚类结果 Fig. 5 The clustering results of ThreeCircles datasets |
![]() |
Download:
|
图 6 TwoMoons数据集聚类结果 Fig. 6 The clustering results of TwoMoons datasets |
![]() |
Download:
|
图 7 Five_cluster数据集聚类结果 Fig. 7 The clustering results of Five_cluster datasets |
![]() |
Download:
|
图 8 Cluto_t4数据集聚类结果 Fig. 8 The clustering results of Cluto_t4 datasets |
为进一步验证SC-DANSN算法的有效性,随机选取UCI机器学习库的4个真实数据集。4个数据集的属性如表 2所示。
![]() |
下载CSV 表 2 UCI数据集参数设置 Table 2 Parameters setting of UCI datasets |
本次实验对每种数据集进行10次独立的实验,对于SC-KNN、SC-DANSN算法,取K值从5~50步长为5,K在SC-KNN算法中代表K最近邻数量,在SC-DANSN算法中代表共享最近邻的数量。经过10次独立的试验后,K-means、SC-KNN、SC-DANSN算法在UCI数据集的RI和NMI值的平均值如表 3所示。结果表明基于RI和NMI准则,在4种UCI数据集中,SC-DANSN算法的聚类效果最好,SC-KNN次之,两种算法聚类结果相似。由于K-means基于划分的聚类规则,对于非凸数据集分离效果不好,相比其他谱聚类算法,其聚类效果最差。
![]() |
下载CSV 表 3 UCI数据集实验结果 Table 3 Experimental results of UCI datasets |
为验证SC-DANSN算法对参数选择的不敏感性,使用SC-DANSN和SC-KNN算法对4个UCI数据集的最近邻数K的变化进行聚类实验。SC-DANSN和SC-KNN算法在K值选取4个最佳结果时的敏感性如图 9~图 12所示,可以看出,SC-DANSN算法对参数K的敏感性更小。
![]() |
Download:
|
图 9 Iris数据集实验结果 Fig. 9 Experimental results of Iris dataset |
![]() |
Download:
|
图 10 Breast数据集实验结果 Fig. 10 Experimental results of Breast dataset |
![]() |
Download:
|
图 11 Wine数据集实验结果 Fig. 11 Experimental results of Wine dataset |
![]() |
Download:
|
图 12 Ecoli数据集实验结果 Fig. 12 Experimental results of Ecoli dataset |
本文提出一种基于共享最近邻的密度自适应邻域谱聚类算法SC-DANSN,以降低谱聚类算法对构造相似图的参数敏感性并充分分离数据集。该算法的相似性度量是基于无向DAN图中共享的最近邻居的接近度,与基于无向KNN图的传统谱聚类算法相比,其对共享最近邻居数K不敏感。实验结果表明,在人工合成数据集和UCI真实数据集上,SC-DANSN分离复杂结构和含噪声数据集的性能优于传统的谱聚类算法。下一步考虑使用分布式和并行算法构造相似性矩阵并计算特征向量,并将谱聚类算法应用于大数据集。
[1] |
AGGARWAL C C, REDDY C K. Data clustering: algorithms and applications[M]. London, UK: Taylor and Francis Group, 2014: 4-7.
|
[2] |
ANTER A, HASSENIAN A E, OLIVA D. An improved fast fuzzy c-means using crow search optimization algorithm for crop identification in agricultural[J]. Expert Systems with Applications, 2019, 118: 340-354. DOI:10.1016/j.eswa.2018.10.009 |
[3] |
DING S, JIA H, ZHANG L, et al. Research of semi-supervised spectral clustering algorithm based on pairwise constraints[J]. Neural Computer&Applications, 2014, 24: 211-219. DOI:10.1007/s00521-012-1207-8 |
[4] |
WANG L, DING S, JIA H. An improvement of spectral clustering via message passing and density sensitive similarity[J]. IEEE Access, 2019, 7: 101054-101062. DOI:10.1109/ACCESS.2019.2929948 |
[5] |
LUXBURG U V. A tutorial on spectral clustering[J]. Statist. Comput, 2007, 17(4): 395-416. |
[6] |
NIU K, ZHANG X Q, JIA G J. Integrated spectral clustering based on distance metric learning[J]. Computer Engineering, 2015, 41(1): 207-210. (in Chinese) 牛科, 张小琴, 贾郭军. 基于距离度量学习的集成谱聚类[J]. 计算机工程, 2015, 41(1): 207-210. DOI:10.3969/j.issn.1000-3428.2015.01.038 |
[7] |
QIAO X M, PAN X Y. Robust spectral clustering algorithm based on sparse graph[J]. Application Research of Computers, 2018, 35(6): 1-2. (in Chinese) 乔晓明, 潘晓英. 基于稀疏图的鲁棒谱聚类算法[J]. 计算机应用研究, 2018, 35(6): 1-2. |
[8] |
ZELNIK-MANOR L, PERONA P. Self-tuning spectral clustering[C]//Proceedings of the Advances in Neural Information Processing Systems. Cambridge, USA: MIT Press, 2004: 1601-1608.
|
[9] |
LIU X Y, LI J W, YU H, et al. Adaptive spectral clustering based on shared nearest neighbors[J]. Journal of Chinese Computer System, 2011, 32(9): 1876-1880. |
[10] |
TAO X M, SONG S Y, CAO P D, et al. A spectral clustering algorithm based on manifold distance kernel[J]. Information and Control, 2012, 41(3): 307-313. |
[11] |
NG A Y, JORDAN M I, WEISS Y. On spectral clustering: analysis and an algorithm[C]//Proceedings of Advances in Neural Information Processing Systems. Cambridge, USA: MIT Press, 2002: 849-856.
|
[12] |
LI Z, LIU J, CHEN S, et al. Noise robust spectral clustering[C]//Proceedings of the 11th IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2007: 361-368.
|
[13] |
ZHANG X, LI J, YU H. Local density adaptive similarity measurement for spectral clustering[J]. Pattern Recognition Letters, 2011, 32(2): 352-358. DOI:10.1016/j.patrec.2010.09.014 |
[14] |
CAO J, CHEN P, YUN Z, et al. A max-flow-based similarity measure for spectral clustering[J]. ETRI Journal, 2013, 35(2): 311-320. DOI:10.4218/etrij.13.0112.0520 |
[15] |
XIONG C, JOHNSON D M, CORSO J J. Spectral active clustering via purification of the $k$-nearest neighbor graph[C]//Proceedings of International Conference on Data Mining. Washington D.C., USA: IEEE Press, 2012.
|
[16] |
CHENG S Q, HAO W Y, LI C, et al. Low-rank tensor decomposition based multi-view spectral clustering algorithm[J]. Journal of Xi'an Jiaotong University, 2019, 54(3): 119-125. (in Chinese) 程士卿, 郝问裕, 李晨, 等. 低秩张量分解的多视角谱聚类算法[J]. 西安交通大学学报, 2019, 54(3): 119-125. |
[17] |
SUN L, LIU R, XU J, et al. An affinity propagation clustering method using hybrid Kernel function with LLE[J]. IEEE Access, 2018, 6: 68892-68909. DOI:10.1109/ACCESS.2018.2880271 |
[18] |
JANANI R, VIJAYARANI S. Text document clustering using spectral clustering algorithm with particle swarm optimization[J]. Expert Systems with Applications, 2019, 134: 192-200. DOI:10.1016/j.eswa.2019.05.030 |
[19] |
NKAYA T, KAYALGIL S, ÖZDEMIRAL N E. An adaptive neighborhood construction algorithm based on density and connectivity[J]. Pattern Recognition Letters, 2014, 52: 17-24. |
[20] |
TAO X M, WANG R T, CHANG R, et al. Spectral clustering algorithm using density-sensitive distance measure with global and local consistencies[J]. Knowledge-Based Systems, 2019, 170: 26-42. DOI:10.1016/j.knosys.2019.01.026 |