许多现实世界中的复杂系统可以被表征为带属性的网络。为了挖掘这些网络中的潜在信息,近年来深度嵌入式聚类受到了广泛关注,它能够同时获取节点表示和聚类。在不同视图数据一致性假设下,对于带属性的网络,网络拓扑的聚类结构和节点属性的聚类结构应该保持一致。然而,许多现有方法忽视了这一属性,它们通常分别从网络拓扑和节点属性中编码节点表示,并在从单一视图学习的表示向量上对节点进行聚类。
因此,本研究提出了一种针对带属性网络的端到端深度嵌入式聚类模型。该模型利用图自动编码器和节点属性自动编码器来学习节点表示和聚类分配。此外,引入了一种分布一致性约束,以保持两种视图中聚类分布的潜在一致性。在多个数据集上的广泛实验表明,与现有最先进的方法相比,该模型表现显著更优或具备竞争力。
许多现实世界的系统可以被建模为网络,例如社交网络、学术引用网络和蛋白质-蛋白质相互作用网络,其中节点表示对象,链接表示节点之间的关系对。除了节点的连通性信息,节点通常还与描述其属性的特征相关联。这两类信息能够隐式地反映并影响网络的结构。我们通常将这种网络称为“带属性的网络”。例如,学术引用网络可以被视为一种典型的带属性网络,其中每篇论文是网络中的一个节点,论文之间的引用关系构成了网络中的边,而每篇论文的属性通常由一个词袋模型来表征。
近年来,关于带属性网络分析的研究越来越多,如节点分类、节点聚类,甚至推荐系统等研究领域。俗话说,“物以类聚,人以群分”,聚类是带属性网络中的重要组成部分。一般而言,聚类旨在将网络中的节点划分为不相交的簇,这样同一簇内的节点不仅比簇外的节点更加密集地连接,而且簇内节点之间的属性相似性也高于不同簇节点之间的属性相似性。因此,识别聚类是一种有效的方法,可以帮助我们理解带属性网络所代表的系统的潜在功能。
在过去的几十年中,数据挖掘和机器学习领域对聚类进行了广泛的研究。此外,随着近年来深度学习技术的发展,许多深度学习模型被开发出来,以通过神经网络提升传统聚类方法的能力。这些方法可以利用节点的高维非线性特征和高关系性特征,逐渐适应高稀疏网络的挑战,并引起了关于节点聚类的广泛关注,尤其是对于大规模网络。
现有的带属性网络聚类深度学习模型大致可以分为两类:第一类使用网络嵌入方法,通过深度学习技术获取低维表示向量,然后采用典型的聚类方法(如K均值聚类或谱聚类)对节点进行聚类。我们将这种方法称为“二阶段方法”。然而,这种方法高度依赖深度学习模型的表示学习能力,而学到的表示可能并不适合节点聚类任务。相比之下,第二类方法是深度嵌入式聚类(DEC)方法,它将聚类和表示学习的目标直接整合到一个统一的框架中。我们称这种方法为“一阶段方法”。通过联合优化,DEC模型能够同时学习节点表示和相应的聚类结构,从而相互促进并获得更好的结果。现有研究表明,与二阶段方法相比,一阶段的端到端节点聚类方法表现更优。
近年来,各种DEC模型被提出并引起了研究者的极大兴趣。然而,大多数现有的DEC模型是为处理图像数据而设计的,无法直接用于处理带属性的网络。此外,一个给定的图像数据集可以通过构建k最近邻(kNN)图转化为带属性网络,从而获得全局结构信息,同时将图像特征保留为节点属性。因此,有必要进一步发展DEC模型,以捕获网络拓扑和节点属性中隐含的聚类结构,同时获得带属性网络的节点表示。
由于图卷积网络(GCN)提供了一种自然结合链接结构和节点特征的方法,近年来一些DEC模型采用GCN作为主干网络,以弥补之前忽略拓扑信息的不足,从而为带属性网络的聚类提供了更好的性能。例如,DAEGC使用图注意力自动编码器学习潜在表示,但缺乏对节点属性的重构,因此无法有效挖掘节点属性提供的区分性信息。SDCN结合自动编码器和GCN,以自监督的方式学习节点表示和隐藏的聚类分布,但忽略了网络拓扑的重构。我们认为,对原始网络(包括拓扑和节点属性)进行重构有助于学习更优的节点表示。同时,研究如何将网络学习到的隐藏向量投影到聚类分布,并保持实际的聚类结构,也具有重要意义。针对多视图聚类的一致性,对于带属性网络,网络拓扑的聚类结构和节点属性的聚类结构应该保持一致。在DEC过程中,不同视图的聚类分布的一致性约束比将两个表示向量融合后再聚类的方法更为鲁棒,甚至可以作为其替代方案。
基于这些观察,我们提出了一种端到端深度嵌入式聚类模型DCP-DEC(分布一致性保持深度嵌入式聚类)用于带属性网络。该模型旨在利用网络结构和节点属性同时学习更全面的节点表示并实现更优的聚类性能。在DCP-DEC模型中,我们使用以GCN为主干的图自动编码器(GAE)重构给定的网络,同时保留用于编码和解码节点属性的深度神经网络自动编码器。一旦从上述两个自动编码器获得节点表示向量,我们就使用它们计算软聚类分配。同时,基于KL散度的聚类损失在自监督深度嵌入式聚类机制下,针对网络拓扑和节点属性分别形成。为了保持两种聚类分布的一致性,我们进一步在模型中引入了一种分布一致性约束。实验研究表明,所提出的DCP-DEC模型能够实现我们的目标。
本研究的主要贡献总结如下:
在本研究中,无向属性网络被表示为图 G=(V,E,X),其中 ∣V∣=n|表示包含 n 个节点的集合 V={v1,v2,…,vn} ,E 表示边的集合。图 G 的拓扑结构通过邻接矩阵 A∈Rn×n来指定。如果节点 vi 和 vj之间存在一条边(即 eij=(vi,vj)∈E),则 aij=1,否则 aij=0。此外,X∈Rn×m表示属性矩阵,其中 m 是属性的维度。矩阵 X 的每一行描述节点 vi的属性,可以是离散的二进制值或连续的实数值。
给定一个属性网络 G,深度嵌入式聚类的目标是学习低维节点表示,同时将网络划分为多个组。这两个任务希望在一个端到端的统一框架中联合优化,并在训练过程中相互促进。具体来说,作者的目标是学习一个映射函数 f:(A,X)→Z∈Rn×d,其中 zi 是 Z 的第 i 行,表示节点 vi的潜在表示,且维度 d 满足 d<m 且 d<n。同时,希望将属性网络划分为 K 个互不相交的组 (G1,G2,…,GK),使得同一组内的节点不仅比组外节点连接更密集,而且组内节点对的属性相似性大于跨组节点对的属性相似性。
本节介绍作者提出的面向属性网络的端到端深度嵌入式聚类模型 DCP-DEC(分布一致性保持深度嵌入式聚类)。
图 1 展示了该模型的框架,主要由以下三部分组成:
该模块采用深度神经网络(DNN)对节点属性进行编码和解码,从而学习节点表示。通过获得的向量,利用学生 t 分布为每个节点生成软聚类分配,并相应地构建目标分布。在训练过程中,通过最小化解码器的重构损失和聚类损失(由目标分布与软分配之间的 KL 散度刻画)来实现统一优化。因此,在此步骤中,仅使用节点的属性信息获得聚类结果和节点表示。
该模块结合网络结构和节点属性,通过 GCN 编码器学习潜在表示,并通过内积解码器重构链接关系来指导学习过程。众所周知,网络拓扑通常非常稀疏,因此节点属性对于指导网络结构的重构非常有帮助。聚类过程与上述基于 AE 的 DEC 模块相同,在此视图中获得聚类分配。显然,该模块以网络拓扑为主要信息源,节点属性作为补充信息。
从上述两个模块中,分别基于不同的信息和学习过程获得了两种聚类分配。基于不同视图数据一致性的假设,引入了分布一致性约束,保持节点属性和网络拓扑(增强了节点属性)两种聚类结构的一致性。通过最小化两个模块产生的聚类分布之间的 KL 散度,可以获得更稳健和平滑的聚类结构,从而更好地融合两种不同视图,以完成属性网络的聚类任务。
AE(自编码器)模块仅编码节点属性以学习节点表示,并通过解码器重构输入数据。因此,可以使用多种自编码器及其变体,包括变分自编码器(VAE)[30]、去噪自编码器[41]和堆叠自编码器[42]等。在本研究中,作者简单地使用全连接的DNN(深度神经网络)作为编码器,将每个节点的属性映射为非线性低维潜在表示向量。编码器的公式如下:
其中,l∈{1,2,…,L} 表示DNN的层数,Z_a^{(0)} = X 是节点属性的初始输入,W_e^{(l)} 和 b_e^{(l)} 分别是编码器第l层的权重和偏置,ϕ是激活函数,如ReLU或Sigmoid。
随后,编码器后面接入一个解码器,使用编码器最后一层的表示重构输入属性。解码器也有L层全连接层,其公式如下:
解码器的输出是重构的属性矩阵 \hat{X} = \hat{Z}_a^{(L)}。因此,自编码器的重构损失定义为:
通过节点属性获得潜在表示 Za(L)∈Rn×d 后,可以生成软聚类分配矩阵 Qa∈Rn×K,其中 q_{ik}^a 表示节点 vi 被分配到簇 k 的概率。根据公式 (4),q_{ik}^a 利用Student’s t分布作为核函数来度量节点表示z_i^a 与簇中心 \mu_k^a 之间的相似性。节点越接近簇中心,其对应的软分配概率越高,并更值得信赖。随后,通过公式 (5) 构造目标分布 Pa,目标分布强调高置信度分配的数据点,以提高聚类纯度。需要注意的是,为了获取初始簇中心\mu_k^a (k = 1, 2, \ldots, K),作者首先仅通过最小化重构损失对自编码器进行预训练以获得有意义的表示 Za。随后,在学习表示上运行K均值算法初始化簇中心,而在随后的迭代训练中不再使用K均值。
根据之前的研究 [2, 4, 15, 17],作者希望当前分配 Qa逐步逼近目标分布 Pa,从而通过联合训练自编码器和聚类分配获得最终簇。聚类损失通过两种分布之间的KL散度定义如下:
为了获得可靠的簇,我们最小化公式 (6)。当 Qa 达到幂等时,损失趋于0。在此条件下,簇结构清晰,簇分布的熵最小。这种策略也称为“自监督”,是深度嵌入式聚类的主要思想 [4]。
简而言之,基于AE的深度嵌入式聚类模块仅使用节点属性,通过联合优化节点表示和聚类结构完成聚类任务。总体目标公式如下:
其中,α≥0 是平衡重构损失和聚类损失的控制系数。
对于属性网络,不仅节点属性可以反映聚类的特性,网络拓扑也能通过节点关系形成聚类。然而,之前的研究【43】表明,仅通过连接关系对网络进行分区可能导致聚类结构不佳,因为真实世界中的网络拓扑通常较为稀疏。因此,基于GAE的模块同时利用这两种信息来实现深度嵌入式聚类。这一模块从另一个角度补充了基于AE的模块,有助于获得更加稳健和可靠的最终聚类分布,同时学习到强大的节点表示。
具体来说,采用两层GCN作为编码器来学习节点表示,因为它在保留属性网络信息方面具有强大的能力【44】。编码器的逐层转换可用如下公式表示:
其中,\tilde{A} = A + I 表示网络拓扑,并在每个节点上添加了自循环;I 和 \tilde{D} 分别为单位对角矩阵和节点的度矩阵,其中 \tilde{D}_{ii} = \sum_j \tilde{a}_{ij}。此外,Z_g^{(0)} = X 表示节点属性被用作每个节点的初始表示向量,W 是可训练的权重矩阵,ϕ是ReLU激活函数。
为了保留原始网络结构并使学习到的表示更具判别性,引入了一个解码器来指导学习过程。在文献中,有多种解码器可以重构图结构【9,29】、节点属性【7,13】或两者【45,46】。由于GCN将网络拓扑视为主要信息,并且属性相似的节点往往会连接在一起,采用内积解码器来重构节点之间的关系。作为之前基于AE模块的对应部分,其公式如下:
通过最小化GAE的重构误差(公式10),可以得到另一种节点表示向量Z_g^{(L)}:
在获得GAE的节点表示后,可以对节点属性执行与基于AE的DEC模块相同的聚类操作。类似于公式4和公式5,利用 Z_g^{(L)} 生成软聚类分配 Qg 和目标分布 Pg,其中初始聚类中心 \mu_g^k (k = 1, 2, \cdots, K) 通过对预训练GAE的表示运行K-means得到。预训练过程对AE和GAE模型是相同的,具体将在实验部分详细描述。随后,通过优化以下聚类损失公式,迭代更新节点表示和节点的聚类:
与之前类似,为了在聚类任务中学习到更好的节点表示,我们将重构损失和聚类损失结合起来。该GAE模块的目标函数定义如下:
其中,β≥0是控制两种损失之间平衡的系数。因此,通过联合训练,可以细化聚类分配并同时获得节点表示。
尽管基于AE和基于GAE的DEC模块采用了相同的思路并看起来相似,但它们包含的信息是不同的。显然,两个模块的主要区别在于,基于AE的模块将节点属性作为信息来源,而基于GAE的模块则以网络拓扑为主要信息、节点属性为辅助。需要注意的是,如果GCN模型具有许多卷积层,其输出特征可能会过度平滑,导致不同聚类中的节点变得不可区分,从而影响聚类性能【15,44】。此外,多层GCN会增加计算复杂度。然而,仅有两三层的浅层GCN可能无法充分挖掘属性网络中隐藏的信息。幸运的是,研究已经证明,结合节点属性等其他信息能够增强GCN的学习能力。因此,本研究采用浅层GCN并以节点属性为补充,使得模型能够高效地学习有效的节点表示和聚类分配。
如前所述,可以通过两种不同的深度嵌入聚类模块(基于AE的DEC模块和基于GAE的DEC模块)分别获得节点表示和聚类分布。在不同视图的数据对象满足聚类一致性的假设下,归属性网络的网络拓扑聚类结构与节点属性的聚类结构应保持一致。因此,提出了聚类分布一致性约束,以尽可能使上述两个DEC模块学习的聚类分配保持一致。作者认为,该约束比在聚类之前融合两种表示向量更为稳健,有助于获得良好的聚类结果。
使用KL散度来衡量两个软分配 Qg和 Qa的差异,如公式 (13) 所示。由于 Qg来源于利用网络拓扑和节点属性的GAE模块,作者认为 Qg 比仅考虑节点属性的 Qa含有更丰富的信息。因此,我们将 Qg 用作指导,形成KL约束,即鼓励基于AE模块学习的聚类分布与基于GAE模块学习的聚类分布相匹配。
通过最小化 Qg和 Qa之间的KL散度,一致性约束引导两个聚类分布趋于一致,使模型满足聚类一致性假设。这样,两个DEC模块学习的节点表示在该约束的指导下迭代更新,形成一个统一的端到端框架。
综上所述,上述三部分相互配合,共同优化网络中节点表示的学习和节点的聚类过程。DCP-DEC模型的总体损失函数定义如下:
这三个项分别对应上述的三部分:第一项是基于AE模块的损失,第二项是基于GAE模块的损失,第三项是分布一致性约束。此外, γ≥0是控制一致性约束权重的系数,用于平衡训练过程中整体损失。作者希望通过反向传播中的随机梯度下降最小化给定归属性网络的公式 (14),从而获得更好的聚类分配,同时学习到具有判别力的节点表示。DCP-DEC模型的整体学习过程如算法1所示。
值得一提的是,新提出的DCP-DEC模型直接从聚类分配 Qg输出最终的聚类结果,这与单阶段策略相匹配。具体来说,节点 vi 的聚类 ci可以通过以下公式估计:
这一篇也是在SDCN的基础上演化的,最近在找对比实验的模型,所以学习复现一下。。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务