南京大学学报(自然科学), 2021, 57(4): 575-581 doi: 10.13232/j.cnki.jnju.2021.04.005

基于多层次特征的深度集成聚类算法

杜淑颖1,2, 侯海薇1, 丁世飞,1

1.中国矿业大学计算机科学与技术学院, 徐州,221116

2.徐州生物工程职业技术学院信息管理学院,徐州,221000

Deep ensemble clustering based on multi⁃level features

Du Shuying1,2, Hou Haiwei1, Ding Shifei,1

1.School of Computer Science and Technology, China University of Mining and Technology, Xuzhou,221116,China

2.School of Information Management, Xuzhou Vocational College of Bioengineering, Xuzhou, 221000, China

通讯作者: E⁃mail:dingsf@cumt.edu.cn

收稿日期: 2020-11-27   网络出版日期: 2021-07-30

基金资助: 国家自然科学基金.  61976216.  61672522
江苏高校“青蓝工程”

Received: 2020-11-27   Online: 2021-07-30

摘要

深度聚类在高维较大数据集中应用广泛,得益于神经网络强大的数据特征提取能力,但目前的深度聚类特征提取一般集中在神经网络的中间层,忽略了浅层特征的有用信息.为解决上述问题,提出一种基于神经网络多层特征提取的集成聚类算法(Deep Ensemble Clustering Based on Multi⁃Level Features,DCMLF),使用三个只有卷积层数不同而其他参数相同的网络结构提取同一个输入的不同层次特征,并进行集成聚类.通过不同层次特征组合实验验证浅层特征对聚类结果的影响,并证明该算法同经典的传统聚类算法以及经典的深度聚类算法相比,聚类性能有所提升.

关键词: 神经网络 ; 特征提取 ; 深度聚类 ; 集成聚类

Abstract

Deep clustering is widely used in high⁃dimensional large datasets,due to the powerful capability of data feature extraction by neural networks. However,the current deep clustering feature extraction is generally concentrated in the middle layer of the neural network,ignoring the useful information of the shallow features. And different framework of neural networks are often required when facing different structured datasets. In order to solve the above problems,we propose an ensemble clustering algorithm based on multi⁃level feature extraction (DCMLF).Three network structures with different layers of convolutional are used to extract different hierarchical features of the input and perform integrated clustering. Experiments with different levels of feature combination prove the impact of shallow features on the clustering results,and the algorithm has improved clustering performance compared with classic traditional clustering algorithms and classic deep clustering algorithms.

Keywords: neural network ; feature extraction ; deep clustering ; ensemble clustering

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

本文引用格式

杜淑颖, 侯海薇, 丁世飞. 基于多层次特征的深度集成聚类算法. 南京大学学报(自然科学)[J], 2021, 57(4): 575-581 doi:10.13232/j.cnki.jnju.2021.04.005

Du Shuying, Hou Haiwei, Ding Shifei. Deep ensemble clustering based on multi⁃level features. Journal of nanjing University[J], 2021, 57(4): 575-581 doi:10.13232/j.cnki.jnju.2021.04.005

一般而言,聚类是将没有分类标签的数据集分为若干个簇的过程,是一种无监督的分类方法1.聚类在机器学习、图像识别、计算机视觉等领域都是基本问题,并且已经有大量的聚类算法2-6.传统的聚类算法依赖输入数据,而不同的数据集需要采用不同的相似度衡量方法和分离技术且在大型数据集上通常计算复杂度很高,而且随着互联网技术的发展以及大数据的推动,数据变得越来越复杂,维度越来越高,所以对数据降维和特征提取方法的研究日益广泛7.目前的数据转换方法包括线性转换(如主成分分析8)和非线性转换(如内核方法9).

深度神经网络可以将原始输入映射到特征空间,自动达到数据降维和特征学习的目的而不需要人为操作,有利于更好地聚类10,所以基于深度神经网络的聚类,即深度聚类随之产生.神经网络提取的显著特征使聚类算法能够更好地进行聚类,而聚类结果又能作为监督信号对神经网络进行监督训练,二者相辅相成,使深度聚类在复杂数据集上有很好的聚类效果.

目前,深度聚类可以概括为两个框架:一是先训练神经网络,然后利用神经网络进行特征提取,如自动编码器、卷积神经网络、生成对抗网络、深度信念网络等,再使用传统的聚类算法进行聚类,如k⁃means、谱聚类、层次聚类等;二是将神经网络训练、特征提取和聚类同时进行,通过一个损失函数将它们联系起来得到聚类结果.经典的无监督DEC (Deep Embedded Clustering)聚类算法11利用自动编码器提取网络特征,提出目标辅助函数,再利用KL散度对聚类损失函数进行优化.DEC算法后又出现多个变体,如针对微调时只有聚类损失函数导致特征空间扭曲而加入重构损失函数的IDEC (Improved Deep Embedded Clustering)算法12;为了更好地处理图像数据集而将全连接自动编码器变为卷积自动编码器的CAE(Convolutional Autoencders)+k⁃means算法13;将聚类和特征提取任务统一的DEPICT(Deep Embedded Regularized Clustering)算法14,目标函数在KL散度的基础上加入正则化项,使聚类在最佳的子空间中进行;将降维和k⁃means聚类联合的DCN(Deep Clustering Network)算法15,通过加入适当的约束使降维后的子空间更适合k⁃means算法,为神经网络与聚类的融合提供函数优化设计的思想.这两类框架都提高了聚类的性能,但两类框架的特征提取都集中在中间层一层,忽略了其他层特征包含的重要信息.神经网络有强大的特征提取能力,且在特征提取阶段,各层特征对聚类结果都比较重要:如浅层特征可以提取数据的颜色、角度等,而深层的特征提取,由于不断的卷积操作使感受野的范围不断扩大,会提取一些说不清道不明的特征,即所谓的抽象特征.

针对以上问题,本文利用神经网络提取多层次特征的集成聚类 算法(Deep Ensemble Clustering Based on Multi⁃Level Features,DCMLF),通过提取不同层神经网络的特征得到更全面的特征信息,提升聚类效果.本研究使用三个卷积神经网络,分别利用一层卷积、二层卷积、三层卷积,它们除了卷积层数不同,其余的神经网络参数完全相同,保证对同一个输入对象提取的是其三个层次的特征.通过对三个层次特征的集成聚类与单一的三层卷积结果相比较,发现聚类效果得到提升,证明其浅层特征对聚类结果亦有重要影响.

1 相关原理

1.1 自动编码器

自动编码器11由编码器和解码器两部分组成.深度聚类中,编码器可以将高维的输入转换到低维的特征空间进行聚类,解码器与编码器对称,将特征空间还原为输入,通过最小化均方差函数保证特征空间的特征向量是有用的信息.fW·是编码器函数,gU·是解码器函数,如下式所示:

fWx=δWx=h
gUh=δUh
L=gUfWx-x2

其中,xh是输入向量和中间向量,δ是非线性激活函数,WU为编码器和解码器的参数.

最初的自动编码器是堆叠的全连接层,为了更好地处理图像数据集将全连接层变为卷积层.

1.2 集成聚类

集成聚类将对同一个数据集合的多个划分结果利用一致性函数统一为一个聚类结果16,所以集成聚类主要包括两个重要部分:一是得到聚类成员,二是选择一致性函数.得到聚类成员的方法分三类:(1)每次聚类都使用相同的聚类算法,目前多采用k⁃means,为了获得不同的聚类结果要求每次初始化的参数都不同;(2)每次聚类采用不同的聚类方法得到不同的聚类结果,再通过一致性函数得到最终结果;(3)将数据的特征空间通过添加约束映射到多个子空间进行聚类.一致性函数目前主要有投票法、基于超图的划分以及证据积累.投票法共享单次聚类结果对数据集划分的信息,根据每次的聚类结果对数据集的划分进行投票,然后设定一定的阈值,达到阈值就将其划分到这个簇中.基于超图划分的一致性函数将每次聚类结果都用超图表示,超边表示簇,超边的顶点表示属于该簇的数据点,将超图进行最小分割并用基于图论的聚类算法得到最终的聚类结果.证据积累是将每次聚类的结果看作一次独立的证据,然后计算其中两个数据点被划分到同一个簇的次数来得到共协矩阵,最终使用基于最小生成树的层次聚类来得到聚类结果.

本研究对数据集在一层卷积、二层卷积以及三层卷积的不同特征空间的特征信息采用相同的k⁃means聚类算法,通过集成聚类得到最终结果.

2 基于神经网络多层次特征提取的集成聚类算法

本文算法的结构主要由一层卷积自动编码器、二层卷积自动编码器、三层卷积自动编码器提取的特征以及集成聚类结果组成.为了保证提取同一个输入对象的三个不同层次特征,卷积自动编码器的神经网络参数完全相同,区别只在卷积层数的差异,如图1所示.

图1

图1   基于卷积自动编码器集成聚类算法的结构

Fig.1   The structure diagram of ensemble clustering algorithm based on convolutional autoencoders


可以看到,本文算法利用三个卷积自动编码器进行特征提取,而一层、二层与三层卷积自动编码器在相应层数对应的神经网络参数完全相同,这样可以保证本网络结构尽可能提取输入图像的三个不同层次的特征.三个子网络编码器部分的设置具体分别为:

Conv325FC10
Conv325Conv645FC10
Conv325Conv645Conv1283FC10

Convmn表示该卷积层滤波器的数量为m个,卷积核的大小为n×n,步长每层默认为2.为了得到输入图像尽可能有用的特征,先使用均方差函数对网络进行训练,并保存输入图像的三层特征;然后对三层特征分别利用k⁃means进行多次聚类.聚类过程既使用三个层次的特征,丰富了特征信息,又进行了多次的k⁃means,降低k⁃means结果的不稳定性.将聚类结果存储到划分矩阵中,在划分矩阵中通过投票法得到共协矩阵,最后利用层次聚类得到最终的聚类结果.

2.1 多层次特征提取

使用自动编码器的结构来保证中间层提取的特征信息尽可能有用,使用三个卷积参数相同而只有卷积层数不同的网络结构提取多层次特征.

使用卷积自动编码器,省略逐层预训练,将图像直接输入卷积层,经过卷积之后得到输入特征;然后利用Flatten层将特征空间拉平变成向量,紧接着连接一个只有10个神经单元的Dense层.这样不仅降低了输入数据集的维度,有利于后续聚类的进行,而且避免解码器复制输入导致无法提取有用特征.特征提取之后利用全连接层、Reshape层、反卷积层重构输入,利用均方差函数训练神经网络.为了区别于基本的全连接自动编码器,加入“*”代表卷积操作,xh分别是输入向量和中间层向量,δ是非线性激活函数,WU分别为编码器和解码器的参数,fW·是编码器函数,gU·是解码器函数,如下式所示:

fWx=δW*x=h
gUh=δU*h

2.2 证据积累算法

证据积累算法17是集成聚类中常用的一致性函数,通过共协矩阵将不同的数据划分集成为统一的划分.首先通过k⁃means随机初始化聚类中心获得不同的聚类结果,得到划分矩阵P,数据对xi,xj在划分矩阵P中被划分到同一个簇中,则共协矩阵co_associ,j加一,然后通过单连接得到距离矩阵Z,最后通过层次聚类得到最终的聚类结果.

基于多层次特征提取的集成聚类算法如下.

算法 基于多层次特征的深度集成聚类算法

输入:数据集X=x1,x2,,xn,聚类数量k,循环次数r

输出:将数据集划分成C1,C2,,CKi=1kCi=X

初始化:设定循环次数r,设定n×n共协矩阵,设定

n×r划分矩阵,并初始化为零

步骤1. 使用均方差损失函数训练神经网络

L=gUfWx-x2

步骤2. 从不同卷积神经网络的嵌入层提取不同层次的特征

步骤3. 循环r次:

for i=0;i<ri+=3 do

对feature1使用k⁃means算法聚类,存储聚类结果至P:,i

对feature2使用k⁃means算法聚类,存储聚类结果至P:,i+1

对feature3使用k⁃means算法聚类,存储聚类结果至P:,i+2

最终得到划分矩阵P

步骤4. 应用证据积累算法获得最终的聚类结果

3 实 验

为了评估本文算法的性能,选用三个图像数据集进行实验,对同一张图像可视化不同卷积次数之后的特征图,展现特征图之间的差异性,进而说明多层次特征的必要性.为了验证多层次特征对实验结果的重要性,对不同层次特征进行组合实验,选用准确率和标准互信息作为评估标准.选择k⁃means,SAE(Stacked Autoencoders)+k⁃means,CAE+k⁃means,DEC,IDEC,EAC(Evidence Accumulation)18算法作为对比算法.

3.1 数据集描述

MNIST⁃test数据集包含一万张图像,像素大小为28×28;USPS数据集包含9298张灰度的手写数字照片,像素大小为16×16;DIGITS数据集包含1797张图像,像素大小为8×8.数据集的统计信息如表1所示.

表1   数据集的信息

Table 1  The information of datasets

数据集数据点维度类别
MNIST⁃test1000078410
USPS929825610
DIGITS17976410

新窗口打开| 下载CSV


3.2 实验设置

为了验证本文算法能提取不同层次特征进行聚类而得到更好结果,三个卷积网络除了卷积层次不同,其余参数均相同.第一层卷积滤波器数量为32,卷积核大小为5,步长2;第二层卷积滤波器数量为64,卷积核大小为5,步长2;第三层卷积滤波器数量为64,卷积核大小为3,步长2.三层卷积使用的网络结构与DCEC中的三层卷积相同,为了保证特征空间得到的特征尽可能为有用信息,使用均方差作为损失函数,使用三层卷积自动编码器进行实验,实验结果如图2图3所示.

图2

图2   MNIST⁃test训练曲线

Fig.2   The training curve of MNIST⁃test


图3

图3   USPS 训练曲线

Fig.3   The training curve of USPS


可以看到,USPS和MNIST⁃test数据集在epoch次数为200时损失函数和准确率基本达到稳定.由于DIGITS数据集维度较小,样本数量较少,三层网络只需训练很少的次数就能达到稳定,训练次数对其影响较小,所以选择与USPS及MNIST⁃test相同的epoch次数.在将聚类结果进行集成的过程中,将k⁃means在各层特征聚类的循环总次数r设定为六次,每个特征进行两次k⁃means.

3.3 评估标准

3.3.1 准确度

准确度(Accuracy,ACC19是算法聚类分配的正确率,如式(6)所示:

ACC=maxmi=1n1yi=mcin

其中,yi是真实标签,ci是通过算法产生的聚类分配,n是数据点的个数,m是映射函数,将聚类分配与标签一一对应.

3.3.2 标准化互信息

互信息指两个随机变量之间的关联程度,标准化互信息(Normalized Mutual Information,NMI20是将互信息归一化为0到1,如式(7)所示:

NMIY,C=IY,C12HY+HC

其中,Y表示真实标签,C表示聚类标签,I是互信息,H是熵.

3.4 实验内容
3.4.1 不同卷积层次网络的特征图

卷积层一般用于处理图像数据集,所以在卷积层中数据都以三维的形式存在,可以看作是将多个二维图像进行堆叠,如果是彩色图像就有三个特征图.通过可视化不同卷积层之后的特征图展现不同卷积次数之后特征图的差异性,由于它们的特征向量、抽象特征不同,通过将多个特征向量融合可以使特征更加全面化.

输入原始图像及经过各层卷积之后的特征融合图如图4所示.将一层卷积后的64张特征图进行1∶1融合得到图4b,同理可以得到两层卷积和三层卷积的特征融合图(图4c和图4d),可以更直观地看到,随着卷积层数的加深,特征在不断变化.图4b具有较清晰的图像具体外观,图像轮廓最清晰,几乎保留完整的视觉直观的信息;而图4d经过三层卷积之后,和一层卷积相比,特征变得相对抽象,对一些信息(如小猫的胡须)进行了过滤,转而细化放大局部信息,如猫眼猫耳等.通过特征图的对比,发现在卷积过程中,输入图像的一些信息会被逐渐忽视,所以将忽视的信息与抽象的特征信息联合进行聚类,有助于提高聚类效果.

图4

图4   输入原始图像(a)及使用一层(b)、二层(c)、三层(d)卷积得到的特征融合图

Fig.4   The original image (a) and the feature fusion maps obtained by one layer (b), two layers (c) and three layers (d)


3.4.2 不同层次特征实验比较

为了验证不同层次特征对实验结果的重要性,以DIGITS数据集为例进行多个不同特征空间的组合实验,Feature1,Feature2,Feature3分别表示一层卷积、二层卷积以及三层卷积之后的特征,FeaturemFeaturen表示使用m层和n层卷积特征进行聚类.实验结果如表2所示,表中黑体字表示最优的实验结果.

表2   不同层次特征实验结果

Table 2  The experimental results of our algorithm with different levels of features

FeatureDIGITS
ACCNMIARI
Feature379.9674.6367.93
Feature3,Feature180.0974.9168.11
Feature3,Feature280.0274.8468.07
Feature3,Feature2,Feature180.6575.1168.54

新窗口打开| 下载CSV


可以看出,只用三层卷积之后的Feature3得到的聚类准确率最低,而用三个层次特征进行聚类的ACCNMI以及ARI三个聚类指标均为最高,且用两个层次特征进行聚类的聚类指标都比单个特征的聚类指标高.证明不同层次特征对聚类结果都有一定程度的影响,多层次特征使特征更全面,更有益于聚类性能的提升.

3.4.3 实验结果比较

表3表4(表中黑体字表示最优的实验结果)证明本文算法的聚类结果与基本的k⁃means算法以及其他五种算法相比都有提高,DEC,SAE+k⁃means以及IDEC使用了相同的初始化权重.与CAE+k⁃means相比,证明多层特征提取有利于聚类性能的提升;与DEC和IDEC相比,本文算法没有进行网络预训练及过多的超参数设置,但通过多层特征提取以及集成聚类也能提高聚类结果.为了更充分地论证提取多层特征的重要意义,还与集成聚类算法EAC进行对比.本文多层次提取特征的思想也可用于其他网络结构以达到更好的聚类效果.为了将实验结果的评价指标进行更直观的表达,各项算法的评价指标对比如图5所示.可以看出,本文算法位于图中的最顶端,表明聚类效果优于其他算法.

表3   各类算法的聚类准确率比较

Table 3  The ACC of our algorithm and other algorithms

MethodsMNIST⁃testUSPSDIGITS
DCMLF79.9074.5180.65
k⁃means54.6366.8279.24
SAE+k⁃means66.8161.65-
CAE+k⁃means79.0074.1578.29
DEC69.9469.2856.26
IDEC71.4572.1076.90
EAC54.5166.7379.52

新窗口打开| 下载CSV


表4   各类算法的标准化互信息比较

Table 4  The NMI of our algorithm and other algorithms

MethodsMNIST⁃testUSPSDIGITS
k⁃means50.1862.6674.22
SAE+k⁃means55.5957.27-
CAE+k⁃means72.5573.3075.40
DEC67.6970.1857.05
IDEC69.4072.2372.38
EAC50.2562.6074.06
DCMLF74.1273.6675.11

新窗口打开| 下载CSV


图5

图5   各算法评价指标对比

Fig.5   The comparison of evaluation indexes of various algorithms


4 结 论

本文提出一种基于神经网络多层次特征提取的集成聚类算法DCMLF,既利用了神经网络能够提取多层次特征的能力,又利用了集成聚类能够提高聚类结果鲁棒性的优势.DCMLF算法利用三个卷积自动编码器提取三层特征,使特征信息更全面;利用证据积累算法将不同层次特征的聚类结果进行集成,可减缓神经网络参数初始化的不确定性导致结果的不稳定性.实验结果表明,DCMLF算法在不同大小、不同维度的图像数据集中都有较高的准确率,和基于单层次特征的提取方法相比,准确率有所提高,说明层次特征的多样性在聚类性能提升中发挥着重要的作用.本文提取多层次特征的方法也适用于其他网络结构,为提取多层次特征提供了一种思路.今后将加强对神经网络训练的研究,使网络提取的特征信息更有效,进而提高聚类效果的性能.

参考文献

金建国.

聚类方法综述

计算机科学,201441(S2):288-293.

[本文引用: 1]

Jin J G.

Review of clustering method

Computer Science,201441(S2):288-293.

[本文引用: 1]

Ding SJia H JZhang L Wet al.

Research of semi⁃supervised spectral clustering algorithm based on pairwise constraints

Neural Computing and Applications,201424(1):211-219.

[本文引用: 1]

Hershey J RChen ZLe Roux Jet al.

Deep clustering:Discriminative embeddings for segmentation and separation

∥IEEE International Conference on Acoustics,Speech and Signal Processing. Shanghai,ChinaIEEE201631-35.

贾洪杰丁世飞史忠植.

求解大规模谱聚类的近似加权核k⁃means算法

软件学报,201526(11):2836-2846.

Jia H JDing S FShi Z Z.

Approximate weighted kernel k⁃means for large⁃scale spectral clustering

Journal of Software,201526(11):2836-2846.

黄鹏飞张道强.

拉普拉斯加权聚类算法

电子学报,200836(S1):50-54.

Huang P FZhang D Q.

Weighted laplacian clustering algorithm

Acta Electronica Sinica,200836(S1):50-54.

Caron MBojanowski PJoulin Aet al.

Deep clustering for unsupervised learning of visual features

Proceedings of the European Conference on Computer Vision. Springer Berlin Heidelberg2018132-149.

[本文引用: 1]

Aljalbout EGolkov VSiddiqui Yet al.

Clustering with deep learning:Taxonomy and new methods

2018,arXiv:.

[本文引用: 1]

Wang Z QLe Roux JHershey J R.

Alternative objective functions for deep clustering

∥2018 IEEE International Conference on Acoustics,Speech and Signal Processing. Calgary,CanadaIEEE2018686-690.

[本文引用: 1]

张素智陈小妮杨芮.

基于类内和类间距离的主成分分析算法

计算机工程与设计,202041(8):2177-2183.

[本文引用: 1]

Zhang S ZChen X NYang Ret al.

Method of principal component analysis based on intra⁃class distance and inter⁃class distance

Computer Engineering and Design,202041(8):2177-2183.

[本文引用: 1]

Min EGuo X FLiu Qet al.

A survey of clustering with deep learning:from the perspective of network architecture

IEEE Access,2018(6):39501-39514.

[本文引用: 1]

Xie J YGirshick RFarhadi A.

Unsupervised deep embedding for clustering analysis

Proceedings of the 33rd International Conference on Machine Learning. New York,NY,USAJMLR2016478-487.

[本文引用: 2]

Guo X FGao LLiu X Wet al.

Improved deep embedded clustering with local structure preservation

Proceedings of the 26th International Joint Conference on Artificial Intelligence. Melbourne, AustraliaInternational Joint Conference on Artificial Intelligence20171753-1759.

[本文引用: 1]

Guo X FLiu X WZhu Eet al.

Deep clustering with convolutional autoencoders

∥Liu D,Xie S,Li Y,et al. Neural information processing. Springer Berlin Heidelberg,2017(10635):373-382.

[本文引用: 1]

Dizaji K GHerandi ADeng Cet al.

Deep clustering via joint convolutional autoencoder embedding and relative entropy minimization

2017 IEEE International Conference on Computer Vision. Venice,ItalyIEEE20175747-5756.

[本文引用: 1]

Yang BFu XSidiropoulos N Det al.

Towards k⁃means⁃friendly spaces:Simultaneous deep learning and clustering

2017,arXiv:.

[本文引用: 1]

杨草原刘大有杨博.

聚类集成方法研究

计算机科学,201138(2):166-170.

[本文引用: 1]

Yang C YLiu D YYang Bet al.

Research on cluster aggregation approaches

Computer Science,201138(2):166-170.

[本文引用: 1]

Fred A L NJain A K.

Data clustering using evidence accumulation

Object Recognition Supported by User Interaction for Service Robots. Quebec City,CanadaIEEE2002276-280.

[本文引用: 1]

Fred A L NJain A K.

Combining multiple clusterings using evidence accumulation

IEEE Transactions on Pattern Analysis and Machine Intelligence,200527(6):835-850.

[本文引用: 1]

Yang L XCheung N MLi J Yet al.

Deep clustering by gaussian mixture variational autoencoders with graph embedding

Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul,Korea (South)IEEE20196440-6449.

[本文引用: 1]

Enguehard JO'Halloran PGholipour A.

Semi⁃supervised learning with deep embedded clustering for image classification and segmentation

IEEE Access,2019(7):11093-11104.

[本文引用: 1]

/