标题(paper):Improved Deep Embedded Clustering with Local Structure Preservation
期刊 + 时间 + 有无源代码: IJCA + 2017 + 没收集
作者: Xifeng Guo, Long Gao, Xinwang Liu, Jianping Yin
方法名及缩写: Improved Deep Embedded Clustering (IDEC) algorithm
算法框架:
流程图 :
全连接的自编码器
主要创新点: 利用欠完备的自编码器考虑局部结构
动机: 1、定义的聚类损失可能会破坏特征空间,从而导致无代表性的无意义特征,从而影响聚类性能。2、聚类损失并不能保证局部结构的保存。因此,特征转换可能会被误导,导致嵌入空间的损坏。
目标函数:
L
=
L
r
+
γ
L
c
L=L_r+\gamma L_c
L=Lr+γLc
L
r
L_r
Lr网络重构损失(平均平方误差),
L
c
L_c
Lc聚类损失(DEC的KL散度考虑的那个)
L
r
=
∑
i
=
1
n
∥
x
i
−
g
W
′
(
z
i
)
∥
2
2
L_r=\sum_{i=1}^n\|x_i-g_{W^{\prime}}(z_i)\|_2^2
Lr=i=1∑n∥xi−gW′(zi)∥22
L
r
L_r
Lr就是将降噪自编码器中的
x
~
\tilde{x}
x~这一步不要。
优化步骤: 梯度下降和反向传播(根据聚类结果微调encoders但是由于损失函数中考虑了重构损失,因此这里并没有舍弃decoders)
1、Update autoencoder’s weights and cluster centers.
∂
L
c
∂
z
i
=
2
∑
j
=
1
K
(
1
+
∥
z
i
−
μ
j
∥
2
)
−
1
(
p
i
j
−
q
i
j
)
(
z
i
−
μ
j
)
∂
L
c
∂
μ
j
=
2
∑
i
=
1
n
(
1
+
∥
z
i
−
μ
j
∥
2
)
−
1
(
q
i
j
−
p
i
j
)
(
z
i
−
μ
j
)
\begin{gathered} \frac{\partial L_{c}}{\partial z_{i}} =2\sum_{j=1}^K\left(1+\|z_i-\mu_j\|^2\right)^{-1}(p_{ij}-q_{ij})(z_i-\mu_j) \\ \frac{\partial L_c}{\partial\mu_j} =2\sum_{i=1}^n\left(1+\|z_i-\mu_j\|^2\right)^{-1}(q_{ij}-p_{ij})(z_i-\mu_j) \end{gathered}
∂zi∂Lc=2j=1∑K(1+∥zi−μj∥2)−1(pij−qij)(zi−μj)∂μj∂Lc=2i=1∑n(1+∥zi−μj∥2)−1(qij−pij)(zi−μj)
μ j = μ j − λ m ∑ i = 1 m ∂ L c ∂ μ j \mu_j=\mu_j-\frac\lambda m\sum_{i=1}^m\frac{\partial L_c}{\partial\mu_j} μj=μj−mλi=1∑m∂μj∂Lc
decoders 权重:
W
′
=
W
′
−
λ
m
∑
i
=
1
m
∂
L
r
∂
W
′
W^{\prime}=W^{\prime}-\frac\lambda m\sum_{i=1}^m\frac{\partial L_r}{\partial W^{\prime}}
W′=W′−mλi=1∑m∂W′∂Lr
encoders 权重:
W
=
W
−
λ
m
∑
i
=
1
m
(
∂
L
r
∂
W
+
γ
∂
L
c
∂
W
)
W=W-\frac{\lambda}{m}\sum_{i=1}^{m}\left(\frac{\partial L_{r}}{\partial W}+\gamma\frac{\partial L_{c}}{\partial W}\right)
W=W−mλi=1∑m(∂W∂Lr+γ∂W∂Lc)
Update target distribution :在每
T
T
T次迭代中使用所有嵌入点更新目标分布:
x
i
x_i
xi的标签:
s
i
=
arg
max
j
q
i
j
s_i=\arg\max_jq_{ij}
si=argjmaxqij
注解:(优缺点 + 随便想记的内容 )
1、这篇和Deep Clustering with Convolutional Autoencoders 有类似的地方,但是这篇在前面,因此个人感觉DCEC可以看作是这篇的进一步改进。
2、本文与Deep Clustering with Convolutional Autoencoders 的关系:
本文和DCEC有着类似的结构和概念图,都可以看作是对DEC网络的改进,都利用在DEC的基础上考虑了局部结构(所利用的方法不同)。
3、作者在文中提到受“Deep Subspace Clustering with Sparsity Prior”的启发,利用undercomplete antoencoders(欠完备自编码器)
关于欠完备自编码器:百度百科说是编码维度 h h h小于输入维度 x x x的编码器(我感觉卷积自编码器因该也算一种欠完备自编码器)
4、作者在文中提到利用的是堆叠降噪自编码器进行预训练,再次之后,为了聚类作者直接将堆叠降噪自编码器中的加入噪声的过程去除(不在加入噪声),那么该编码器将退化为欠完备的自编码器
5、对所有数据集网络层encoders d − 500 − 500 − 2000 − 10 d-500-500-2000-10 d−500−500−2000−10, decoders 10 − 2000 − 500 − 500 − d 10-2000-500-500-d 10−2000−500−500−d
denoising autoencoder 降噪自编码器
在输入过程中随机人为加入噪声,也就是有概率将部分输入节点值为0,具体可以参考
目标函数:
L
=
∥
x
−
g
W
′
(
f
W
(
x
~
)
)
∥
2
2
L=\|x-g_{W^{\prime}}(f_W(\tilde{x}))\|_2^2
L=∥x−gW′(fW(x~))∥22
x
~
\tilde{x}
x~是样本
x
x
x加入噪声后的形式。迫使自编码器进行降噪而不是直接将上一层的输出直接作为这一层的输入(对结果误差较小的节点可以认为是噪声)