改进的深度嵌入聚类 IDEC 总结

Improved Deep Embedded Cluster

概述

动机

DEC 忽略了至关重要的因素,即定义的聚类损失可能会破坏特征空间(聚类损失不能保证局部结构的保存),从而导致无代表性的无意义特征,进而损害聚类性能。

贡献

在本文中,我们提出了改进的深度嵌入式群集(IDEC)算法来处理数据结构p保留。
具体来说,
(1)我们使用聚类损失作为指导来操纵特征空间以分散数据点。
(2)为了约束操作并维护数据生成分布的局部结构,应用了不完整的自动编码器。
(3)通过集成聚类损失和自动编码器的重建损失,IDEC可以共同优化聚类标签分配,并学习适用于使用局部结构保留进行聚类的功能。
(4)通过小批量随机梯度下降和反向传播可以有效地解决由此产生的优化问题。
(5)在图像和文本数据集上的实验从经验上验证了局部结构保存的重要性和算法的有效性。

总之:IDEC 可以联合执行聚类学习具有局部结构保护的代表性特征。

过程

概述

聚类损失与初始化

定义为分布P和Q之间的KL散度,其中Q是根据学生的t分布测量的软标签的分布,P是从Q得出的目标分布。也就是说,聚类损失定义为:
在这里插入图片描述
从我关于 DEC 总结的博客中我们可以知道:

软分配
测量嵌入点和质心之间的相似度:在这里插入图片描述
目标分布
目标分布(辅助分布)用来衡量样本属于某个聚类的分布:
在这里插入图片描述

局部结构保护

我们之前获得的嵌入点不一定适合聚类任务。 为此,DEC 放弃了解码器,并使用聚类损失Lc对编码器进行了微调。

但是,我们认为这种微调可能会使嵌入空间变形,削弱嵌入特征的代表性,从而损害群集性能。 因此,我们建议保持解码器不受影响,并将聚类损失直接附加到嵌入式空间。

为了确保聚类损失的有效性,在预训练中使用的堆叠式去噪自动编码器已不再合适。 因为应该对干净数据的特征进行聚类,而不是对自动编码器进行降噪的噪声数据进行聚类

因此,我们直接消除了噪音。 然后,堆叠的去噪自动编码器会退化为不完整的自动编码器(请参见第2.2节)。 重建损耗由均方误差(MSE)衡量:

在这里插入图片描述

优化

伪代码

在这里插入图片描述

结构图

在这里插入图片描述
IDEC的网络结构
编码器和解码器由完全连接层组成。

聚类损失用于分散嵌入点z,重建损失确保嵌入空间保留数据生成分布的局部结构。

实验

DataSets

对两个图像数据集和一个文本数据集评估了提出的IDEC方法:

•MNIST:MNIST数据集[LeCun等,1998]包含280000 x 28像素大小的总共70000个手写数字。 我们将每个灰度图像重塑为784维矢量。

•USPS:USPS数据集包含9298个灰度手写数字图像,大小为16x16像素。 功能为[0,2]中的浮点。

•REUTERS-10K:路透社包含大约810000个用类别树标记的英语新闻报道[Lewis等,2004]。 根据DEC [Xie et al。,2016],我们使用4个根目录类别:公司/工业,政府/社会,市场和经济学作为标签,并排除所有带有多个标签的文档。 受计算资源的限制,我们随机抽取了10000个示例的子集,并在2000个最常见的单词上计算了tf-idf特征。 采样的数据集称为REUTERS-10K。

在这里插入图片描述

Experiment Setup

比较方法
我们主要通过与DEC [Xie et al。,2016]进行比较来证明我们的IDEC算法的有效性,当重构项设置为零时,可以将其视为IDEC的特例。我们使用作者发布的公开代码来报告DEC的性能。两阶段深度聚类算法表示为AE + k-means,这意味着对预训练的自动编码器的嵌入特征执行k-means算法。这与进行聚类损失训练之前的DEC和IDEC结果相同。为了完整起见,在比较中还包括了两种传统和经典的聚类算法,即k均值和频谱嵌入式聚类(SEC)[Nie et al。,2011]。 k均值以不同的初始化运行20次,并选择具有最佳目标值的结果。 SEC是频谱聚类的一种变体,根据[Nie et al。,2011]在许多数据集上明确添加了线性正则化,并且优于传统频谱聚类方法。在作者提供的代码中,SEC的参数固定为默认值。

参数设置
遵循DEC [Xie et al。,2016]中的设置,编码器网络被设置为所有数据集的全连接多层感知器(MLP),尺寸为d-500-500- 2000-10,其中d是输入的维度数据(功能)。解码器网络是编码器的镜像,即尺寸为10-2000-500-500-d的MLP。除输入,输出和嵌入层外,所有内部层均由ReLU非线性函数激活[Glorot等,2011]。自动编码器网络的预训练设置与[Xie et al。,2016]完全相同,请参考本文以获取更多详细信息。在预训练之后,将所有数据集的聚类损失系数γ设置为0.1(通过{0.01、0.02、0.05、0.1、0.2、0.5、1.0}中的网格搜索确定),并将批大小设置为256。初始学习率λ= 0.001,β1= 0.9,β2= 0.999的优化器Adam [Kingma and Ba,2014]用于MNIST数据集,学习率λ= 0.1的SGD和动量β= 0.99用于USPS和REUTERS- 10K数据集。收敛阈值设置为δ= 0.1%。对于MNIST,USPS和REUTERS-10K,更新间隔T分别为140、30、3次迭代。

评估指标
所有的聚类方法均通过聚类精度(ACC)和归一化互信息(NMI)进行评估,这两种类型的方法广泛用于无监督学习场景中。

Result

我们在表2中报告了3个数据集上所有比较算法的结果。如图所示,深度聚类算法AE + k-means,DEC和IDEC优于传统聚类算法k-means和光谱嵌入式聚类(SEC)[Nie等 等人,[2011]],这表明在无监督聚类领域中深度学习的迷人潜力。 AE + k-均值与DEC之间的性能差距反映了聚类损失的影响。 IDEC的性能优于DEC,这表明自动编码器可以帮助提高群集性能。
在这里插入图片描述

图2说明了在MNIST上训练期间DEC和IDEC的行为。我们观察到以下现象。首先,最终精度符合表2中的结果,即IDEC优于DEC。其次,由于重建损失的波动,IDEC的s-低于DEC。第三,IDEC比DEC具有更大的聚类损失和更高的聚类精度。这意味着DEC的目标可能通过扭曲嵌入的特征空间并破坏数据的固有结构来误导聚类过程。最后,最后几次迭代的重建损失大约等于开始时的损失。这意味着由于自动编码器的聚类能力,从DEC到IDEC的性能改善不太可能。实际上,我们确实进行了一个实验,该实验仅通过各种优化器使用重建损失Lr(通过将(6)中的系数γ设置为0)来微调自动编码器,而在聚类精度方面未见任何改善。因此,我们假设自动编码器起着保持数据局部结构的作用,并且在这种情况下,聚类损失可以操纵嵌入式空间以获得更好的聚类精度。
在这里插入图片描述
图2:MNIST训练期间的准确性和损失。

通过在训练过程中可视化嵌入式特征空间,我们进一步证明了对自动编码器作用的假设。图3显示了在MNIST的随机子集上具有1000个样本的t-SNE [Maaten和Hinton,2008]可视化。从左到右,第一行是IDEC的训练过程,每个簇的“形状”几乎保持。相反,随着训练的进行,底部的“形状”发生了很大的变化。此外,当您关注由红色和蓝色(数字4和9)着色的聚类时,它们在第一列中仍是可分离的,但在最后一列中却是可区分的。这是DEC目标(集群损失)的漏洞。我们的IDEC并没有克服这个问题,但是比DEC更胜一筹。为了验证这一点,请参阅最后一列中的图:IDEC的蓝色和红色集群仍然有些可分离性,而在DEC中它们却完全混合了。从[Xie et al。,2016]的图5中未观察到此问题,但实际上是通过使用其发布的代码来发生的。 [Zheng et al。,2016]也指出了这一点。可以得出结论,自动编码器可以保留数据生成分布的内在结构,从而有助于聚类损失以适当地控制嵌入式特征空间。

在这里插入图片描述
图3:训练过程中MNIST子集上的聚类结果的可视化。 不同的颜色标记不同的簇。 第一行是我们的,第二行对应于DEC。 提议的IDEC收敛速度较慢,因为它也优化了重建损失。 两种方法都很好地分离了群集,但是第一行中的数据结构比DEC保留得更好。 注意红色和蓝色的点,它们在DEC中完全混合在一起,而在我们的IDEC中仍然可以以某种方式分离。

为了了解(6)中的聚类损失系数γ对IDEC算法的性能有何影响,我们通过在[10-2,102]范围内对γ进行采样,对MNIST数据集进行了实验。为了公平比较,将优化器设置为SGD,其动量为β= 0.9,与DEC的默认设置相同。学习率λ被依次设置为0.1、0.01、0.001、0.0001。如图所示
图4有以下观察结果。

为了获得最佳学习率,IDEC(λ= 0.1)优于当γ∈[0.05,1.0]时,DEC(λ= 0.01)。因为γ的值太小会消除聚类损失的积极影响,而γ值大则会使潜在特征空间变形。当γ→0时,聚类结果接近AE + k-means。

学习率λ和聚类系数γ是耦合的。对于较大的γ,需要较小的λ以保持性能。但是,小γ和大λ的组合会导致更高的性能。因此我们建议γ= 0.1。

在这里插入图片描述

发布了64 篇原创文章 · 获赞 9 · 访问量 4355

猜你喜欢

转载自blog.csdn.net/Avery123123/article/details/103194025
今日推荐