标题(paper):Deep Subspace Clustering with Sparsity Prior
期刊 + 时间 + 有无源代码: Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-16) 2016 没收集
作者: Xi Peng, Shijie Xiao, Jiashi Feng, Wei-Yun Yau, and Zhang Yi
方法名及缩写: deeP subspAce clusteRing with spar siTY prior (PARTY)
算法框架:
流程图 :
网络参数: 网络包括 M + 1 M+1 M+1层对应 M M M个非线性变化(M是偶数), 签 M / 2 M/2 M/2层是编码层,剩下的是解码层。
第一层: h i ( 0 ) = x i h^{(0)}_i=x_i hi(0)=xi,
第
m
m
m层:
h
i
(
m
)
=
g
(
W
(
m
)
h
i
(
m
−
1
)
+
b
(
m
)
)
∈
R
d
m
\mathbf{h}_i^{(m)}=g(\mathbf{W}^{(m)}\mathbf{h}_i^{(m-1)}+\mathbf{b}^{(m)})\in\mathbb{R}^{d_m}
hi(m)=g(W(m)hi(m−1)+b(m))∈Rdm
W
m
W^{m}
Wm是权重,
b
m
b^{m}
bm是偏差,这两都可以简单理解为网络层参数。
g
(
)
g()
g()是非线性映射函数
主要创新点: (这个是我自己的主观感受)在深度子空间聚类的框架中引入稀疏先验特性。
(这是他文章里给出的创新说明)
可以看出,PARTY与现有的子空间聚类方法在以下几个方面有显著的不同:1)PARTY不依赖于亲和矩阵,而是直接学习数据的低维表示;2) PARTY具有多层结构,具有较强的数据非线性建模能力;3) PARTY虽然部分类似于堆叠自编码器(SAE),但它不仅考虑了重构输入数据的局部性,而且在表示学习中引入了结构化的全局先验;4)与基于内核的方法相比,PARTY提供了显式的转换和更好的可扩展性,因为它避免了加载所有数据来计算内核函数;5) PARTY与k-means和大多数现有子空间聚类方法兼容。
动机: 1、现有的方法大多致力于构建高质量的亲和矩阵,而忽略了由亲和矩阵得到的低维表示的重要性。
2、现有的都是线性映射,网络可以进行非线性映射。(现有的方法大多基于浅线性模型,在处理具有非线性结构的数据时可能会失败。)
目标函数:
KaTeX parse error: Undefined control sequence: \lparen at position 442: …3}, & & \text{\̲l̲p̲a̲r̲e̲n̲4\rparen}\end{a…
J
1
J_1
J1: 样本的重构损失(自编码器产生)
J
2
J_2
J2: 自表示误差(
C
C
C表示原始数据的稀疏先验信息)
J
3
J_3
J3: 正则化项(避免网络重构样本的时候过拟合)
C
C
C的求法:
min
C
∑
i
=
1
n
∥
x
i
−
X
c
i
∥
2
2
+
λ
∥
c
∥
1
s.t.
c
i
i
=
0
,
\begin{aligned}&\min_{\mathbf{C}}\sum_{i=1}^n\|\mathbf{x}_i-\mathbf{X}\mathbf{c}_i\|_2^2+\lambda\|\mathbf{c}\|_1\\&\text{s.t. }\mathbf{c}_{ii}=0,\end{aligned}
Cmini=1∑n∥xi−Xci∥22+λ∥c∥1s.t. cii=0,
本文的聚类方法:
优化步骤: stochastic sub-gradient descent. 随机亚梯度下降:
J
=
1
2
∑
i
=
1
n
(
∥
x
i
−
h
i
(
M
)
∥
2
2
+
λ
1
∥
h
i
(
M
2
)
−
H
(
M
2
)
c
i
∥
2
2
)
+
λ
2
2
∑
m
=
1
M
(
∥
W
(
m
)
∥
F
2
+
∥
b
(
m
)
∥
2
2
)
,
(
6
)
\begin{aligned}\mathcal{J}&=\frac{1}{2}\sum_{i=1}^n\left(\|\mathbf{x}_i-\mathbf{h}_i^{(M)}\|_2^2+\lambda_1\|\mathbf{h}_i^{(\frac{M}{2})}-\mathbf{H}^{(\frac{M}{2})}\mathbf{c}_i\|_2^2\right)\\&\quad+\frac{\lambda_2}{2}\sum_{m=1}^M\left(\|\mathbf{W}^{(m)}\|_F^2+\|\mathbf{b}^{(m)}\|_2^2\right),\quad\quad(6)\end{aligned}
J=21i=1∑n(∥xi−hi(M)∥22+λ1∥hi(2M)−H(2M)ci∥22)+2λ2m=1∑M(∥W(m)∥F2+∥b(m)∥22),(6)
更新
W
m
W^m
Wm和
b
m
b^m
bm:
∂
J
∂
W
(
m
)
=
(
Δ
(
m
)
+
λ
1
Λ
(
m
)
)
(
h
i
(
m
−
1
)
)
T
+
λ
2
W
(
m
)
∂
J
∂
b
(
m
)
=
Δ
(
m
)
+
λ
1
Λ
(
m
)
+
λ
2
b
(
m
)
,
\begin{aligned}\frac{\partial\mathcal{J}}{\partial\mathbf{W}^{(m)}}&=\left(\boldsymbol{\Delta}^{(m)}+\lambda_1\boldsymbol{\Lambda}^{(m)}\right)(\mathbf{h}_i^{(m-1)})^T+\lambda_2\mathbf{W}^{(m)}\\\frac{\partial\mathcal{J}}{\partial\mathbf{b}^{(m)}}&=\boldsymbol{\Delta}^{(m)}+\lambda_1\boldsymbol{\Lambda}^{(m)}+\lambda_2\mathbf{b}^{(m)},\end{aligned}
∂W(m)∂J∂b(m)∂J=(Δ(m)+λ1Λ(m))(hi(m−1))T+λ2W(m)=Δ(m)+λ1Λ(m)+λ2b(m),
Δ
(
m
)
{\Delta}^{(m)}
Δ(m):
{
−
(
x
i
−
h
i
(
M
)
)
⊙
g
′
(
z
i
(
M
)
)
,
m
=
M
(
W
(
m
+
1
)
)
T
Δ
(
m
+
1
)
⊙
g
′
(
z
i
(
m
)
)
,
otherwise
\left.\left\{\begin{aligned}-\left(\mathbf{x}_i-\mathbf{h}_i^{(M)}\right)\odot g'(\mathbf{z}_i^{(M)}),&&m=M\\(\mathbf{W}^{(m+1)})^T\boldsymbol{\Delta}^{(m+1)}\odot g'(\mathbf{z}_i^{(m)}),&&\text{otherwise}\end{aligned}\right.\right.
⎩
⎨
⎧−(xi−hi(M))⊙g′(zi(M)),(W(m+1))TΔ(m+1)⊙g′(zi(m)),m=Motherwise
Λ
(
m
)
\boldsymbol{\Lambda}^{(m)}
Λ(m):
{
(
W
m
+
1
)
T
Λ
(
m
+
1
)
⊙
g
′
(
z
i
(
m
)
)
,
m
=
1
,
⋯
,
M
−
2
2
(
h
i
(
M
2
)
−
H
(
M
2
)
c
i
)
⊙
g
′
(
z
i
(
M
2
)
)
,
m
=
M
2
0
,
m
=
M
+
2
2
,
⋯
,
M
\left.\left\{\begin{aligned}(\mathbf{W}^{m+1})^T\mathbf{\Lambda}^{(m+1)}\odot g'(\mathbf{z}_i^{(m)}),&&m=1,\cdots,\frac{M-2}2\\\left(\mathbf{h}_i^{(\frac M2)}-\mathbf{H}^{(\frac M2)}\mathbf{c}_i\right)\odot g'(\mathbf{z}_i^{(\frac M2)}),&&m=\frac M2\\\mathbf{0},&&m=\frac{M+2}2,\cdots,M\end{aligned}\right.\right.
⎩
⎨
⎧(Wm+1)TΛ(m+1)⊙g′(zi(m)),(hi(2M)−H(2M)ci)⊙g′(zi(2M)),0,m=1,⋯,2M−2m=2Mm=2M+2,⋯,M
⊙
\odot
⊙: element-wise multiplication (Hadamard product)
W
(
m
)
=
W
(
m
)
−
μ
∂
J
∂
W
(
m
)
,
and
b
(
m
)
=
b
(
m
)
−
μ
∂
J
∂
b
(
m
)
,
\begin{aligned}\mathbf{W}^{(m)}&=\mathbf{W}^{(m)}-\mu\frac{\partial\mathcal{J}}{\partial\mathbf{W}^{(m)}},\\\\\text{and}\\\mathbf{b}^{(m)}&=\mathbf{b}^{(m)}-\mu\frac{\partial\mathcal{J}}{\partial\mathbf{b}^{(m)}},\end{aligned}
W(m)andb(m)=W(m)−μ∂W(m)∂J,=b(m)−μ∂b(m)∂J,
μ
>
0
\mu > 0
μ>0是学习率,在这篇文章中设置为
2
−
10
2^{-10}
2−10
注解:(优缺点 + 随便想记的内容 )
1、 M M M网络层数,预先定义,该网络也需要预训练和调参(我没注意到论文里有没有说所用的技术)
2、可以看作是基于DSC-Nets(上一篇笔记)网络的改进
3、和DSC-Nets相比,个人感觉:
(1)DSC-Nets在网络结构里面对自表达系数矩阵 C C C进行约束,比如 l 1 l_1 l1或者 l 2 l_2 l2范数表示期望 C C C具有不同类型的特性( C C C矩阵是要跟着网络损失最小不停迭代的)。但是PARTY将 C C C作为先验信息输入到网络中(在网络训练之前,根据原始数据求出可以表示稀疏特性的 C C C),在求解网络损失最小时 C C C是不变的,仅仅跟新网络参数 W m W^m Wm和 b m b^m bm。
(2)DSC-Nets是对 C C C矩阵(稀疏表示一般的传统子空间聚类算法都这样干)计算亲和矩阵,然后谱聚类获得聚类结果。PARTY是对 H ( M / 2 ) H^{(M/2)} H(M/2)(原始数据的特征表示)最后一个编码层的结果作分割。这两种本质都是利用Laplacian 作分割原理相似,但是输入数据不一样。