标题(paper):Deep auto-encoder based clustering
期刊 + 时间 + 有无源代码: Intelligent Data Analysis 2014 个人没收集
作者: Chunfeng Songa, Yongzhen Huang, Feng Liu, Zhenyu Wang, and Liang Wang
方法名及缩写: Deep auto-encoder based clustering
算法框架:
流程图 :
模型主要两个部分:1. 自编码器部分 2. 聚类步骤(迭代的计算每个样本点离其最近簇的距离并重新分配簇,直至收敛,此时的簇为最终距离结果)
主要创新点: 将深度自编码器网络扩展到了聚类情况
动机:
1、原始数据由于存在大方差而不能很好地分布,那么传统的聚类算法无法提供从原始空间到特征空间的高度非线性转换,很难达到令人满意的性能。
2、然而,自编码器对聚类的贡献很小,因为它不追求相似的输入数据在特征层中获得相同的表示。
目标函数:
Eq.(4)
min
W
,
b
1
N
∑
i
=
1
N
∥
x
i
−
x
i
′
∥
2
+
λ
⋅
∑
i
=
1
N
∥
f
t
(
x
i
)
−
c
i
∗
∥
2
\min_{W,b}\frac1N\sum_{i=1}^N\|x_i-x_i^{\prime}\|^2+\lambda\cdot\sum_{i=1}^N\|f^t(x_i)-c_i^*\|^2
W,bminN1i=1∑N∥xi−xi′∥2+λ⋅i=1∑N∥ft(xi)−ci∗∥2
x
i
′
x^{'}_i
xi′是经过自编码器重构后的样本数据。
f t ( x i ) f^t(x_i) ft(xi)是第 t t t次迭代后样本点 x i x_i xi对应在特征空间中的表示。
c i ∗ c^*_i ci∗是特征空间中离第i个样本最近的簇中心。
Eq.(5)
c
i
∗
=
arg
min
c
j
t
−
1
∥
f
t
(
x
i
)
−
c
j
t
−
1
∥
2
c_i^*=\arg\min_{c_j^{t-1}}\|f^t(x_i)-c_j^{t-1}\|^2
ci∗=argcjt−1min∥ft(xi)−cjt−1∥2
整体公式:点
x
i
x_i
xi映射到特征空间后的点离第
j
j
j个类中心点的距离,最小
c j t − 1 c^{t-1}_j cjt−1第 t − 1 t-1 t−1次迭代所产生的第 j j j个簇中心
优化步骤:
Update f ( . ) f(.) f(.)
Update
c
c
c: Eq.(6):
c
j
t
=
∑
x
i
∈
C
j
t
−
1
f
t
(
x
i
)
∣
C
j
t
−
1
∣
,
c_j^t=\frac{\sum_{x_i\in C_j^{t-1}}f^t(x_i)}{|C_j^{t-1}|},
cjt=∣Cjt−1∣∑xi∈Cjt−1ft(xi),
C
j
t
−
1
C^{t-1}_j
Cjt−1是第
t
−
1
t-1
t−1次迭代中第
j
j
j个簇,
∣
C
j
t
−
1
∣
|C^{t-1}_j|
∣Cjt−1∣是簇中的样本点个数
注解:(优缺点 + 随便想记的内容 )
1、自编码器的参数利用stochastic gradient descent (SGD) 随机梯度下降进行调参
2、这是一篇会议扩展论文,其会议原文(Auto-encoder Based Data Clustering )发表在Iberoamerican Congress on Pattern Recognition
会议原文和这一篇核心点一摸一样,唯一不同的是作者将实验部分进行了扩充,从而转投了一篇期刊。这一点作者在这篇论文的第二章相关工作中介绍深度神经网络的时候提到了。
补充
Deep auto-encoders networks (深度自编码器)
Encoding function:
h
i
=
f
(
x
i
)
=
1
1
+
exp
(
−
(
W
1
x
i
+
b
1
)
)
h_i=f(x_i)=\frac1{1+\exp(-(W_1x_i+b_1))}
hi=f(xi)=1+exp(−(W1xi+b1))1
W
1
W_1
W1是编码权重,
b
1
b_1
b1是基础向量(可以理解为该层所获得的隐藏表示)
Decoding function
x
i
′
=
g
(
h
i
)
=
1
1
+
exp
(
−
(
W
2
h
i
+
b
2
)
)
x_i^{\prime}=g(h_i)=\frac1{1+\exp(-(W_2h_i+b_2))}
xi′=g(hi)=1+exp(−(W2hi+b2))1
W
2
W_2
W2是编码权重,
b
2
b_2
b2是基础向量(可以理解为该层所获得的隐藏表示)
auto-encoders function
目的是最小化重构误差以获得最优的数据表示(对于N个样本自编码器的目标函数)
min
1
N
∑
i
=
1
N
∥
x
i
−
x
i
′
∥
2
\min\frac1N\sum_{i=1}^N\|x_i-x_i^{\prime}\|^2
minN1i=1∑N∥xi−xi′∥2
注释:
深度自编码器网络是由多个单层自编码器堆叠而成。也就是说,将前一层自编码器的隐藏表示作为下一层自编码器的输入。