cite:
@inproceedings{li2024contrastive,
title={Contrastive deep nonnegative matrix factorization for community detection},
author={Li, Yuecheng and Chen, Jialong and Chen, Chuan and Yang, Lei and Zheng, Zibin},
booktitle={ICASSP 2024-2024 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
pages={6725--6729},
year={2024},
organization={IEEE}
}
代码地址:https://github.com/6lyc/CDNMF.git
摘要
最近,非负矩阵分解(NMF)因其良好的可解释性被广泛应用于社区检测。然而,现有的基于NMF的方法存在以下三个问题:
- 它们直接将原始网络转换为社区成员空间,因此难以捕捉层次信息;
- 它们通常只关注网络的拓扑结构,而忽略节点属性;
- 它们难以学习社区检测所需的全局结构信息。
因此,作者提出了一种新的社区检测算法,称为对比深度非负矩阵分解(CDNMF)。首先,作者通过加深NMF模型来增强其信息提取能力。随后,受对比学习的启发,作者创新性地将网络拓扑和节点属性构建为两种对比视图。此外,引入了去偏负采样层,并在社区层面学习节点相似性,从而提高模型在社区检测中的适用性。
作者在三个公共真实图数据集上进行了实验,结果表明,所提出的模型相较于最新的方法取得了更优的效果。
1引言
社区检测(Community Detection, CD)是复杂网络分析中的一项基础任务,其目标是将网络划分为多个子结构,每个子结构对应一个社区。有效的划分需要同一社区内的节点之间具有密集连接,而不同社区节点之间的连接则较为稀疏【1】。挖掘社区结构是揭示和理解复杂网络系统组织原则和运行机制的关键。例如,在社交网络中,平台通过检测不同的用户社区来优化好友推荐和广告投放。
过去的二十年中,许多经典的社区检测算法被提出,例如模块度(modularity)【2】、传导性(conductance)【3】和持久性(permanence)【4】。然而,这些方法通常只能将每个节点分配到一个社区,从而限制了其适用范围【5】。近年来,也有一些基于神经网络的方法被开发出来,例如 GUCD【6】和 VGAER【7】。但这些方法的训练过程类似于"黑箱",导致结果的可解释性较低。此外,研究者还提出了一些基于非负矩阵分解(NMF)的社区检测算法【8】,因其良好的数学可解释性和对重叠社区检测的天然适用性而被广泛应用。
NMF 算法将图的邻接矩阵 A \in \mathbb{R}^{n \times n}_+ 分解为以下形式:
A≈UV,s.t. U≥0,V≥0.
其中,两个非负矩阵因子 U \in \mathbb{R}^{n \times r}+ 和V \in \mathbb{R}^{r \times n}+ 可被得到。假设图中的社区数量为 r,因子矩阵 U 可被视为原始网络与社区成员空间之间的映射,其中 U 的每一列 ui(i=1,2,...,r)表示该空间的基向量。因子矩阵 VV可被视为节点表示矩阵(社区指示矩阵),其元素 vi,j 量化了第 j 个节点属于第 i 个社区的倾向性。总体来说,NMF 算法的分解过程和结果具有较强的可解释性。此外,在执行重叠社区检测时,可以根据矩阵 V 为每个节点分配具有较高倾向性的多个社区。
NMF 的一些变体方法表现更优,例如正交非负矩阵分解(Orthogonal Nonnegative Matrix Factorization, ONMF)【9】、贝叶斯非负矩阵分解(Bayesian Nonnegative Matrix Factorization, BNMF)【10】、非负矩阵三因子分解(Nonnegative Matrix Tri-factorization, NMTF)【11】和 MX-ONMTF【12】等。然而,这些方法仍然存在以下三个主要问题:
- 这些方法较为浅层,通常只有单层或双层映射用于连接原始网络与社区成员空间。实际网络具有复杂的组织原则,浅层 NMF 难以有效提取这些信息。
- 这些方法倾向于仅关注网络的拓扑结构,而忽略节点属性。在社会科学中已有研究表明,节点属性能够反映并影响其所在社区的结构【13】。
- 这些方法难以捕捉网络中的社区级别信息。基于 NMF 的方法主要关注相邻节点之间的相似性,难以提取社区检测所需的全局结构信息。
为了解决现有方法的局限性,本文提出了一种新的社区检测算法,称为对比深度非负矩阵分解(Contrastive Deep Nonnegative Matrix Factorization, CDNMF)。总体而言,作者的主要贡献如下:
- 提出使用深度非负矩阵分解(Deep NMF, DNMF)作为骨干,以增强模型的表示学习能力。
- 构建了一个对比学习框架,基于 DNMF 统一学习图的拓扑结构和节点属性。此外,通过引入去偏负采样层来过滤虚假负样本,我们的模型更好地学习了社区级别的信息。
- 进行了广泛的实验来评估 CDNMF 的优越性和效率。结果表明,该算法在多个基准数据集上的性能优于其他最新的社区检测方法。
模型
在本节中,将从三个模块描述CDNMF模型,其总体框架如图1所示。
2.1 DNMF层
为了从原始网络拓扑中提取层次化信息,作者将邻接矩阵A重新构造为深层形式:
其中,V_p \in \mathbb{R}+^{r \times n}, U_i \in \mathbb{R}+^{r_{i-1} \times r_i} (i=1,2,...,p) 且 n=r0≥r1≥...≥rp−1≥rp=r。r是网络中的社区数量,∥⋅∥F表示矩阵的弗罗贝尼乌斯范数。每个矩阵Ui(i=1,2,...,p)可解释为包含不同层次信息的第i个特征矩阵。U1U2...Un 是原始网络到社区隶属空间的整体映射,而矩阵Vp是深度变换后的节点表示矩阵,每一列可以被理解为某节点属于不同社区的倾向性。
为了将式(1)中的带约束优化问题转化为无约束问题,为每个非负矩阵设计了惩罚项。首先,定义一个函数f:Ra×b→Ra×b满足:
其中B∈Ra×b。简而言之,函数f用于将输入矩阵的正值元素转化为0,同时保持负值元素不变。自然地,矩阵Ui(i=1,2,...,p)的惩罚项定义为:
同样,矩阵Vp的惩罚项定义为:
结合式(3)和式(4),将式(1)的优化问题转化为以下无约束目标函数:
其中,α>0是非负惩罚项的系数。类似地,对于网络的节点特征矩阵X,得到以下目标函数:
最终,获得了DNMF项的目标函数:
此外,为了在深度层次映射中保留节点对的固有几何结构,引入了图正则化项:
其中,L=D−A是图拉普拉斯矩阵,D是对角矩阵,其对角元素为A的行和,tr(⋅)表示矩阵的迹。
然后,对两种视图的图正则化项进行优化,得到以下目标函数:
2.2 去偏负采样层
在 DNMF 层之后,可以从节点表示矩阵中获得伪社区标签,从而减少假负样本的数量。具体而言,首先通过以下公式获得伪标签:
接下来,移除与节点 vi具有相同伪标签的所有节点,从而得到节点 vi 的去偏负采样集合Ne_i:
实际上,随着训练迭代的进行,伪社区标签的准确性会不断提升。
2.3 图对比学习层
如图 1 所示,将网络的邻接矩阵 A 和节点属性的特征矩阵 X 作为两种视图进行对比学习。具体来说,对于每个节点 vi,将拓扑视图生成的表示向量 Vp(:,i) 作为锚点,节点属性视图生成的表示向量 Hm(:,i)作为正样本,而式 (11) 中集合 Nei中节点的表示向量作为负样本。
然后,对于每个正样本对 (Vp(:,i),Hm(:,i)),定义对比损失如下:
其中:
- θ(v,h)=s(g(v),g(h)),s 是余弦相似度函数,g是一个两层的 MLP(多层感知机)。
- 是指示函数,若k \in Ne_i 则取值为 1,否则为 0。
- τ 是温度参数。
正样本对比从每个节点的拓扑和属性中提取一致性和互补信息,而负样本对比通过扩大不同社区间的距离,使模型能够学习到节点间的社区级别相似性。
在图对比学习层中,优化每个节点的对比损失,从而得到对比学习项的目标函数:
2.4 训练过程
对各层进行联合优化,并将总目标函数定义如下:
其中,β,γ>0 是调节系数。在算法 1 的训练过程中,每个节点 vi的预测社区标签为:
3实验
3.1参数设置
具体来说,将模型中的隐藏层数量固定为 3。对于 Cora 数据集使用的参数是:α=150,β=2.0,γ=5.0,τ=1.4; 对于 Citeseer 数据集使用的参数是:α=1000,β=2.0,γ=5.0,τ=0.5 对于 PubMed 数据集使用的参数是:α=200,β=10,γ=5.0,τ=1.4。此外,ACC 和 NMI 将用于评估每种 CD 方法。运行每个算法 20 次,并报告平均结果。
社区检测与聚类具有相似性,后面将进行分析。。