论文: Overlapping Community Detection with Graph Neural Networks.
源码: https://github.com/shchur/overlapping-community-detection
文章概述
现有的用于社团检测的神经网络只检测不相交的社区,而真实的社区却是重叠的,针对这一不足,提出了一种基于GNN的重叠社区检测模型NOCD。文章通过GCN模型学习图的隶属关系矩阵(affiliation matrix)F,用最大似然估计使F生成的图和真实图尽量相似,从而获得每个节点所属的社区。
Algorithm/Model
Bernoulli–Poisson model
Bernoulli–Poisson(BP) model是一种允许重叠社区存在的图生成(graph generative)模型,根据隶属关系矩阵,可以生成对应的邻接矩阵,表示为:
是隶属关系矩阵F中节点u的行向量,直观来说,u和v的共同社区越多(即的点积越大),它们就越有可能有边相连。
Model definition
Bernoulli–Poisson模型的最大负对数似然估计:
真实世界的图通常是非常稀疏的,这意味着方程中的第二项对损失的贡献要远大于第一项。于是使用了不平衡分类(imbalanced classification)的技术,通过平衡这两项来使损失函数更加合理:
其中,和分别表示edges和non-edges上的均匀分布。
传统方法直接优化隶属关系矩阵F,本文使用GNN,寻找参数最小化平衡的负对数似然函数:
使用2层的图卷积神经网络GCN作为NOCD模型的基础,GCN定义为:
其中,。模型与标准GCN模型的两个主要区别是(1)第一个图卷积层后的batch normalization和(2)所有权重矩阵的正则化。模型有两种,一种是将节点属性X作为输入的NOCD-X,一种是使用邻接矩阵作为输入的NOCD-G。
Scalability
BP模型可以通过缓存技巧,使复杂度从降低到。通过不使用全部的邻接矩阵A,而是使用S个edges和non-deges的mini-batch,可以进一步加速。
在衡量指标的选取上,文章认为使用Jaccard和F1score可能非信息不完全的社区任意高的分数,而使用重叠归一化互信息(NMI)作为衡量指标更为健壮和有意义。
Experiment Detail
文章引入了4个新的论文引用数据集为了证明GNN的存在是必要的,还与将GNN替换成多层感知机(MLP)和直接优化F的方法进行了对比,结果说明使用GNN是有意义的