Unsupervised Deep Embedding for Clustering Analysis论文阅读

Unsupervised Deep Embedding for Clustering Analysis论文阅读

  拖更了很长一段时间处理各种个人事情,今天分享一篇论文阅读,利用DNN框架进行聚类的方法的论文。
 本篇文章首先的理论思路灵感很大程度上来源于2008年的t-SNE论文——Visualizing Data using t-SNE,所以今天会结合两篇论文一起进行一个分析。后者主要是用于高维数据的降维可视化过程。t-SNE技术方法中的核心思想是,对于高维空间 X X X和低维空间 Y Y Y当中的两个点 X 1 , X 2 X_1,X_2 X1,X2,其在高维空间中的相似度(距离)应该与低维空间中对应的两个点 Y 1 , Y 2 Y_1,Y_2 Y1,Y2的相似程度是一样的,依据这样的思想,t-SNE技术要求对于高维空间当中所有的数据点两两相似度应当与低维空间所有的数据点两两相似度一致,最小化这个整个空间当中所有的点的两两相似度之后即是t-SNE最小化的目标。
 明确了目标之后,t-SNE的技术核心就是寻找一个能够定义相似度的公式,首先很自然想到的应当是距离公式,然而因为高维空间与低维空间维数不同,甚至有时候会有很大的差异,在这种情况下,直接使用欧式距离或者范数是无法很好的定义的;其次上述定义方法可能会导致距离计算结果比较大,综合上述问题,作者提出了一种新的距离定义的方法:
q i j = ( 1 + ∥ y i − y j ∥ 2 ) − 1 ( ∑ k ≠ l 1 + ∥ y k − y l ∥ 2 ) − 1 q_{ij}=\frac{(1+\left\|y_i-y_j\right\|^2)^{-1}}{(\sum_{k\neq l}1+\left\|y_k-y_l\right\|^2)^{-1}} qij=(k=l1+ykyl2)1(1+yiyj2)1
 分母类似于表达了整个空间的距离度量程度,分子表达了两个点之间的相似程度,类似的对于高维空间我们可以定义高维空间之间两个点的相似度为:
p i j = e x p ( − ∥ x i − x j ∥ 2 / 2 σ 2 ) − 1 ∑ k ≠ l e x p ( − ∥ x k − x l ∥ 2 / 2 σ 2 ) ) p_{ij}=\frac{exp(-\left\|x_i-x_j\right\|^2/2\sigma^2)^{-1}}{\sum_{k\neq l}exp(-\left\|x_k-x_l\right\|^2/2\sigma^2))} pij=k=lexp(xkxl2/2σ2))exp(xixj2/2σ2)1
(这里t-SNE技术对于低维的 q i j q_{ij} qij和高维的 p i j p_{ij} pij定义的不同,在低维当中使用了学生t分布,这是因为学生t分布在相对距离较大的时候,低维空间当中计算得到的 q i j q_{ij} qij比高维空间当中的距离要大,一定程度上缓解了数据拥挤的问题。)
 最后t-SNE方法用低维空间和高维空间之间的相似程度的KL散度作为优化标准:
C = K L ( P ∣ ∣ Q ) = ∑ i ∑ j p i j l o g p i j q i j C=KL(P||Q)=\sum\limits_i\sum\limits_jp_{ij}log\frac{p_{ij}}{q_{ij}} C=KL(PQ)=ijpijlogqijpij
再通过迭代的方法更新参数:
y ( t ) = y ( t − 1 ) + η ∂ C ∂ y + α ( t ) ( y ( t − 1 ) − y ( t − 2 ) ) y^{(t)}=y^{(t-1)}+\eta\frac{\partial C}{\partial y}+\alpha(t)(y^{(t-1)}-y^{(t-2)}) y(t)=y(t1)+ηyC+α(t)(y(t1)y(t2))
 讲完了t-SNE的方法,再来看我们今天研究的这篇以聚类为目的的论文的内容,DEC算法当中用DNN神经网络已经起到了一部分的降维作用,接下来我们主要关注DEC算法当中的objective function是如何来约束网络更新方向实现聚类效果的。
DEC当中使用的约束函数为:
L = K L ( P ∣ ∣ Q ) = ∑ i ∑ j p i j l o g p i j q i j L = KL(P||Q)=\sum\limits_i\sum\limits_jp_{ij}log\frac{p_{ij}}{q_{ij}} L=KL(PQ)=ijpijlogqijpij
其中论文当中对Q的定义为:
q i j = ( 1 + ∥ z i − μ j ∥ 2 / α ) − 1 + α 2 ( ∑ j ′ 1 + ∥ z i − μ j ′ ∥ 2 ) − 1 + α 2 q_{ij}=\frac{(1+\left\|z_i-\mu_j\right\|^2/\alpha)^{-\frac{1+\alpha}{2}}}{(\sum_{j^{'}}1+\left\|z_i-\mu_j^{'}\right\|^2)^{-\frac{1+\alpha}{2}}} qij=(j1+ziμj2)21+α(1+ziμj2/α)21+α
其中 μ j \mu_j μj定义了聚类中心, q i j q_{ij} qij定义了第i个点到第j个聚类中心的距离。
p i j p_{ij} pij的定义如下:
p i j = q i j 2 / f j ∑ j ′ q i j ′ 2 / f j ′ p_{ij}=\frac{q_{ij}^2/f_j}{\sum_{j^{'}}q_{ij^{'}}^2/f_j^{'}} pij=jqij2/fjqij2/fj
其中
f j = ∑ i q i j f_j=\sum_i q_{ij} fj=iqij
理解 p i j p_{ij} pij q i j q_{ij} qij的意义,后者表示的是所观测样本点与第j簇中心的距离(概率距离),前者表示的是作者希望得到的聚类结果,作者希望聚类的结果满足三个性质:(1)能够提高分类的精度。(2)是给予有更高置信度的点更大的权重,这一点我觉得从 p i j p_{ij} pij使用了平方项可以看出。(3)是归一化,使得避免产生较大的簇。这一点我认为从分母可以体现出来。整体来说本文的用P作为标准来让Q的KL散度逼近P这一点我觉得还是有一定启发性的,上述只是我自己的揣测理解,如果其他伙伴有更好的理解,欢迎跟我讨论一下!

你可能感兴趣的:(论文阅读)