聚类是数据挖掘、模式识别等许多研究领域中的基本问题之一,聚类分析的目的是将给定的数据集划分为紧凑的聚类,使聚类内的数据对象比不同的聚类中的数据对象更加相似。其中谱聚类可以适应更广泛的几何形状,并检测非凸模式和线性不可分离的簇,而不存在局部最优问题,被广泛用于数据挖掘和图像分割。
谱聚类算法虽然性能良好,但由于其计算复杂度高,很难适用于大规模的数据集。近些年来,研究人员为了加快谱聚类算法的计算速度和降低谱聚类算法对于大规模数据集的计算复杂度问题,探索研究了一系列的方法来提高谱聚类算法对于大规模数据集的可拓展性。Li等[1]提出了一种精确的、可扩展的Nystrom算法,使用最近的随机低秩矩阵逼近算法对内部子矩阵进行近似的SVD,降低随机采样引起的不稳定性和采样误差。赵晓晓等[2]结合稀疏表示和约束传递,提出一种结合稀疏表示和约束传递的半监督谱聚类算法,进一步提高了聚类准确率。Ding等[3]提出一种基于hmrf模型的半监督近似谱聚类算法,利用hmrf半监督聚类与近似加权核k均值之间的数学联系,利用近似加权核k-均值计算hmrf谱聚类的最优聚类结果。He等[4]提出了一种有效的大规模数据谱聚类方法,谱聚类的复杂度比现有的Nystrom近似在大规模数据上的复杂度要低。显著加快谱聚类中的特征向量逼近和效益预测速度。林大华等[5]针对现有子空间聚类算法没有利用样本自表达和稀疏相似度矩阵,提出了一种新的稀疏样本自表达子空间聚类方法,所获得的相似度矩阵具有良好的子空间结构和鲁棒性。Yang等[6]提出了一种新的基于层次二部图的谱聚类方法,采用无参数而有效的邻域分配策略构造相似矩阵,避免了调整相似性矩阵的需要,大大降低了算法的计算复杂度。虽然众多改进的谱聚类算法在一定程度上减小了谱聚类的时间复杂度,但仍然要对拉普拉斯矩阵进行特征分解,对于大规模的数据集来说内存消耗过大,具有巨大的空间复杂度。最近,深度学习[7]在计算机视觉、语音识别和自然语言处理中得到了广泛的研究。一些深度学习的方法已经被提出来用于数据聚类[8]。Tian等[9]利用叠加稀疏自编码器得到原始图的非线性嵌入,然后对嵌入表示进行k-均值聚类,得到聚类结果,用叠加的自动编码器代替特征分解,有效地降低了计算复杂度。Shao等[10]提出了一种新的快速图谱聚类深度线性编码方案,该方法同时学习了线性变换和编码,并利用深层结构进一步细化了识别特征。Song等[11]提出了一种新的基于自编码网络的聚类方法,通过设计数据与聚类中心之间距离的约束,得到了一种更适合于聚类的稳定而紧凑的表示形式。这种深层次的结构可以学习到强大的非线性映射,数据可以很好地在变换后的空间中进行分割。上述基于深度自编码的聚类算法可以提高大规模应用的效率,但它们都需要使用整个数据集的相似度矩阵作为自动编码器的输入,保存了所有数据点的相似性,由于内存消耗大,不适用于大规模数据集。
本文采用加权PageRank算法,选取数据亲和图中最具代表的点作为地标点。以选定的地标点与其他数据点之间的相似关系来逼近相似度矩阵作为叠加自动编码器的输入,通过采样几个数据点来代替所有数据点。用叠加式自动编码器代替拉普拉斯矩阵的特征分解,然后进行k-means聚类。同时进一步改进聚类和嵌入表示,通过迭代优化基于Kullback Leibler(KL)散度的聚类损失,将聚类和表示联合更新,从而能够获得更强大的表示和更精确的聚类结果。
1 相关算法理论 1.1 基于加权PageRank算法的地标选择PageRank算法[12]是使用最广泛的页面排序算法之一。但是原始PageRank算法也存在一些问题,假设两个节点
$ {\rm PR}\left( u \right) = \left( {1 - d} \right) + d\sum\limits_{v \in B\left( u \right)} {\frac{{{\rm PR}\left( v \right)}}{{{N_v}}}} $ | (1) |
其中,
加权PageRank算法在文献[13]中提出,加权PageRank算法根据节点的重要性为节点分配排序值。这种重要性是根据传入链路和传出链路的权重来分配的,其中,链路表示各自的基于内容的关系,分别以
$ w_{\left( {a,b} \right)}^{\rm in} = \frac{{{i_b}}}{{\displaystyle\sum\limits_{c \in {R_a}} {{i_c}} }} $ | (2) |
其中,
$ w_{\left( {a,b} \right)}^{\rm out} = \frac{{{o_b}}}{{\displaystyle\sum\limits_{c \;\in {R_a}} {{o_c}} }} $ | (3) |
其中,
$ {\rm wpr}\left( b \right) = \left( {1 - d} \right){\rm wpr}\left( a \right) + d\sum\limits_{a \in R\left( b \right)} {{\rm wpr}\left( a \right)} w_{\left( {a,b} \right)}^{\rm in}w_{\left( {a,b} \right)}^{\rm out} $ | (4) |
在每次迭代中,所有节点的
$ \frac{{{\rm wpr}{{\left( b \right)}_{{\rm iter} - 1}} - {\rm wpr}{{\left( b \right)}_{{\rm iter}}}}}{{{\rm wpr}{{\left( b \right)}_{{\rm iter}}}}} \leqslant \beta $ | (5) |
其中,分数是前一次迭代与当前迭代之间的归一化差值,
在文献[14-15]中,提出了基于地标点的谱聚类算法来加速谱聚类,在给定
给定数据矩阵
${{\hat{ x}}_{i}} = \sum\limits_{{{j = 1}}}^{{p}} {{{{z}}_{{{ji}}}}} {{{u}}_{{j}}}$ | (6) |
根据稀疏编码策略,假设当
${{{z}}_{ji}} = \frac{{\varPhi \left( {{{{x}}_{{i}}}, {{\rm{u}}_{{j}}}} \right)}}{{\displaystyle\sum\limits_{j' \in {U_{\left\langle i \right\rangle }}} {\varPhi \left( {{{{x}}_{{i}}}, {{\rm{u}}_{{j}}}} \right)} }}\begin{array}{*{20}{c}} ,&{i \in 1,2, \cdot \cdot \cdot } \end{array},n,{\rm and},j \in {U_{\left\langle i \right\rangle }}$ | (7) |
其中,
如果计算所有数据点的相似性矩阵并将其作为堆叠式自动编码器的输入,对于大型数据集来说空间消耗非常高。代替计算给定数据与所有其他数据点的相似性,本文算法只考虑选择的地标点与其他数据点之间的相似性。在这里重写了如下拉普拉斯矩阵的形式:
${{{L}}_{{\rm{new}}}} ={{ S}}{{{S}}^{\rm{T}}}$ | (8) |
在这里使用
${{{d}}_{{{2ii}}}} = \sum\nolimits_{{i}} {{{{w}}_{{{ij}}}}} = \sum\nolimits_{\rm{i}} {{\hat{ z}}_{{i}}^{\rm{T}}} {{\hat{ z}}_{{j}}}$ | (9) |
对式(11)进行运算演化可以得到:
$ {{{d}}_{{{2ii}}}} = \sum\limits_{{{j = 1}}}^{{n}} {{{{w}}_{{{ij}}}}} = \sum\limits_{{{j = 1}}}^{{n}} {{\hat{ z}}_{{i}}^{\rm{T}}} {{\hat{ z}}_{{j}}}= {{ \hat z}}_{{i}}^{\rm{T}}\sum\limits_{{{j = 1}}}^{{n}} {{{{\hat{ z}}}_{{j}}}} {{ = \hat z}}_{{i}}^{\rm{T}}{{\hat{ Z}}^{{s}}} $ | (10) |
其中,
${{{D}}_{\rm{2}}}{\rm{ = diag}}\left( {{{{\hat{ Z}}}^{\rm{T}}}{{{\hat{ Z}}}^{{s}}}} \right)$ | (11) |
在这里新的拉普拉斯矩阵的构造如下:
$ {{{L}}_{{\rm{new}}}}={{ D}}_{{2}}^{{{{{ - 1}}} / {{2}}}}{{WD}}_{{2}}^{{{{\rm{ - 1}}} / {\rm{2}}}}={{ D}}_{{2}}^{{{{{ - 1}}} / {{2}}}}{{\hat{ Z}}^{\rm{T}}}{\hat{ ZD}}_{{2}}^{{{{{ - 1}}} / {{2}}}} $ | (12) |
$ {{S} ={ D}}_{\rm{2}}^{{{{\rm{ - 1}}} / {\rm{2}}}}{{\hat{ Z}}^{\rm{T}}} $ | (13) |
最后,将相似度矩阵
自动编码器是一种用于有效编码和降维的无监督学习的人工神经网络。自动编码器的目的是使原始输入
$ {L_r} = \sum\limits_{i = 1}^N {l\left( {{x_i},g\left( {f\left( {{x_i};{\theta _1}} \right);{\theta _2}} \right)} \right)} $ | (14) |
其中,
虽然用自编码器配合得到聚类结果,有效地降低了计算复杂度,减小了空间复杂度。但是,由于需要计算和保存所有数据点的相似关系,因此内存消耗进一步增加。学习表示与聚类分离,嵌入表示是不可靠的,对聚类有负面影响。为了将聚类和学习表示联合更新,并且能够获得更强大的表示和更精确的聚类结果,将这两个过程集成到一个具有基于KL散度的聚类损失函数的单一框架中,并迭代地优化了自动编码器和聚类中心的参数。聚类损失被定义为分布在
$ {L_c} = KL\left( {P\left\| Q \right.} \right) = \sum\limits_i {\sum\limits_j {{p_{ij}}} } \log \frac{{{p_{ij}}}}{{{q_{ij}}}} $ | (15) |
其中,
$ {q_{ij}} = \frac{{{{\left( {1 + {{\left\| {{y_i} - {c_j}} \right\|}^2}} \right)}^{ - 1}}}}{{\displaystyle\sum\limits_j {{{\left( {1 + {{\left\| {{y_i} - {c_j}} \right\|}^2}} \right)}^{ - 1}}} }} $ | (16) |
${p_{ij}} = \frac{{{{q_{ij}^2} / {\displaystyle\sum\limits_i {{q_{ij}}} }}}}{{\displaystyle\sum\limits_j {\left( {{{q_{ij}^2} / {\displaystyle\sum\limits_i {{q_{ij}}} }}} \right)} }}$ | (17) |
因为,
$L = {L_c} + \lambda {L_r}$ | (18) |
其中,
利用最小批量随机梯度下降可以得到自动编码器的聚类中心和参数的优化,计算出
$\frac{{\partial {L_c}}}{{\partial {y_i}}} = 2{\sum\limits_{j = 1}^k {\left( {1 + {{\left\| {{y_i} - {c_j}} \right\|}^2}} \right)} ^{ - 1}}\left( {{p_{ij}} - {q_{ij}}} \right)\left( {{y_i} - {c_j}} \right)$ | (19) |
$\frac{{\partial {L_c}}}{{\partial {c_j}}} = 2{\sum\limits_{i = 1}^k {\left( {1 + {{\left\| {{y_i} - {c_j}} \right\|}^2}} \right)} ^{ - 1}}\left( {{q_{ij}} - {p_{ij}}} \right)\left( {{y_i} - {c_j}} \right)$ | (20) |
${M_1} = {M_1} - \frac{\eta }{m}\displaystyle\sum\limits_{i = 1}^m {\left( {\frac{{\partial {L_c}}}{{\partial {M_1}}} + \lambda \frac{{\partial {L_r}}}{{\partial {M_1}}}} \right)} $ | (21) |
译码器的权重公式更新如下:
${M_2} = {M_2} - \frac{\eta }{m}\sum\limits_{i = 1}^m {\left( {\frac{{\partial {L_r}}}{{\partial {M_2}}}} \right)} $ | (22) |
聚类中心
${c_j} = {c_j} - \frac{\eta }{m}\sum\limits_{i = 1}^m {\frac{{\partial {L_c}}}{{\partial {c_j}}}} $ | (23) |
式中:
加权PageRank改进地标表示的自编码谱聚类算法步骤:
输入 数据集
输出 实际聚类数目
1) 根据式(2)~(4)计算
2) 通过式(7)计算稀疏表示矩阵
3) 通过式(12)计算新的拉普拉斯矩阵
4) 使用
5) 在最后一个隐藏层的嵌入表示
假设从
在本文算法实验中,选取了几个数据量较大的数据集进行实验,它们分别为手写数字数据集USPS、Pendigits、MNIST、英文字母表数据集LetterRec和UCI数据库中的数据集CoverType,表1给出了数据集的详细特征。本文算法实验是在Python 3.6,计算机的硬件配置为Intel Core i7-7700 CPU 3.60 GHz、16 GB内存的平台下进行。
总体而言,提出的方法在ACC和NMI上均优于其他所列的对比方法。
本文算法与文献[1]中基于nystrom的方法,文献[9]中基于叠加稀疏自动编码器聚类方法GraEn,文献[10]中基于深度学习编码的快速图聚类方法DLC,文献[14-15]基于地标点采样的快速谱聚类方法LSC-R和LSC-K,文献[17]中深层嵌入聚类方法DEC和文献[19]基于改进可拓展的nystrom方法RSNy这些算法进行实验对比。
本文实验的具体的实验参数设置如下:基于地标点采样的快速谱聚类方法LSC有两个参数需要设置,分别为地标点
为了验证本文算法的性能,采用文献[20]中聚类准确率ACC和归一化互信息NMI两种聚类度量指标来对聚类结果进行评估和分析比较。ACC和NMI的取值范围都在
根据表2可以看出,基于聚类准确率(ACC)的实验结果表明,提出的加权PageRank改进地标表示的自编码谱聚类算法在USPS、Pendigits、MNIST、LetterRec、Covtype数据集上相较于基于nystrom的方法、基于地标点采样的快速谱聚类方法、基于深度学习自编码的快速图聚类方法都取得了最好的结果,所提方法在聚类准确率方面都优于以上所提其他方法。特别是在MNIST数据集上,GraEn、DLC、DEC和提出的方法这些基于深度学习自编码的谱聚类方法的聚类结果均明显高于传统nystrom的方法、RSNy方法和基于地标点的方法(LSC-R,LSC-K),其中相较于传统nystrom的方法,本文所提的方法在MNIST数据集上聚类准确率方面提高了35.91%。相较于基于地标点的快速谱聚类方法LSC-R,提高了30.71%。可以看出,所提方法相较于这些方法聚类精度的提高是巨大的。相较于其他几种快速谱聚类方法,所提方法在MNIST数据集上分别提高了18.73%和16.91%,总体而言也是相当可观。同时,从表中可以看出基于地标点的方法在USPS、Pendigits、LetterRec和Covtype数据集上的聚类准确率比基于自编码的方法在一定程度上还要好。但是所提的方法相较于这些方法而言,实验得到的聚类准确率方面均是最优的。
同时,根据表3可以看出所提的方法与其他几种方法相比在NMI上均得到了提高,并且相较于其他几种方法是最优的。同样在MNIST数据集上,所提的方法相较于传统nystrom方法和基于地标的快速谱聚类方法都取得了大幅的提高。相对于传统nystrom方法和基于地标点的谱聚类方法LSC-R,所提的方法在NMI上分别提高了40.31%和29.22%,在其他数据集上,所提的方法相较于其他方法而言也均有不同幅度的提高。从表2和表3中均可以看出,对于最原始的基于自编码的方法GraEn。在MNIST数据集上,它的ACC和NMI相较于传统nystrom方法和基于地标点的谱聚类方法而言均有所提高。与DEC方法相比,DEC方法的ACC和NMI分别提高了4.69%和8.96%,结果表明,联合更新聚类中心和学习嵌入表示可以提高聚类结果,这也适用于其他4个数据集。尽管在USPS数据集上,基于自编码的方法的聚类精度没有基于地标点方法的聚类精度好,但是在其他几个高维大规模数据集上基于自编码的方法在聚类精度方面要更好,说明基于自编码的方法和所提的方法更加适用于高维的大规模数据。
总体而言,提出的方法在ACC和NMI上均优于其他所列的对比方法。
图1和图2显示了选取的3个不同的数据集中,随着地标点数量
Download:
|
|
Download:
|
|
由图2可知,所提的方法在LetterRec和Covtype数据集上在初始阶段,随着地标点的增加NMI存在低于其他方法的情况,这是因为所选LetterRec数据集的字符图像基于26种不同的字体,26种字体中的每一个字母都被随机扭曲。Covertype数据集是一个从地图变量预测森林覆盖类型的数据集,它们都主要是在荒野地区发现的,所以覆盖类型在实际地理上是非常接近的,相对于其他手写数字数据集而言,这两个数据集数据特性更加复杂。并且在选取较少地标点时,采用加权PageRank算法选择地标点与随机选择地标点和基于k-menas算法选择地标点相比并不能展现出较大的优势,所以在选取较少地标点时聚类性能存在低于其他方法的情况,但在总体情况下,随着选取地标点的增多,所提算法展现出较快的增长优势和较好的聚类性能,在地标点达到1 000左右时趋于稳定,展现出均优于对比算法的聚类性能。
4 结束语本文提出了一种加权PageRank改进地标表示的自编码谱聚类算法,该算法利用加权PageRank算法选取数据亲和图中最具代表性的点作为地标点,然后以选定的地标点与其他数据点之间的相似度矩阵作为叠加自动编码器的输入,以减少内存消耗,用叠加式自动编码器代替拉普拉斯矩阵的特征分解,降低了时间复杂度。通过迭代优化基于KL散度的聚类损失对聚类进行了进一步细化,结合重构损失和聚类损失考虑了数据的局部结构,同时更新了自动编码器和聚类中心的参数。证明了该方法对不同类型数据集的有效性,实验结果表明,与传统谱聚类算法、基于地标点的谱聚类算法和其他基于深度学习自编码的方法相比,在几个大规模的数据集上,提出的方法具有更好的聚类性能。在未来,致力于研究更加有效的地标点采样方法,结合优化的自动编码器从而更好的提高谱聚类的聚类性能。
[1] | LI Mu, BI Wei, KWOK J T, et al. Large-scale nyström kernel matrix approximation using randomized SVD[J]. IEEE transactions on neural networks and learning systems, 2015, 26(1): 152-164. DOI:10.1109/TNNLS.2014.2359798 (0) |
[2] |
赵晓晓, 周治平. 结合稀疏表示与约束传递的半监督谱聚类算法[J]. 智能系统学报, 2018, 13(5): 855-863. ZHAO Xiaoxiao, ZHOU Zhiping. A semi-supervised spectral clustering algorithm combined with sparse representation and constraint propagation[J]. CAAI transactions on intelligent systems, 2018, 13(5): 855-863. (0) |
[3] | DING Shifei, JIA Hongjie, DU Mingjing, et al. A semi-supervised approximate spectral clustering algorithm based on HMRF model[J]. Information sciences, 2018, 429: 215-228. DOI:10.1016/j.ins.2017.11.016 (0) |
[4] | HE Li, RAY N, GUAN Yisheng, et al. Fast large-scale spectral clustering via explicit feature mapping[J]. IEEE transactions on cybernetics, 2019, 49(3): 1058-1071. DOI:10.1109/TCYB.2018.2794998 (0) |
[5] |
林大华, 杨利锋, 邓振云, 等. 稀疏样本自表达子空间聚类算法[J]. 智能系统学报, 2016, 11(5): 696-702. LIN Dahua, YANG Lifeng, DENG Zhenyun, et al. Sparse sample self-representation for subspace clustering[J]. CAAI transactions on intelligent systems, 2016, 11(5): 696-702. (0) |
[6] | YANG Xiaojun, YU Weizhong, WANG Rong, et al. Fast spectral clustering learning with hierarchical bipartite graph for large-scale data[J/OL]. Pattern recognition letters: (2018-06-22). https://www.sciencedirect.com/science/article/abs/pii/S016786551830271X. DOI: 10.1016/J.PATREC.2018.06.024. (0) |
[7] | LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature14539 (0) |
[8] | SHAHAM U, STANTON K, LI H, et al. SpectralNet: spectral clustering using deep neural networks[J]. arXiv:1801.01587, 2018. (0) |
[9] | TIAN Fei, GAO Bin, CUI Qing, et al. Learning deep representations for graph clustering[C]//Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence. Québec City, Canada, 2014: 1293−1299. (0) |
[10] | SHAO Ming, LI Sheng, DING Zhengming, et al. Deep linear coding for fast graph clustering[C]//Proceedings of the 24th International Conference on Artificial Intelligence. Buenos Aires, Argentina, 2015: 3798−3804. (0) |
[11] | SONG Chunfeng, LIU Feng, HUANG Yongzhen, et al. Auto-encoder based data clustering[C]//Proceedings of the 18th Iberoamerican Congress on Pattern Recognition. Havana, Cuba, 2013: 117−124. (0) |
[12] | PAGE L, BRIN S, MOTWANI R, et al. The PageRank citation ranking: bringing order to the web. SIDL−WP−1999−0120[R]. Technical Report, California: Stanford Digital Libraries, 1999. (0) |
[13] | XING W, GHORBANI A. Weighted PageRank algorithm[C]//Proceedings of Second Annual Conference on Communication Networks and Services Research. Fredericton, Canada, 2004: 305−314. (0) |
[14] | CHEN Xinlei, CAI Deng. Large scale spectral clustering with landmark-based representation[C]//Proceedings of the Twenty-Fifth AAAI Conference on Artificial Intelligence. San Francisco, USA, 2011: 313−318. (0) |
[15] | CAI Deng, CHEN Xinlei. Large scale spectral clustering via landmark-based sparse representation[J]. IEEE transactions on cybernetics, 2015, 45(8): 1669-1680. DOI:10.1109/TCYB.2014.2358564 (0) |
[16] | BENGIO Y, COURVILLE A, VINCENT P. Representation learning: a review and new perspectives[J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(8): 1798-1828. DOI:10.1109/TPAMI.2013.50 (0) |
[17] | XIE Junyuan, GIRSHICK R B, FARHADI A. Unsupervised deep embedding for clustering analysis[C]//Proceedings of the 33rd International Conference on Machine Learning. New York, USA, 2016: 478−487. (0) |
[18] | LI Mu, ZHANG Tong, CHEN Yuqiang, et al. Efficient mini-batch training for stochastic optimization[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA, 2014: 661−670. (0) |
[19] | LI Mu, KWOK J T, LU Baoliang. Making large-scale Nyström approximation possible[C]//Proceedings of the 27th International Conference on Machine Learning. Haifa, Israel, 2010: 631−638. (0) |
[20] | CHEN W Y, SONG Yangqiu, Bai Hongjie, et al. Parallel spectral clustering in distributed systems[J]. IEEE transactions on pattern analysis and machine intelligence, 2011, 33(3): 568-586. DOI:10.1109/TPAMI.2010.88 (0) |