论文信息
论文标题:Improved Deep Embedded Clustering with Local Structure Preservation
论文作者:Xifeng Guo, Long Gao, Xinwang Liu, Jianping Yin
论文来源:2017, IJCAI
论文地址:download
论文代码:download
1 Introduction
本文解决的思路:
-
- 使用聚类损失函数指导代表特征空间的 points 分布;
- 采用 under-complete autoencoder 维护数据的局部结构;
- 联合 聚类损失 和 AE 损失 来训练。
2 Related Work
2.1 Deep Clustering
目前阶段的聚类算法:
- Two-stage work that applies clustering after having learned a representation;[ 该方法基于良好的表示 ]
- Approaches that jointly optimize the feature learning and clustering;[ 特征学习的时候同时进行聚类 ]
对于 1 举例:
-
- Tian et al., 2014 :先使用 AE 学到低维有用表示,然后使用 k-means 进行聚类;
- Chen, 2015 :层级训练深度信念网络(DBN),然后将 non-parametric maximum-margin 聚类应用于学习到的中间表示;
- Peng et al., 2016 : 使用稀疏自编码器,同时自适应学习局部和全局结构信息的表示,再采用传统的聚类算法进行聚类;
对于 2 举例:
-
- Yang et al., 2016 :proposes a recurrent framework in deep representations and image clusters, which integrates two processes into a single model with a unified weighted triplet loss and optimizes it end-to-end.
- Xie et al.,2016 :DEC 通过深度神经网络学习从观测空间到低维潜在空间的映射,可以同时获得特征表示和聚类分配;
2.2 Autoencoder
AE 有两个部分:
-
- Encoder:编码器函数为 ,输出表示 。
-
- Decoder:解码器函数为 ,根据表示 重构原始输入 。
两种常见的自编码器:
-
- 欠完备自编码器( Under-complete autoencoder): 的维度要小于原始输入的维度。
- 去噪自编码器( Denoising autoencoder):
Reference:
2.3 Deep Embedded Clustering
DEC 首先对 AE 进行预训练,然后丢弃解码器,通过优化以下目标进行微调:
其中:
-
- 是表示 和聚类中心 之间的相似度。定义为:
-
- Eq.2 中的 是目标分布,定义为:
DEC算法:
-
- 首先,对原始数据集 ,跑一遍 AE ,获得 Encoder 生成的表示 ;
- 其次,基于 ,使用传统的 ,获得若干聚类中心 ;
- 然后,根据 Eq.3 和 Eq.4 计算得的 和 去计算 Eq.2 中的 ;
- 最后,根据 进行 分配。
3 Improved Deep Embedded Clustering
本文 model 有两个必不可少的部分:
-
- Autoencoder;
- clustering loss;
模型架构如 Fig.1. 所示:
目标函数定义为:
其中:
-
- 是重构损失;
- 是聚类损失;
- 是控制 the degree of distorting embedded space 的系数,当 或 即是DEC的目标函数;
3.1 Clustering loss and Initialization
回顾 DEC 聚类损失函数(参考前面提到的 Eq.2. 、Eq.3.、Eq.4.):
通过 DEC model 给的启发:
-
- 预训练:使用堆叠降噪自编码器(stacked denoising autoencoder)。
- 然后基于预训练生成的有效表示 使用 获得聚类中心 。
3.2 Local structure preservation
由于 DEC 直接丢弃 Decoder 并通过聚类损失 直接微调编码器,可能造成嵌入空间的扭曲。[ 说白了就是研究 Decoder 的影响 ]
所以本文提出保持解码器不变,直接将聚类损失加到嵌入空间中去。
本文将堆叠降噪自编码器替换为欠完备自编码器,重构损失 [ Mean Squared Error ] :
3.3 Optimization
Eq.6 采用小批量随机梯度下降法优化,有三个参数需要优化,分别是:
- 自编码器的权重参数
- 聚类中心
- 目标分布
首先阐述:更新自编码器权重参数和聚类中心
固定目标分布 ,优化
-
- 聚类中心更新公式:
-
- 解码器权重参数更新公式:
- 编码器权重更新公式为:
$
由于目标分布 是基于 soft label [ 依托于 ] ,频繁更新容易造成不稳定,所以 的更新并没有在每个 iter 中更新,而是在每个 batch 中更新。但是实际上,本文是在 每 T iterations 进行更新。label 分配方法如下:
这里当连续两次分配的百分比小于 将停止训练。

4 Experiments
数据集
- MNIST [图像数据集]:70000张手写数字图
- USPS [图像数据集]:9298张灰度手写数字图
- REUTERS-10K [文本数据集]:810000篇有标签新闻报道,这边采样10000篇报道。
聚类结果
实验1:实验结果如 Table 2 所示:
结论:
-
- 深度聚类方法: AE+k-means, DEC和 IDEC 表现明显优于传统方法,但这三种方法之间仍存在很大的差距。
- AE+k-means 和 DEC 相比证明了聚类损失的指导意义,DEC 和 IDEC 相比证明了自编码器可以提高聚类性能。
实验2:DEC 和 IDEC 对比实验:
结论:
-
- IDEC 聚类精度高于 DEC ;
- IDEC 收敛慢于 DEC ;
- IDEC 聚类损失高于 DEC ;
- 最后几次迭代重构损失和初始迭代损失相差不大;
实验3:DEC 和 IDEC 可视化对比实验:
上下行分别是 IDEC 和 DEC 的 t-SNE 可视化结果。
实验4:DEC 和 IDEC 参数 和 的对比实验:
结论:
-
- IDEC在最佳学习率 的情况下优于 DEC 在最佳学习率 当 ;
- 对于较大的 需要搭配较小的 ;
5 Conclusion
本文提出了改进的深度嵌入式聚类(IDEC)算法,该算法联合进行了聚类,并学习了适合于聚类的嵌入式特征,并保留了数据生成分布的局部结构。IDEC通过优化基于KL散度的聚类损失来操纵特征空间来散射数据。它通过合并一个自动编码器来维护局部结构。实验实验表明,结构保存对深度聚类算法至关重要,有利于聚类性能。未来的工作包括:在IDEC框架中添加更多的先验知识(如稀疏性),并为图像数据集合并卷积层。
修改历史
2022-02-13 创建文章
2022-06-09 修订文章
因上求缘,果上努力~~~~ 作者:别关注我了,私信我吧,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/15887299.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)