标题(paper):Deep Embedding Network for Clustering
期刊 + 时间 + 有无源代码: 2014 22nd International Conference on Pattern Recognition 没收集
作者: Peihao Huang, Yan Huang, Wei Wang, Liang Wang
方法名及缩写: deep neural network based model named deep embedding network (DEN)
算法框架: 自编码器+两个约束(保留局部特性约束,组稀疏约束)
流程图 :
主要创新点: 在自编码器的特征层加入两个约束获得更好的聚类结果(感觉是一个非常常规的创新)
动机: 现有的聚类方法大多侧重于对实例之间的相似/不相似关系进行建模,而忽略了提取更有效的表示,这在很大程度上影响了聚类的性能。(我对这个动机不是很理解,我感觉本文新加的约束,从公式上看好像也是一种特征层中样本的相似关系)
目标函数: (输入数据类型不同,目标函数不同)
E
=
E
r
+
α
E
g
+
β
E
s
E = E_r + \alpha E_g + \beta E_s
E=Er+αEg+βEs
α
\alpha
α和
β
\beta
β是需要调整的参数。
E r E_r Er是自编码器的重构损失
E g E_g Eg是保留局部特性约束的损失
E s E_s Es是组稀疏约束的损失
E r E_r Er:
encoders:
f
(
x
)
=
W
3
T
ϕ
(
W
2
T
ϕ
(
W
1
T
x
)
)
f(\mathbf{x})=W_3^T\phi(W_2^T\phi(W_1^T\mathbf{x}))
f(x)=W3Tϕ(W2Tϕ(W1Tx))
ϕ
(
x
)
=
1
/
(
1
+
e
−
x
)
\phi(\mathbf{x})=1/(1+e^{-\mathbf{x}})
ϕ(x)=1/(1+e−x)
decoders:
二值数据:
f
^
(
x
)
=
ϕ
(
W
1
T
ϕ
(
W
2
T
ϕ
(
W
3
T
f
(
x
)
)
)
)
E
r
=
−
∑
i
=
1
N
[
x
i
log
f
^
(
x
i
)
+
(
1
−
x
i
)
log
(
1
−
f
^
(
x
i
)
)
]
\hat{f}(\mathbf{x})=\phi(W_1^T\phi(W_2^T\phi(W_3^Tf(\mathbf{x}))))\\ E_r=-\sum_{i=1}^N[\mathbf{x}_i\log\hat{f}(\mathbf{x}_i)+(1-\mathbf{x}_i)\log(1-\hat{f}(\mathbf{x}_i))]
f^(x)=ϕ(W1Tϕ(W2Tϕ(W3Tf(x))))Er=−i=1∑N[xilogf^(xi)+(1−xi)log(1−f^(xi))]
真实值数据:
f
^
(
x
)
=
W
1
T
ϕ
(
W
2
T
ϕ
(
W
3
T
f
(
x
)
)
)
E
r
=
∑
i
=
1
N
∥
x
i
−
f
^
(
x
i
)
∥
2
\hat{f}(\mathbf{x})=W_1^T\phi(W_2^T\phi(W_3^Tf(\mathbf{x})))\\ E_r=\sum_{i=1}^N\|\mathbf{x}_i-\hat{f}(\mathbf{x}_i)\|^2
f^(x)=W1Tϕ(W2Tϕ(W3Tf(x)))Er=i=1∑N∥xi−f^(xi)∥2
E
g
E_g
Eg:
E
g
=
∑
i
,
j
∈
k
(
i
)
S
i
j
∥
f
(
x
i
)
−
f
(
x
j
)
∥
2
E_g=\sum_{i,j\in k(i)}S_{ij}\|f(\mathbf{x}_i)-f(\mathbf{x}_j)\|^2
Eg=i,j∈k(i)∑Sij∥f(xi)−f(xj)∥2
S
i
j
S_{ij}
Sij是heat kernel:
S
i
j
=
e
−
∥
x
i
−
x
j
∥
2
t
(
t
i
s
a
t
u
n
i
n
g
p
a
r
a
m
e
t
e
r
)
S_{ij}=e^{-{\frac{\|\mathbf{x}_{i}-\mathbf{x}_{j}\|^{2}}{t}}}(t{\mathrm{~is~a~tuning~parameter}})
Sij=e−t∥xi−xj∥2(t is a tuning parameter)
k ( i ) k(i) k(i)是包含数据 x i x_i xi的 k k k个近邻索引的集合
E
s
E_s
Es:
E
s
=
∑
i
=
1
N
∑
g
=
1
G
λ
g
∥
f
g
(
x
i
)
∥
E_s=\sum_{i=1}^N\sum_{g=1}^G\lambda_g\|f^g(\mathbf{x}_i)\|
Es=i=1∑Ng=1∑Gλg∥fg(xi)∥
将隐藏单元划分为
G
G
G组,其中
G
G
G是假设的簇数。当给定数据点
x
i
x_i
xi时,我们得到变换后的表示
f
(
x
i
)
f(x_i)
f(xi)和
G
G
G组单位
{
f
g
(
x
i
)
}
g
=
1
G
\{f^g(x_i)\}^G_{g=1}
{fg(xi)}g=1G。
λ g \lambda_g λg是组稀疏的权重, λ g = λ n g \lambda_{g}=\lambda\sqrt{n_{g}} λg=λng , n g n_g ng是组的大小, λ \lambda λ是常数
优化步骤: 为了学习所提出的深度嵌入网络的网络权重,我们使用了一种两阶段算法,该算法包含一个预训练过程来初始化网络权重,然后是一个微调过程。需要注意的是,这两个过程都是无人监督的。
注解:(优缺点 + 随便想记的内容 )
1、一个很常规的换网络层的创新
2、网络预训练步骤我不是很明白
3、本文的动机也看的不是很清楚
restricted Boltzmann machine (RBM) 受限玻尔兹曼机
预训练中的一个基本概念。RBM由一个可见层和一个隐藏层组成。可见层的每个节点与隐藏层的每个节点相连,这些节点的值都是二值的。
F
(
v
,
h
)
=
−
v
T
W
h
−
b
1
v
−
b
2
h
F(\mathbf{v},\mathbf{h})=-\mathbf{v}^TW\mathbf{h}-\mathbf{b}_1\mathbf{v}-\mathbf{b}_2\mathbf{h}
F(v,h)=−vTWh−b1v−b2h
v v v和 h h h是可见层和隐藏层的节点。 W W W是可见层和隐藏层的权重矩阵。 b 1 b_1 b1和 b 2 b_2 b2是可见层和隐藏层的偏置。
Gaussian restricted Boltzmann machine (GRBM) 高斯受限玻尔兹曼机
与restricted Boltzmann machine (RBM) 受限玻尔兹曼机唯一不同是可以处理真实值:
F
(
v
,
h
)
=
∑
i
(
v
i
−
b
i
)
2
2
σ
i
2
−
∑
i
∑
j
v
i
σ
i
W
i
j
h
j
−
∑
j
b
j
h
j
\begin{aligned}F(\mathbf{v},\mathbf{h})&=\sum_i\frac{\left(v_i-b_i\right)^2}{2\sigma_i^2}-\sum_i\sum_j\frac{v_i}{\sigma_i}W_{ij}h_j-\sum_jb_jh_j\end{aligned}
F(v,h)=i∑2σi2(vi−bi)2−i∑j∑σiviWijhj−j∑bjhj
{
W
,
b
)
i
,
b
j
}
\{W,b)i,b_j\}
{W,b)i,bj}是模型参数。
σ
i
\sigma_i
σi是第
i
i
i个可见层节点的高斯噪声的标准偏差。
RBM 和 GRBM 所有节点的概率分布是一致的:
P
(
v
,
h
)
=
1
Z
exp
(
−
F
(
v
,
h
)
)
P(\mathbf{v},\mathbf{h})=\frac1Z\exp(-F(\mathbf{v},\mathbf{h}))
P(v,h)=Z1exp(−F(v,h))
Z
Z
Z是将
P
(
v
,
h
)
P (v, h)
P(v,h)缩放到
[
0
,
1
]
[0,1]
[0,1]的归一化因子。