Abstract
最近,深度学习方法在数据聚类任务中取得了重大进展。深度聚类方法(包括基于距离的方法和基于子空间的方法)将聚类和特征学习整合到一个统一的框架中,聚类和表示之间相互促进。然而,深度子空间聚类方法通常是在自表达模型的框架下进行的,具有二次的时间和空间复杂度,阻碍了其在大规模聚类和实时聚类中的应用。本文提出了一种新的深度聚类机制。我们的目标是通过迭代精炼的方式从深度表示中学习子空间基,而精炼的子空间基反过来帮助学习深度神经网络的表示。该方法摆脱了自表达框架,线性扩展到样本大小,适用于任意大的数据集和在线聚类场景。更重要的是,该方法的聚类精度远远高于其竞争对手。与最先进的聚类方法在基准数据集上的广泛比较研究表明了所提出方法的优越性。
1. Introduction
聚类是机器学习的一个基本问题,它的目的是在没有标签信息的情况下,在高类内相似度和低类间相似度的要求下,将样本分成不同的类。许多经典的聚类算法,如k-means[29]和谱聚类(SC)[30]在实际应用中都取得了很大的成功。但是,对于复杂结构和高维数据的处理效果不佳,可以利用数据的精细化特征来改善这一问题。事实上,之前的一些研究利用非负矩阵分解[2]、自编码器(AE)[1]及其变体[24,31,36]等特征学习技术来学习低维嵌入进行聚类,从而提高了聚类精度。然而,由于这些方法是两阶段聚类,并且特征学习不是特定于聚类的,因此不能保证学习到的表示适合聚类。
近年来,一些研究者提出了端到端聚类方法,如深度embedded聚类(DEC)[40]、联合无监督学习(JULE)[41]、深度自适应聚类(DAC)[6]、深度综合相关挖掘(DCCM)[39]。在这些方法中,聚类目标与网络优化过程相结合,提供了一种学习面向聚类的嵌入式表示的方法。然而,大多数深度聚类方法使用基于欧几里得距离的度量来识别聚类,而欧几里得距离对于不同类型的数据结构并不总是有效或合理的。
子空间聚类假设数据位于不同的子空间[11]。一类经典的子空间聚类方法,如稀疏子空间聚类(SSC)[11]和低秩表示(LRR)[27],主要基于谱聚类[30],在人脸图像聚类等许多任务中优于k-means和经典谱聚类。近年来,一些研究表明,联合子空间聚类和深度学习在基准数据集上具有很好的性能。然而,这些方法很难扩展到大规模数据集,因为它们需要学习一个自表达矩阵,导致二次的时间和空间复杂性。因此,最近有一些研究致力于提高子空间聚类的效率。
本文旨在提供一种高效、准确的深子空间聚类方法。我们提出从深度自编码器提取的潜在特征中学习一组子空间基,并对基和网络参数进行迭代细化。的网络结构
所提出的方法如图1所示。我们的贡献如下。
•我们提出了一种新的深度子空间聚类方法,它超越了传统的自我表达框架。
•我们的方法具有线性的时间和空间复杂度,因此适用于大规模子空间聚类。
•我们将该方法推广到在线聚类,如:我们可以有效地处理任意大的数据集和流数据集。
•我们分析了使用深度神经网络转换基于距离的聚类和子空间聚类的可行性。
在多个基准数据集(如fashion - mnist、STL-10和REUTERS-10K)上的数值结果表明,我们的方法比竞争对手的方法更有效。
2. Related Work and A Brief Discussion
2.1. Deep Clustering
早期的深度聚类方法旨在应用深度特征学习方法(如自编码器[36]和变分自编码器(VAE)[24])从复杂的高维数据中提取特征进行聚类。然而,这些解决方案很难学习到适合聚类任务的表示。目前的深度聚类方法主要是构建端到端模型。Xie等人提出DEC[40],设计了一个受t-SNE启发的聚类目标[35]。提供了一种同时优化集群中心和嵌入特征的聚类模型。Chang等人[5]提出了深度自进化聚类(deep self-volution clustering, DSEC),这是一种基于自进化的算法,用选择的模式对交替训练网络。在[39]中,Wu等人提出了一种名为DCCM的方法,该方法使用伪标签进行自我监督,并使用互信息捕获更具判别性的表示进行聚类。Huang等[20]提出的分区置信度最大化(PICA)算法最小化分区不确定性指标,学习最自信的聚类分配。请注意,这些深度聚类方法使用欧几里得距离来分配聚类,当聚类不集中于平均值时,这可能是无用的。
2.2. Subspace Clustering
经典的子空间聚类,如SSC[11]、LRR[27]和Kernel-SSC[32],旨在学习自表达的亲和矩阵,用于谱聚类。Ji等[21]提出了一种深度子空间聚类网络(DSC-Net),该网络将自表达模块与自编码器网络相结合。与SSC和LRR相比,DSC-Net在多个图像数据集上表现出显著的改善。Zhou等人[52]提供了一种称为深度对抗性子空间聚类的方法
(DASC),利用生成式对抗网络[16]提供对抗学习,提高了深度子空间聚类的性能。Zhou等[51]提出了保持分布的子空间聚类(DPSC)来保留子空间中的潜在分布,以提高子空间聚类模型的特征学习能力。另一方面,一些研究者试图降低子空间聚类的复杂性。例如,Zhang等人[49]提出了k-子空间聚类网络(k-SCN),将子空间的更新整合到嵌入式空间的学习中,解决了学习亲和矩阵的缺点。Fan[12]提出了k-factorization子空间聚类(k-FSC)方法,该方法具有线性的时间和空间复杂度,能够处理缺失数据和流数据。
2.3. A Brief Discussion
我们在表1中分析了几种(由于空间限制)经典子空间聚类、大规模子空间聚类和深度子空间聚类方法的时间和空间复杂性。我们看到,这些经典子空间聚类方法和深度子空间聚类方法在样本数量方面具有二次的时间和空间复杂性。相比之下,我们的方法具有线性的时间和空间复杂度,可与大规模子空间聚类方法相媲美[12]。
3. Methodology
3.1. Proposed Model
在本文中,我们主要针对基于深度学习的子空间聚类,并试图解决以下问题。
问题1
给定一个数据矩阵
X
∈
R
m
×
n
X \in R^{m×n}
X∈Rm×n,其中
m
m
m 表示特征个数,
n
n
n 表示样本个数。假设
X
=
X
ˉ
P
X =\bar{X}P
X=XˉP,其中
X
ˉ
=
[
X
ˉ
(
1
)
,
X
ˉ
(
2
)
,
…
,
X
ˉ
(
k
)
]
\bar{X}=[\bar{X}^{(1)},\bar{X}^{(2)},\dots,\bar{X}^{(k)}]
Xˉ=[Xˉ(1),Xˉ(2),…,Xˉ(k)],
P
∈
R
n
×
n
P∈R^{n×n}
P∈Rn×n 为未知排列矩阵。对于
j
=
1
,
…
,
k
j = 1,\dots, k
j=1,…,k,假设
X
ˉ
(
j
)
∈
R
m
×
n
j
\bar{X}^{(j)}∈R^{m×n_j}
Xˉ(j)∈Rm×nj 的列由
x = f j ( v ) + ε x=f_j(v)+\varepsilon x=fj(v)+ε
其中, f j : R r k → R m f_j: R^{r_k}→R^m fj:Rrk→Rm为未知非线性函数, r j < m , v ∈ R r j r_j < m, v∈R^{r_j} rj<m,v∈Rrj 为随机变量, ε ∈ R m ε∈R^m ε∈Rm 为随机高斯噪声。从 X X X 求出排列矩阵 P P P(或等值的 X ˉ \bar{X} Xˉ)。
这个问题实际上是一个聚类问题,我们需要将 X X X 的列分组成 k k k 个簇,对应 k k k 个不同的函数 f 1 , … , f k f_1,\dots,f_k f1,…,fk。图2显示了当 m = 3 m = 3 m=3, r 1 = ⋅ ⋅ ⋅ = r 5 = 1 r_1 =···= r_5 = 1 r1=⋅⋅⋅=r5=1 时问题1的简单示例。注意,当 f 1 , … , f k f_1,\dots,f_k f1,…,fk 都是线性的,问题就简化为经典的子空间聚类。因此,问题1可以看作是一个非线性子空间聚类或流形聚类问题。问题1的一个特例是
问题2
在问题1中,对于
j
=
1
,
…
,
k
j = 1,\dots, k
j=1,…,k,假设
f
j
(
v
)
=
g
(
B
(
j
)
v
)
f_j(v)=g(B^{(j)}v)
fj(v)=g(B(j)v),其中
B
(
j
)
∈
R
p
×
r
j
j
,
g
:
R
p
→
R
m
B^{(j)}∈R^{p×rj_j}, g: R^p→R^m
B(j)∈Rp×rjj,g:Rp→Rm,且
∥
B
(
i
)
T
B
(
j
)
∥
F
∥
B
(
i
)
∥
F
∥
B
(
j
)
∥
F
\frac{\left \| B^{(i)^T} B^{(j)} \right \|_F }{\left \| B^{(i)} \right \|_F \left \| B^{(j)} \right \|_F}
∥B(i)∥F∥B(j)∥F
B(i)TB(j)
F
(
i
≠
j
)
(i \ne j)
(i=j) 足够小。从
X
X
X 求出排列矩阵
P
P
P(或等值的
X
ˉ
\bar{X}
Xˉ)。
问题2比问题1更简单,因为当我们获得 { B ( 1 ) , … , B ( k ) } \{B^{(1)}, \dots, B^{(k)}\} {B(1),…,B(k)}的良好估计时,就足以识别正确的簇。因此,在本文中,我们首先提出用多层神经网络近似 x x x 来估计 B ( j ) B^{(j)} B(j),即:
x i ≈ h W ( B ^ ( j ) v ^ j ) , x i ∈ C j x_i\approx h_W(\hat{B}^{(j)}\hat{v}_j),x_i \in C_j xi≈hW(B^(j)v^j),xi∈Cj
式中,
h
W
h_W
hW 为参数集为
W
W
WW
WW 的多层神经网络,
C
j
C_j
Cj为第
j
j
j 个聚类。很难直接得到
{
B
(
1
)
,
…
,
B
(
k
)
}
\{B^{(1)}, \dots, B^{(k)}\}
{B(1),…,B(k)}。相反,我们估计
B
(
j
)
v
j
,
i
.
e
.
,
z
i
:
=
B
^
(
j
)
v
^
j
{B}^{(j)}{v}_j,i.e.,z_i:= \hat{B}^{(j)}\hat{v}_j
B(j)vj,i.e.,zi:=B^(j)v^j。因此,我们建议解决
其中
S
i
S_i
Si 表示
x
i
x_i
xi 所属的真簇。然而,不可能直接求解(3),因为
S
i
S_i
Si 是未知的。现在我们引入一个新的变量
D
=
[
D
(
1
)
,
D
(
2
)
,
…
,
D
(
k
)
]
D =[D^{(1)}, D^{(2)},…,D^{(k)}]
D=[D(1),D(2),…,D(k)]。它包含
k
k
k 个块,
D
(
j
)
∈
R
p
×
d
,
∥
D
u
(
j
)
∥
=
1
,
u
=
1
,
…
,
d
,
j
=
1
,
…
,
k
D^{(j)}∈R^{p×d}, \left \| D^{(j)}_u \right\| = 1, u = 1,…, d, j = 1,\dots,k
D(j)∈Rp×d,
Du(j)
=1,u=1,…,d,j=1,…,k 注意,对于所有
j
=
1
,
…
,
k
,
d
≥
r
j
j = 1,…,k,d≥r_j
j=1,…,k,d≥rj。我们希望
D
(
j
)
D^{(j)}
D(j) 与
B
(
j
)
B^{(j)}
B(j) 具有相同的列空间,
j
=
1
,
…
,
k
j = 1,…,k
j=1,…,k 则根据问题2中的假设,对于所有
j
≠
l
j \ne l
j=l,
∥
D
(
j
)
T
D
(
l
)
∥
F
\left \| {D^{(j)}}^TD(l) \right \|_F
D(j)TD(l)
F 应该足够小,即:
换句话说,
z
i
z_i
zi 只与
D
D
D的一个块高度相关。现在我们使用一个参数集为
W
′
{W'}
W′ 的编码器
h
W
′
′
h'_{W'}
hW′′ 来表示
z
i
z_i
zi,即,
z
i
=
h
W
′
′
(
x
i
)
,
i
=
1
,
…
,
n
.
(
6
)
z_i=h'_{W'}(x_i),i=1,\dots,n.(6)
zi=hW′′(xi),i=1,…,n.(6)
为了方便起见,我们让
x
i
^
=
h
W
(
z
i
)
,
i
=
1
,
…
,
n
.
(
7
)
\hat{x_i}=h_{W}(z_i),i=1,\dots,n.(7)
xi^=hW(zi),i=1,…,n.(7)
定义
X
^
=
[
x
^
1
,
…
,
x
^
n
]
\hat{X}=[\hat{x}_1,\dots,\hat{x}_n]
X^=[x^1,…,x^n]。现在,我们把(3)、(4)、(5)、(6)和(7)一起求解
注意,在(8)中,
z
i
z_i
zi 只是根据(6)的中间变量,我们不需要显式优化。在(8)中,第一个约束是控制
D
D
D 列的大小,否则,
∣
z
i
T
D
(
α
i
)
∣
\left | z_i^TD^{(α_i)} \right|
ziTD(αi)
可能变为零。第二个约束是符合问题1中不同子空间之间不相似度的假设。最后一个约束起子空间分配的作用。注意,我们的方法(8)仍然适用于问题1,前提是神经网络能够学习
g
(
B
(
j
)
v
)
g(B^{(j)}v)
g(B(j)v) 来有效地近似问题1中的
f
j
(
v
)
f_j (v)
fj(v)。
3.2. Practical Solution
现在我们将展示如何近似地求解(8)。为了方便起见,我们让
我们通过最小化以下目标,在(8)中施加第一个约束
对于(8)中的第二个约束,我们进行了定义
这里的 O 是一个矩阵,其中所有 d-size 的对角线块元素都是0,其他所有元素都是1。现在我们可以把(10)和(11)放在一起,得到D上的正则化项
对于(8)中的最后一个约束,我们提出了一种新的子空间亲和度S来度量嵌入表示Z和子空间基代理D之间的关系
其中,η是一个控制平滑度的参数。因此,sij表示嵌入式表示zi属于由D (j)表示的第j个子空间的概率。我们进一步引入了一个细化的子空间亲和性eS,其定义为
换句话说,eS可以作为一种高监督信息,从而产生以下子空间聚类目标
现在我们将(8)的无约束松弛定义为
在算法1中给出了该方法的训练流程。该方法实现了子空间聚类和嵌入式表示学习的联合优化。D的初始化由预训练模型的Z上的k-means生成的簇的列空间给出。当对网络的训练完成后,最终的聚类结果可以通过
3.3. Universal Approximation and Converting Problems 通用的近似和转换问题
有人可能会认为,神经网络具有普遍的近似能力,使得子空间聚类问题可以转化为基于距离的聚类问题,从而应用k-means和DEC[40],或者基于距离的聚类问题可以转化为子空间聚类问题。这里我们生成两个合成数据集来显示转换是如何执行的。第一个数据集用于基于距离的聚类,由
第二个数据集是用于子空间聚类的,是由
我们还向数据集上添加了高斯噪声,即X←−X + N,其中噪声的标准误差是干净X的标准误差的0.2倍。
DEC[40]、IDEC[18]和我们的方法的性能如图3所示。第一张图表明,将基于距离的聚类问题转换为子空间聚类问题相对容易,因为我们的方法的精度很高。第二张图表明,由于DEC和IDEC都失败了,很难将子空间聚类问题转化为基于距离的聚类问题。一个可能的原因是,将欧几里得距离转换为子空间亲和关系更容易。例如,设v1 = φ(u1), v2 = φ(u2),其中φ为径向基函数的特征映射,如高斯核函数。然后我们有
以上结果和分析验证表明,有必要提供一种有效、准确的深子空间聚类方法来更普遍地处理问题2或问题1