【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

  • 文章题目:Unsupervised Deep Embedding for Clustering Analysis
  • 作者:Junyuan Xie,Ross Girshick,Ali Farhadi
  • 关键词
  • 时间:2016
  • 来源:ICML
  • paper:http://proceedings.mlr.press/v48/xieb16.html , https://arxiv.org/pdf/1511.06335.pdf
  • code:https://github.com/piiswrong/dec (caffe),https://github.com/XifengGuo/DEC-keras (keras)
  • 引用:Xie J, Girshick R, Farhadi A. Unsupervised deep embedding for clustering analysis. ICML 2016;1:740–9.

感性认识

  • 研究的基本问题
    [TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:e3ab952c-2520-4db7-8524-5a7d4f67afcd
    [En]

    [TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:b490a15b-ca70-4535-be9b-69bf01cfaf52

  • 现有问题
    [TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:5f605dd9-6f33-44c8-a29e-30e4ae75d8f6
    [En]

    [TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:8972bba6-f964-47c1-aa5a-b1f88527ecd2

  • 主要想法
    定义了从数据空间X到低维特征空间Z的参数化非线性映射,在该映射中优化聚类目标;通过反向传播在聚类目标上使用随机梯度下降(SGD)来学习映射;基于KL散度,从当前的软聚类分配派生的辅助目标分布迭代地细化聚类;同时解决聚类分配和底层特征表示的问题。
    具体的:
    DEC有两个阶段:
    (1)用深度自编码器(deep autoencoder)参数初始化
    (2)参数优化(例如,聚类),通过迭代计算辅助目标分布和最小化Kullback-Leibler(KL)散度
    (2.1)计算嵌入点和簇中心之间软分配。
    (2.2)更新深度映射f,并通过使用辅助目标分布学习当前的高置信度分配来细化聚类中心。

  • 堆叠自动编码器(SAE)参数初始化,构建非线性映射
    一个AE是两层,训练多个AE,上层输出作为下层输入。逐层训练。把多个AE的前层放到一起作为encoder,后层穿起来放到一起作为decoder。中间有一个瓶颈层(潜在表示层),特征数目较少。完整的encoder-decoder输入输出维度不变,而DEC只取encoder部分,使用瓶颈层的输出当作特征表示z。

  • 软分配
    有了z,有了聚类中心,使用student-t分布进行分配概率的计算,即模型分布Q。(受t-sne启发)
  • 构建辅助分布(目标分布)
    利用软分配得到的模型分布,利用高置信度预测结果,定义目标分布P
  • 基于KL散度,定义目标函数
    L = K L ( P ∣ ∣ Q ) L=KL(P||Q)L =K L (P ∣∣Q )
  • 联合优化表示z与聚类中心μ,再用z去优化SAE的参数
  • 自训练策略
    使用初始模型去预测数据,再使用高置信度的预测结果来训练模型。迭代提升,直到收敛。在两个连续迭代之间改变簇分配的点少于tol%时,过程停止。

  • 结果与结论

  • 不足与展望
    1.软分配是基于t分布定义的,其他分布的可能性
    2.聚类是通过软分配定义的,但是文章没有比较硬分配的假设
    3.非线性映射是SAE组成的,这一部分可以扩展
    4.目标分布P的定义。

理性认识

Abstract

Clustering is central to many data-driven application domains and has been studied extensively in terms of distance functions and grouping algorithms. Relatively little work has focused on learning representations for clustering. In this paper, we propose Deep Embedded Clustering (DEC), a method that simultaneously learns feature representations and cluster assignments using deep neural networks. DEC learns a mapping from the data space to a lower-dimensional feature space in which it iteratively optimizes a clustering objective. Our experimental evaluations on image and text corpora show significant improvement over state-of-the-art methods.

摘要

聚类是许多数据驱动应用领域的核心,在距离函数和分组算法方面已经得到了广泛的研究。相对而言,很少有研究聚焦于学习聚类表示。在本文中,我们提出了深度嵌入式聚类(DEC),一种使用深度神经网络同时学习特征表示和聚类分配的方法。DEC学习从数据空间到低维特征空间的映射,在其中迭代优化聚类目标。我们对图像和文本语料库的实验评估显示,与最先进的方法相比,有显著的改进。

1. Introduction

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:82062ece-d526-49d0-a6f9-f171d71e71a5

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:d12f871f-1534-4268-9413-c7edbb1b6220

距离或差异这类概念是数据聚类算法的核心。而距离则依赖于数据在特征空间中的表示。例如,k-means聚类算法使用给定特征空间中点之间的欧氏距离,这对于图像可能是原始像素或梯度方向直方图。特征空间的选择通常作为应用程序特定细节留给最终用户来确定。然而,很明显,特征空间的选择至关重要;除了最简单的图像数据集,在原始像素上使用欧几里得距离聚类是完全无效的。在本文中,我们重新讨论了聚类分析,并提出了一个问题:我们是否可以使用数据驱动的方法来共同解决特征空间和聚类成员关系?

我们从最近关于计算机视觉深度学习的工作中获得了灵感,通过学习更好的特征,可以在基准任务中获得明显的收益。然而,这些改进是通过监督学习获得的,而我们的目标是无监督数据聚类。为此, 我们定义了从数据空间X到低维特征空间Z的参数化非线性映射,在该映射中我们优化了聚类目标。与之前在数据空间或浅层线性嵌入空间上操作的工作不同,我们通过反向传播在聚类目标上使用随机梯度下降(SGD)来学习映射,这是由深度神经网络参数化的。我们将这种聚类算法称为深度嵌入式聚类,或DEC。
优化DEC具有挑战性。我们希望 同时解决聚类分配和底层特征表示的问题。然而,与监督学习不同的是,我们不能用标记数据训练我们的深度网络。相反,我们建议 用从当前的软聚类分配派生的辅助目标分布迭代地细化聚类。这一过程逐步改进了聚类和特征表示。
我们的实验表明,在图像和文本数据集上,与最先进的聚类方法相比,在准确性和运行时间方面都有显著的改进。我们在MNIST、STL和REUTERS上评估DEC,并将其与标准和最先进的聚类方法进行比较。此外,我们的实验表明,与最先进的方法相比,DEC对超参数选择的敏感性显著降低。这种鲁棒性是我们聚类算法的一个重要特性,因为当应用于真实数据时,超参数交叉验证的监督是不可用的。
我们的贡献有:(a)深度嵌入和聚类的联合优化;(b)一种新的软分配迭代优化算法;©在聚类精度和速度方面最先进的聚类结果。

2. Related work

3. Deep embedded clustering

对于 n n n 个点 $ {x_i\in X}_{i=1}^{n} $ ,分为 k k k 个簇,每个簇都由质心(聚类中心)向量μ j , j = 1 , 2 , . . . , k μ_j,j=1,2,…,k μj ​,j =1 ,2 ,…,k表示。我们建议 首先用非线性映射f θ : X → Z f_θ:X→Z f θ​:X →Z 来转换数据,而不是直接在数据空间X X X中聚类,其中,θ θθ是参数,Z Z Z是潜在特征空间。为了避免”维度诅咒”,Z Z Z 的维度通常比 X X X 小得多。为了参数化 f θ f_θf θ​,深度神经网络(DNNs)是一种自然选择,因为它们的理论函数近似特性和它们所展示的特征学习能力
DEC对数据聚类,同时学习一套在特征空间Z中的k聚类中心和DNN中将数据点映射到Z的参数θ。
DEC有两个阶段:
(1)用深度自编码器(deep autoencoder)参数初始化
(2)参数优化(例如,聚类),我们通过迭代计算辅助目标分布和最小化Kullback-Leibler(KL)散度。

我们从描述阶段(2)参数优化/聚类开始,给出了参数和聚类中心的初始估计。

3.1. Clustering with KL divergence

在给出非线性映射f和初始聚类中心的初始估计后, 我们提出使用两步交替的无监督算法来改进聚类。
在第一步,我们计算嵌入点和簇中心之间软分配。
第二步,我们更新深度映射f,并通过使用辅助目标分布学习当前的高置信度分配来细化聚类中心。这个过程一直重复,直到满足收敛准则。

3.1.1. SOFT ASSIGNMENT

我们 用学生t分布(Student’s t-distribution)作为核来度量嵌入点与簇中心之间的相似性。

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)
; 3.1.2. KL DIVERGENCE MINIMIZATION

我们提出在辅助目标分布的帮助下,通过学习它们的高置信分配来迭代地改进聚类。具体来说,我们的模型是通过软分配去匹配目标分布来训练的。为此,我们将我们的目标定义为软分配 q i q_i q i ​ 和辅助分布 p i p_i p i ​ 之间的KL散度损失,如下所示L = KL ( P ∣ ∣ Q ) = ∑ i ∑ j p i j log ⁡ p i j q i j L\ =\ \text{KL}\left( P||Q \right) \ =\ \sum_i{\sum_j{p_{ij}\log \frac{p_{ij}}{q_{ij}}}}L =KL (P ∣∣Q )=i ∑​j ∑​p i j ​lo g q i j ​p i j ​​目标分布P的选择对DEC的性能至关重要。一个简单的方法是将每个pi设置为高于置信阈值的数据点的delta分布(到最近的质心),然后忽略其余的。然而,由于qi是软分配,使用软概率目标更自然和灵活。
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:df282dff-b9d8-4b71-9b6a-9021b359a46c

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:90011771-4f05-4781-8f8f-d9f6e78be18c

  • (1)加强预测(即提高聚类纯度),
  • (2)更加强调高置信度的数据点,以及
  • (3)标准化每个质心的损失贡献,以防止大型簇扭曲隐藏的特征空间。

在我们的实验中,我们首先将 q i q_i q i ​ 提高到2次方,然后根据每个簇的频率进行归一化,从而计算 p i p_i p i ​ :
p i j = q i j 2 / f j ∑ j ′ q i j ′ 2 / f j ′ , f j = ∑ i q i j p_{ij}\ =\ \frac{q_{ij}^{2}/f_j}{\sum_{j’}{q_{ij’}^{2}/f_{j’}}}\ ,\ f_j=\sum_i{q_{ij}}p i j ​=∑j ′​q i j ′2 ​/f j ′​q i j 2 ​/f j ​​,f j ​=i ∑​q i j ​
我们的 训练策略可以看作是一种自训练。与自训练一样,我们采用一个初始分类器和一个未标记的数据集,然后用分类器对数据集进行标记,以便使用其自身的高置信预测进行训练。事实上,在实验中,我们观察到DEC通过从高置信预测中学习来改进每次迭代的初始估计,这反过来又有助于改进低置信预测。

3.1.3. OPTIMIZATION

同时优化表示 z i z_i z i ​ 与簇中心 μ j μ_j μj ​, z i z_i z i ​再传到DNN中,优化 θ θθ。

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

当在两个连续迭代之间改变簇分配的点少于tol%时,过程停止。

; 3.2. Parameter initialization

到目前为止,我们已经讨论了DEC如何运行,给出了DNN参数θ和聚类中心的初步估计。现在我们讨论如何初始化参数和簇中心。
我们使用堆叠自动编码器(SAE)来初始化DEC,因为最近的研究表明,它们在真实数据集上一致地产生有语义意义且区分良好的表示。因此,SAE学习的非监督表示自然有助于使用DEC学习聚类表示。
我们一层一层地初始化SAE网络,每一层都是经过训练的去噪自编码器,在随机破坏后重建前一层的输出。去噪自编码器定义为两层神经网络。

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

损失为∣ ∣ x − y ∣ ∣ 2 2 ||x-y||_2^2 ∣∣x −y ∣∣2 2 ​。在对一层进行训练后,我们用它的输出h作为输入来训练下一层。我们所有的编码器/解码器对中使用ReLUs,除了第一对的g2(它需要重构可能有正负值的输入数据,如零均值图像)和最后一对的g1(这样最终的数据嵌入保留了完整的信息。
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:87714625-6505-4216-86d4-b25e27d05185

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:2c01fc13-7645-4987-8961-26f2e803424a

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

为了初始化聚类中心,我们将数据通过初始化的DNN传递得到嵌入的数据点,然后在特征空间Z中进行标准的k-means聚类,得到k个初始中心。

4. Experiments

4.1. Datasets
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:5ce92ca5-d708-4b39-9a9a-6a638fc9f9e5

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:501210da-adc8-4d13-90f1-f6bf5f1cc43e

  • MNIST(手写数字),
  • STL-10(96 × 96彩色图像的数据集。共有10个类,每个类有1300个例子。它还包含100000张相同分辨率的未标记图像),
  • REUTERS(路透社,包含了大约81万篇用分类树标记的英语新闻故事,用了一部分)

对比算法:k-means、LDGMI和SEC。LDGMI和SEC是基于光谱聚类的算法,它们使用拉普拉斯矩阵和各种变换来提高聚类性能。LDMGI和SEC在很大范围的数据集上都优于传统的谱聚类方法。

5. Discussion

【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

; 6. Conclusion

本文提出了一种深度嵌入式聚类算法,即在联合优化的特征空间中对一组数据点进行聚类。DEC的工作原理是迭代优化基于KL散度的聚类目标和自训练目标分布。我们的方法可以看作是半监督自我训练的无监督扩展。我们的框架提供了一种方法来学习专门用于聚类的表示,而不需要groundtruth聚类成员标签。
实证研究证明了我们提出的算法的有效性。DEC提供了相对于超参数设置的改进性能和鲁棒性,这在无监督任务中特别重要,因为交叉验证是不可能的。DEC在数据点数量上也具有线性复杂性的优点,这允许它扩展到大型数据集。

真·笔记

1.软分配
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:48bd1342-9e80-4787-b456-063fc48d0b32

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:9600e3e8-1ef8-4bbf-bc94-cb85e228d037

https://blog.csdn.net/qq_44015059/article/details/106669350

小尾巴

1.delta分布,学生t分布
2.LDGMI和SEC
3.谱聚类
4.t-sne
5.pij为何是这么定义的。

重点相关论文

1.van der Maaten, Laurens and Hinton, Geoffrey. Visualizing data using t-SNE. JMLR, 2008
t-sne
2.Vincent, Pascal, Larochelle, Hugo, Lajoie, Isabelle, Bengio, Yoshua, and Manzagol, Pierre-Antoine. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. JMLR, 2010.

SAE,自动编码器部分

参考资料

1.https://blog.csdn.net/qq_44015059/article/details/106669350
2.https://www.cnblogs.com/wzyj/p/9827584.html
3.https://blog.csdn.net/weixin_47444348/article/details/105920145
4.https://blog.csdn.net/SCS199411/article/details/90759274
5.https://blog.csdn.net/GYY8023/article/details/104543033

Original: https://blog.csdn.net/qq_44055705/article/details/115406848
Author: 1000110011111101010100101111101
Title: 【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/560814/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球