论文阅读08-SEDCN:Structure enhanced deep clustering network via a weighted neighbourhood auto-encoder
论文信息
论文地址:Structure enhanced deep clustering network via a weighted neighbourhood auto-encoder - ScienceDirect
代码地址:m22453/sedcn-nn (github.com)
1.存在问题
- 存在问题
- 由于 GCN 模块的过度平滑问题,结构信息可能在学习过程中消失,导致非代表性特征,从而恶化聚类性能. 列如SDCN 有一个局限性:由于 GCN 引起的过度平滑问题,其结构信息在学习过程中可能会消失。特别是,当多层堆叠在一起时,GCN 输出会收敛到一个与其权重和输入无关的区域
- SDCN 使用语义和结构表示的融合来缓解 GCN 的过度平滑问题。然而,消失的结构信息问题使得语义表示在 SDCN 中占主导地位:
语义特征就是特征矩阵
2. 解决问题
- 如何解决
创新点:
- 通过提出一个结构增强的深度聚类网络来解决这个问题。 GCN 特定的结构数据表示通过其结构信息得到增强和监督:将 GCN 特定的结构数据表示与结构增强语义 (SES) 表示相结合,在学习过程中加强了
- 一种名为加权邻域 AE (wNAE) 的新型结构增强 AE 用于学习每个数据样本的 SES 表示
- 设计了一个联合监督策略来统一指导 wNAE 和 GCN 模块的同时学习和聚类分配。
3.SEDCN model
1. model structrue
MBN 模型主要由3个模块组成:**wNAE 模块, GCN 模块和联合监督****。
- wNAE 模块:采用一种新颖的加权邻域自动编码器 (wNAE) 来学习结构化增强语义 (SES) 表示,以支持数据结构表示的学习。 wNAE 将高维数据输入映射到由其结构信息监督的低维表示,能够捕获数据本身及其邻域结构中描述的有用语义信息,通过结合 SES 表示在学习过程中加强 GCN 特定的数据表示。:wNAE 旨在自动学习有用的数据表示,以无监督的方式描述
数据本身及其邻域结构的语义信息:即数据本身和邻居特征
。 - GCN 模块:wNAE学习到的特征与GCN模块相结合,增强GCN模型在学习过程中学习到的结构表示,减轻结构信息消失的影响
- 联合监督模块:联合监督策略来统一指导 wNAE 和 GCN 模块的同时学习和聚类过程。联合监督策略采用两种类型的结构信息:从 wNAE 模块重建和聚类分区置信度。因此,整个模型可以形成一个统一的框架,并以端到端的方式进行聚类任务的训练
2.Weighted neighbourhood auto-encoder:wNAE模块
wNAE 旨在获得从数据本身及其邻域结构
中学习的 SES 表示:设计了一个加权邻域 AE,它根据邻接矩阵引入邻域结构信息,同时以加权方式保留数据本身的语义。
wNAE 使用每个样本及其邻居来调整特征空间的学习
。选择的相邻样本可以指导模型学习适合不同任务的各种特征。我们根据由先验知识确定的邻接矩阵 A 选择相邻样本
。数据本身的表示包含对聚类很重要的特定信息。因此,wNAE以加权的方式结合了这两种类型的信息
#计算数据本身及其邻域结构语义特征的加权平均
# 加载邻接矩阵
adj = load_graph(args.name, args.k)# 返回的是tensor向量稀疏格式
adj = adj.to(device)
# cluster parameter initiate
data = torch.Tensor(dataset.x).to(device)
data_n = torch.zeros_like(data).to(device)
adj_dense = adj.to_dense()# 将稀疏格式转为稠密格式;即邻接矩阵
# get the semantic from adj
for i in range(len(adj_dense)):
item = adj_dense[i]#获取i行的矩阵数据:即第i个节点
neighbs = item.nonzero().squeeze()# 非0 数据转换为数字索引
item_n = data[neighbs].mean(dim=0) + data[i]# 求i节点的相邻节点的特征平均和i节点的特征和
data_n[i] = item_n#存入到新的邻接矩阵中
3.Enhanced structural representation learning:GCN模块
wNAE根据邻接矩阵引入邻域结构信息,同时以加权方式保留自己的样本语义。 GCN 特定的结构表示由结构信息增强和监督,以减轻结构信息的消失。
wNAE 不仅可以用作表示学习的独立模块
,还可以增强结构信息
。在提出的 SEDCN 中,引入了 wNAE 来缓解 GCN 模块结构信息的消失
。从 wNAE 模块学习到的 SES 表示以逐层的方式传递给 GCN 模块
。具体来说,对于权重矩阵 W .
这部分没有损失函数
4. 联合监督模块
总损失函数:wNAE的损失函数,以及联合优化的两个损失函数kl 散度:
5. SEDCN算法流程图
4. result Analysis
1. 数据集
2. 实验结果
3.实验结果分析
- EDCN 性能强大的原因有两个:首先,wNAE 模块的输出和 GCN 模块的输入信息巧妙地联系在一起,确保两个模块共享相同的邻域结构。其次,统一框架减轻了 GCN 模块的过度平滑,进一步增强了结构学习过程。 wNAE的引入使得模型更适合聚类任务。
- 与其他模型相比,所提出的 SEDCN 在具有少量聚类的数据(例如 BBC、Reuters 和 DBLP)中有明显的改进,但在具有大量聚类的 USPS 数据集中几乎没有改进。数据集中的大量簇导致样本分布相互缠绕,从而导致样本邻域结构信息计算中引入噪声