标题: A Comprehensive Survey on Community Detection with Deep Learning
(基于深度学习的社区检测研究综述)
作者团队: 麦考瑞大学计算机学院苏兴
摘要: 检测网络中的社区是辨别一组成员的不同特征和联系的问题,这些特征和联系与其他社区中的成员不同。执行此操作的能力在网络分析中具有重要意义。然而,除了经典的光谱聚类和统计推理方法之外,近年来用于社区检测的深度学习技术也取得了重大发展,尤其是在处理高维网络数据时。因此,对通过深度学习进行社区检测的最新进展进行全面审查是及时的。为了构建调查框架,我们设计了一种新的分类法,涵盖了不同的最先进方法,包括基于深度神经网络 (DNN) 的深度学习模型、深度非负矩阵分解和深度稀疏过滤。主要类别,即 DNN,进一步分为卷积网络、图注意力网络、生成对抗网络和自动编码器。此外,还总结了用于解决实验设置的常用基准数据集、评估指标和开源实施。接下来讨论了社区检测在各个域中的实际应用。调查结束时提出了具有挑战性的主题,这些主题将为这个快速增长的深度学习领域的未来研究方向带来丰硕的成果。
文献链接: https://ieeexplore.ieee.org/document/9732192
1.背景
社区检测是一个越来越具有现实意义的研究领域。许多传统的技术,如频谱聚类和统计推断应用于小型网络和简单的情况。然而,现实世界的网络具有丰富的非线性信息,使得传统的模型不太适用于实际应用,包括复杂的拓扑结构和高维特征。它们的计算成本非常昂贵。深度学习的强大技术为以下方面提供了灵活且具有良好社区检测性能的解决方案:(1)学习非线性网络特性,如节点之间表示边的关系;(2)表示保留复杂网络结构的低维网络嵌入;(3)从各种信息中实现更好的社区检测。因此,深度学习用于社区检测是一个新的趋势。
2. 文章主要框架
本文旨在帮助研究人员和从业者从以下方面了解社区检测领域:
- 系统分类和综合评价。 本文为这次调查提出了一个新的系统分类(见下图)。对于每个类别,回顾、总结和比较了代表性作品。同时还简要介绍了社区检测在现实世界中的应用。这些场景为未来的社区检测研究和实践提供了前景。
•丰富的资源和高影响力的参考文献。 该调查收集了开放资源,包括基准数据集、评估指标和技术实现。最新的高影响力国际会议和高质量同行评审期刊的出版物涵盖数据挖掘,人工智能,机器学习和知识发现。
•未来方向。 由于深度学习是一个新的研究领域,文章讨论了当前的局限性,关键挑战和未来方向的开放机会。
本文的其余部分组织如下:
- 定义了深度学习方法的基本符号、概念、输入和输出;
- 概述了社区检测的发展;
- 介绍了深度学习的分类;
- 总结了对分类学中每个类别的全面审查;
- 组织了流行的实现资源和实际应用;
- 讨论了当前面临的挑战,提出了未来的研究方向。
3.深度学习方法的基本符号
以下为文章中符号定义。
4. 社区检测的发展历程
社区检测在网络分析和数据挖掘中具有重要意义。上图展示了其从传统学习到深度学习的发展历程。它们各自的类别分别在第二节中图的左右两部分进行了总结。两类方法表明了发展变化。传统的方法主要是从网络结构来探索社区。深度学习揭示了深度网络信息,并为从高维数据到低维向量的复杂关系建模。
- Graph Partition 图分类
这些方法被称为图聚类,用于深度学习模型。他们将网络划分为具有给定数量的社区K. Kernighan-Lin是一种代表性的启发式算法。
它首先将网络划分为两个任意的子图,并在节点上进行优化。谱平分是应用谱拉普拉斯矩阵的另一种代表性方法。 - Statistical Inference 统计推断
随机块模型(Stochastic Block Model, SBM)是一种应用广泛的生成模型,通过将节点分配到群体中并控制其似然概率。其变体包括度校正SBM (DCSBM)和混合隶属度SBM (MMB)。 - Hierarchical Clustering 层次聚类
这组方法以三种方式发现分层的群落结构(即树形图):分裂、聚集和杂交。GirvanNewman (GN)算法以分裂的方式发现社区结构,通过连续去除边缘,使新社区出现。FastQ (Fast Modularity)是一种聚类算法,它逐步合并节点,每个节点最初被视为一个社区。基于结构相似度(CDASS)的社区检测算法以混合的方式联合应用分裂和凝聚策略。 - Dynamical Methods 动态方法
利用随机游动动态检测群体。例如,WalkTrap中的随机行走计算节点距离和社区成员的概率。信息映射(InfoMap)应用最小长度编码。标签传播算法(Label Propagation Algorithm, LPA)通过信息传播机制识别扩散社区。 - Spectral Clustering 谱聚类
网络光谱反映了群落结构。谱聚类在归一化拉普拉斯矩阵和正则化邻接矩阵上对网络进行划分,并在伪似然算法中拟合SBM。关于归一化拉普拉斯矩阵的谱,西蒙等在宏观和微观神经脑网络中整合社区,获得集群。 - Density-based Algorithms Density-based算法
重要的聚类算法包括基于密度的带噪声应用空间聚类(DBSCAN)、网络结构聚类算法(SCAN)和定位结构中心社区检测(LCCD)。他们通过测量实体的密度来识别社区、中心和异常值。 - Optimizations 优化方法
社区检测通常使可能性最大化。模块化(Q)继其变体FastQ之后最经典的优化函数。Louvain是另一种著名的优化算法,它在优化模块化上采用了节点移动策略。此外,贪婪优化的扩展包括模拟退火、极值优化和谱优化。在局部和全局搜索中有效,进化优化包括单个和多个目标。例如,Multi-Agent Genetic Algorithm (MAGA-Net)采用单一模块化函数。Combo混合了归一化互信息(NMI)和电导(CON)。
5.基于深度学习的社区检测方法分类
根据所采用的深度学习模型的标志性特征,本研究提出了深度社区检测方法的分类。该分类法总结了**卷积网络、图注意网络(GAT)、生成对抗网络(GAN)、自动编码器(AE)、深度非负矩阵分解(DNMF)和深度稀疏滤波(DSF)**六大类。在这个分类中,卷积网络包括卷积神经网络(CNN)和图卷积网络(GCN)。它们都为社区检测提供了表示潜在特征的卷积。服务贸易总协定在特别注意社区信号方面具有重要意义。将GAN模型中输入图和假样本之间的对抗训练过程成功地应用于社区检测。在通用的声发射框架中,子类别包括堆叠声发射、稀疏声发射、去噪声发射、图卷积声发射、图关注声发射和变分声发射(VAE)。
5.1 基于卷积网络的社区检测
应用卷积网络模型的社区检测包括卷积神经网络(convolutional Neural Networks, CNN)和图卷积网络(Graph convolutional Networks, GCNs)。CNN是一类特殊的前馈深度神经网络(DNN),用于网格状拓扑数据(如图像数据),其中卷积层降低了计算成本,池化算子确保了CNN在特征表示方面的鲁棒性。GCNs被提出用于基于cnn的图结构数据,并在光谱滤波器的一阶近似上执行。
5.1.1 CNN
现有的基于CNN的社区检测方法实现的CNN模型具有严格的数据输入限制,因此需要对图像格式化和标记的数据进行预处理(如下图)。
作为卷积神经网络(CNN)的输入,图被预处理成节点或边缘上的图像数据。d维潜在特征在多个CNN隐藏层中进行卷积映射,最终的完全连接层输出每个节点或每个边的表示用于分类。该流程以节点为重点,预测了k类中的社区标签,具有相同标签的节点被聚集到一个社区中。关注边缘,预测两类边缘标签,即内部和内部。通过去除社区间的边缘形成初步社区,并通过合并测量(如Modularity Q)来优化社区。
传统的社区检测是深度学习模型的无监督学习任务,拓扑结构不完整影响其邻域分析,降低了社区检测的准确性。然而,现实世界中的网络具有有限的结构信息。为此,Xin等提出了第一个基于监督CNN的拓扑不完全网络(Topologically Incomplete Networks, TINs)社区检测模型。该模型有两个CNN层,其中最大池化算子用于网络表示,一个完全连接的DNN层用于社区检测。CNN架构逐渐从原始输入中恢复完整的潜在特征。卷积层从不同的角度表示每个节点的局部特征。最后一个完整连接层f更新每个节点的社区。
为了处理大规模社交网络中的高稀疏性,以下两种方法对特定的稀疏矩阵(即邻接矩阵的非零元素)进行有效的社区检测。Sperl´ir在CNN中设计了稀疏矩阵卷积(SparseConv)。Santo等进一步提出了一种使用SparseConv2D算子的稀疏CNN方法,使得该方法中的运算次数显著减少。
5.1.2 GCN
GCNs在深度图卷积层中聚合节点邻域信息,以全局捕获复杂特征进行社区检测(下图)
GCNs的社区检测方法有两类:(1)监督/半监督社区分类,(2)无监督网络表示的社区聚类。社区分类方法受到现实世界中缺乏标签的限制。相比之下,网络表示通过矩阵重构和目标优化等技术更灵活地聚类社区。附录A中的表5对这些技术进行了比较。
GCNs采用几种传统的社区检测方法作为深度图算子,如用于统计推断的sbm、用于频谱分析的拉普拉斯矩阵和用于信念传播的概率图模型。例如,线形神经网络(Line Graph Neural Network, LGNN)是一种监督社区检测模型,它改进了SBMs,具有更好的社区检测性能,降低了计算成本。LGNN将非回溯算子与信念传播的消息传递规则相结合,学习有向网络中节点表示的特征。
一种名为MRFasGCN的半监督GCN社区检测模型通过将网络特定的马尔可夫随机场扩展为新的卷积层(eMRF)来表征隐藏社区,使MRFasGCN面向社区,并对GCN的粗糙结果进行平滑细化。
为了实现无监督社区检测,基于GCN的框架设计了一个本地标签检测。通过将标签采样模型与GCN相结合,SGCN在不需要任何先验标签信息的情况下,在训练每个节点的社区成员时对网络拓扑和节点属性进行编码。
在概率推理框架方面,可以通过生成模型来推断节点的社区隶属关系来解决重叠社区的检测问题。例如,神经重叠社区检测(NOCD)结合伯努利-泊松(BP)概率模型和两层GCN,通过最小化BP的负对数似然来学习社区隶属向量。通过设置阈值,不断识别和去除弱关联,得到最终的社区。
谱GCNs表示节点邻域的所有潜在特征。在深度GCN层中,通过重复操作拉普拉斯平滑,相邻节点的特征收敛到相同的值。然而,这些模型在社区检测中存在过平滑问题。为了减少负面影响,图卷积梯形网络(Graph Convolutional Ladder-shape Networks, GCLN)被设计为一种新的GCN架构,用于无监督社区检测(k-means),该架构基于CNN领域的U-Net。在GCLN中对称地建立了一条收缩路径和一条扩张路径。从收缩路径中捕获的上下文特征与在扩展路径中学习到的本地化信息融合。
自适应图编码器(AGE)是另一种可扩展到社区检测的平滑滤波器模型。
5.2 基于图注意网络的社区检测
图注意网络(GATs)通过可训练的权重对邻域内节点的特征进行关注聚合,如下图。
在群体检测中注意机制有助于自适应学习邻域中每个节点的重要性。相似节点之间的相关性计算接近社区成员的基本真值,这是GAT表示中继承的。这些关注过滤空间关系或整合元路径。因此,可以很容易地检测到属性、多路、异构网络中的社区。
在深度社区检测模型中需要特别注意这些关系。例如,引文和共同主题关系在将论文聚类成研究主题时都很重要。多路网络由反射在边(即E®)上的多个关系类型构成。每一种类型的边都被分组在一个层r中。因此,GATs可以关注关系类型。Deep Graph Infomax for attributmultiplex network embedding (DMGI)独立地嵌入每个关系类型,并计算网络嵌入以最大化全局共享特征以检测社区。它通过鉴别器在每一层的原始网络和损坏网络之间进行对比学习。
随后,将一致性正则化与注意系数应用于最终嵌入的积分。应用注意机制的好处是通过弱化不显著关系的系数对不显著关系进行预处理,特别是当存在多种类型的关系时。尽管外在监督信号在多个关系中全局共享,但DMGI无法将内在信号捕获到考虑节点属性的节点嵌入中。
为了填补这一空白,开发了高阶深度复用信息传输(HDMI)来捕获信号及其相互作用。HDMI进一步设计了基于社区成员关系语义关注的多路网络层节点嵌入组合融合模块。
异构信息网络(HIN)涉及到不同类型的节点V和边缘E。异构网络上的深度社区检测代表了异构的类型和属性X。元路径聚合图神经网络(MAGNN)通过多信息语义元路径提供了一种优越的社区检测解决方案,该多信息语义元路径可区分图注意层中的异构结构。MAGNN根据语义信息生成节点属性。由于元路径内和元路径间存在异构节点和边缘,MAGNN通过聚合节点和元路径上的语义差异,在它们的嵌入中都利用了注意机制。因此,MAGNN减少了高度的异构性,并嵌入了更丰富的拓扑和语义信息,以提高社区检测结果。此外,HeCo从HINs中嵌入了网络模式和元路径。采用改进的对比学习方法指导两部分嵌入。注意机制依次作用于节点重要性、网络异质性和语义特征,社区检测在这些方面受益。
上述两项工作都使用元路径来促进社区检测,但定义有意义的元路径需要大量的领域知识。因此,构建基于上下文路径的图神经网络(CP-GNN)来通过上下文路径学习节点嵌入,其中利用注意机制来区分不同关系的重要性。非预定义的上下文路径对于捕获用于社区检测的高阶关系非常重要。
5.3 基于生成对抗网络的社区检测
对抗训练在生成模型中是有效的,可以提高辨别能力。然而,当应用于社区检测时,需要解决过拟合问题。
生成式对抗网络(GANs)在对抗框架中竞争性地训练一个生成器φg和一个判别器φd。带有生成对抗学习(SEAL)的种子扩展通过带增量更新(iGPN)的图指针网络从选定的种子节点生成种子感知社区。它在群落层面由生成器、鉴别器、种子选择器和定位器四个部分组成。该鉴别器采用图同构网络(GINs)对生成的社区进行修改,使其具有社区标签的真值。定位器的目的是向生成器提供正则化信号,从而消除社区检测中不相关的节点。
对于不平衡群体,双正则化图卷积网络(dual- regularization Graph Convolutional Networks, DR-GCN)在双正则化GCN模型中使用条件GAN,即潜在分布对齐正则化和类条件对抗性正则化。
联合对抗网络嵌入(joint Adversarial Network Embedding, JANE)不是只生成一种假样本,而是利用拓扑和节点属性两种网络信息来捕获真样本和假样本对抗组的语义变化。
然而,在现实世界中,稀疏连接的网络不能提供足够的边缘。网络中的属性不能通过接近度来衡量。为了解决这些限制,邻近生成对抗网络(ProGAN)从一组实例化的三元组中编码每个节点的邻近性,以便在低维空间中发现和保存社区关系。
针对重叠社区,提出了基于生成对抗网络的社区检测(CommunityGAN),该方法通过为每个节点-社区对分配一个非负因子来获得节点表示。为了捕获全局结构信息,社区感知网络嵌入(CANE)将社区检测模型,即Latent Dirichlet Allocation (LDA)集成到对抗节点表示过程中。
基于对抗学习(ACNE)的网络嵌入和重叠社区检测进一步生成负社区作为假样本,以学习不同的社区代表。ACNE利用带感知的步行策略辅助节点重叠社区的采样,并利用鉴别器对节点进行联合映射和社区成员嵌入,以保持节点-社区在表示中的相关性。
5.4 基于自编码器的社区检测
自编码器(AE)作为其无监督设置最常用于社区检测,包括堆叠声发射、稀疏声发射、去噪声发射、卷积声发射和变分声发射(VAE)。AE可以描述非线性的、有噪声的现实世界网络,并通过重构从丰富的信息中表示社区。
5.5 基于深度稀疏滤波的社区检测
稀疏滤波(Sparse Filtering, SF)是一种能够处理高维图数据的两层学习模型。将具有多个0元素的高稀疏输入A表示为具有非零值的低维特征向量hi。为了探索更深层次的信息,如社区成员,Deep SF (DSF)堆叠多个隐藏层来微调超参数Θ和广泛平滑的数据分布。
作为一种代表性方法,基于深度稀疏滤波的社区发现(DSFCD)分为三个阶段:网络表示、社区特征映射和社区发现。
6.评价指标
6.1 归一化互信息(Normalized Mutual Information, NMI)
度量两个聚类结果的相近程度。它的值域是[0,1],值越高表示两个聚类结果越相似。该度量提供了对社区检测输出$\mathcal{C}
和基础真值
和基础真值
和基础真值\mathcal{C} ^*$的标准评估。它以标准化分数报告相互部分:
NMI
(
C
,
C
∗
)
=
−
2
∑
i
=
1
K
∑
j
=
1
K
∗
n
i
j
log
n
i
j
n
n
i
n
j
∑
i
=
1
K
n
i
log
n
i
n
+
∑
j
=
1
K
∗
n
j
log
n
j
n
\operatorname{NMI}\left(\mathcal{C}, \mathcal{C}^{*}\right)=\frac{-2 \sum_{i=1}^{K} \sum_{j=1}^{K^{*}} n_{i j} \log \frac{n_{i j} n}{n_{i} n_{j}}}{\sum_{i=1}^{K} n_{i} \log \frac{n_{i}}{n}+\sum_{j=1}^{K^{*}} n_{j} \log \frac{n_{j}}{n}}
NMI(C,C∗)=∑i=1Knilognni+∑j=1K∗njlognnj−2∑i=1K∑j=1K∗nijlogninjnijn
其中,
K
K
K和
K
∗
K^*
K∗分别指的是检测到的和真实的社区的数目,
n
n
n是节点的数目。
n
i
j
n_{ij}
nij表示同时出现在第
i
i
i个被检测社区
C
i
\mathcal{C} _i
Ci和第
j
j
j个真实社区
C
j
∗
\mathcal{C} ^* _j
Cj∗中的节点数。
n
i
n_i
ni和
n
j
n_j
nj分别是
C
i
\mathcal{C} _i
Ci和
C
j
∗
\mathcal{C} ^*_j
Cj∗中的节点数之和。NMI可以通过它的变体来评估重叠社区:重叠社区的规范化互信息(overlapped -NMI)。
6.2 准确性(Accuracy, ACC)
ACC对每个节点上的社区成员进行如下评估:
A
C
C
(
C
,
C
∗
)
=
1
n
∑
i
=
1
n
δ
(
y
i
,
y
i
∗
)
ACC(\mathcal{C}, \mathcal{C} ^*)=\frac{1}{n}\sum^n_{i=1}\delta(y_i, y_i^*)
ACC(C,C∗)=n1i=1∑nδ(yi,yi∗)
其中,
y
i
y_i
yi和
y
i
∗
y_i^*
yi∗分别表示社区检测的结果和基础真值中的第
i
i
i个节点的社区标签。如果$y_i = y_i^* $,那么Kronecker函数δ = 1,否则为0。
6.3 精度(Percision)
在社区检测评估中,Precision描述了每个被检测社区中集群节点在其基础真值中存在的百分比:
P
e
r
c
i
s
i
o
n
(
C
k
,
C
k
∗
)
=
∣
C
k
∩
C
k
∗
∣
∣
C
k
∣
Percision(C_k, C_k^*)=\frac{|C_k \cap C_k^*|}{|C_k|}
Percision(Ck,Ck∗)=∣Ck∣∣Ck∩Ck∗∣
其中
C
k
C_k
Ck和$ C_k^*
分别表示第
分别表示第
分别表示第k$个被检测的社区和真实社区。
6.4 召回率(Recall)
召回率通过对第k个社区的计数来衡量被检测社区中发现的每个社区的真实节点的百分比:
R
e
c
a
l
l
(
C
k
,
C
k
∗
)
=
∣
C
k
∩
C
k
∗
∣
∣
C
k
∗
∣
Recall(C_k, C_k^*)=\frac{|C_k \cap C_k^*|}{|C_k^*|}
Recall(Ck,Ck∗)=∣Ck∗∣∣Ck∩Ck∗∣
6.5 F1分数(F1-score)
F1分数平衡了准确率和召回率:
F
1
−
s
c
o
r
e
(
C
k
,
C
k
∗
)
=
2
⋅
P
e
r
c
i
s
i
o
n
(
C
k
,
C
k
∗
)
⋅
R
e
c
a
l
l
(
C
k
,
C
k
∗
)
P
e
r
c
i
s
i
o
n
(
C
k
,
C
k
∗
)
+
R
e
c
a
l
l
(
C
k
,
C
k
∗
)
F1-score(C_k, C_k^*)=2 · \frac{Percision(C_k, C_k^*) · Recall(C_k, C_k^*)}{Percision(C_k, C_k^*) + Recall(C_k, C_k^*)}
F1−score(Ck,Ck∗)=2⋅Percision(Ck,Ck∗)+Recall(Ck,Ck∗)Percision(Ck,Ck∗)⋅Recall(Ck,Ck∗)
在整个社区集合上,F1-score详细评价了真假阳性/阴性节点聚类的结果:
F
1
−
s
c
o
r
e
(
C
,
C
∗
)
=
∑
C
k
∈
C
∣
C
k
∣
∑
C
k
∈
C
∣
C
k
∣
max
C
k
∗
∈
C
∗
F
1
−
s
c
o
r
e
(
C
k
,
C
k
∗
)
F1-score(\mathcal{C}, \mathcal{C} ^*)= {\textstyle \sum_{C_{k}\in \mathcal{C} }} \frac{\mid C_{k} \mid }{ {\textstyle \sum_{C_{k}\in \mathcal{C} }|C_{k}|} } \max_{C_{k}^{*}\in \mathcal{C}^{*} }F1-score(C_{k},C_{k}^{*} )
F1−score(C,C∗)=∑Ck∈C∑Ck∈C∣Ck∣∣Ck∣Ck∗∈C∗maxF1−score(Ck,Ck∗)
因此,当精确率和召回率相近时,F1分数较高,表示分类模型在正类和负类的预测上都做得很好。当精确率和召回率之间有较大差异时,F1分数会偏低。
6.6 调整后的兰德指数(Adjusted Rand Index, ARI)
ARI是兰德指数(RI)的一种变体,用于衡量基于真/假阳性/阴性的正确划分节点的百分比:
ARI
(
C
,
C
∗
)
=
∑
i
j
(
n
i
j
2
)
−
[
∑
i
(
n
i
2
)
∑
j
(
n
j
2
)
]
/
(
n
2
)
1
2
[
∑
i
(
n
i
2
)
+
∑
j
(
n
j
2
)
]
−
[
∑
i
(
n
i
2
)
∑
j
(
n
j
2
)
]
/
(
n
2
)
\begin{array}{l} \operatorname{ARI}\left(\mathcal{C}, \mathcal{C}^{*}\right)= \\ \qquad \frac{\sum_{i j}\binom{n_{i j}}{2}-\left[\sum_{i}\binom{n_{i}}{2} \sum_{j}\binom{n_{j}}{2}\right] /\binom{n}{2}}{\frac{1}{2}\left[\sum_{i}\binom{n_{i}}{2}+\sum_{j}\binom{n_{j}}{2}\right]-\left[\sum_{i}\binom{n_{i}}{2} \sum_{j}\binom{n_{j}}{2}\right] /\binom{n}{2}} \end{array}
ARI(C,C∗)=21[∑i(2ni)+∑j(2nj)]−[∑i(2ni)∑j(2nj)]/(2n)∑ij(2nij)−[∑i(2ni)∑j(2nj)]/(2n)
其中,
n
n
n为节点数,
n
i
j
n_{ij}
nij表示同时出现在第
i
i
i个被检测社区
C
i
\mathcal{C} _i
Ci和第
j
j
j个真实社区
C
j
∗
\mathcal{C} ^* _j
Cj∗中的节点数。
n
i
n_i
ni和
n
j
n_j
nj分别是
C
i
\mathcal{C} _i
Ci和
C
j
∗
\mathcal{C} ^*_j
Cj∗中的节点数。
ARI 的值范围为 [-1, 1],越接近于1说明聚类效果越好。
6.7 模块度(Modularity, Q)
大多数情况下,我们是不知道网络的真实划分的,尤其是对于大型网络来说更是如此。模块度被广泛用于评估没有真实值的检测社区的强度。模块度的目标是最大化社区内部的连边密度,同时最小化社区之间的连边密度。它通常用于社区检测算法中,作为优化目标来识别图中合理的社区划分。
Q
=
∑
k
(
e
k
k
−
a
k
2
)
Q=\sum_k(e_{kk}-a_k^2)
Q=k∑(ekk−ak2)
其中,
e
k
k
e_{kk}
ekk是连接第
k
k
k个社区
C
k
C_k
Ck内节点的边数和网络总边数的比值,
a
k
a_k
ak是连接社区
C
k
C_k
Ck内节点的边数与总边数的比值。
模块度的值越大,说明图的社区划分越合理,社区内部的连边较多,社区之间的连边较少。模块度值越低,表示划分的社区内部连接不紧密,或者社区之间的连接过多。
6.8 雅卡尔系数(Jaccard)
雅卡尔系数测量第
k
k
k个检测到的社区
C
k
C_k
Ck是否与其实际真值
C
k
∗
C_k^*
Ck∗相似:
J
C
(
C
k
,
C
k
∗
)
=
∣
∣
C
k
∩
C
k
∗
∣
∣
∣
∣
C
k
∪
C
k
∗
∣
∣
JC(C_k, C_k^*)=\frac{||C_k \cap C_k^*||}{||C_k \cup C_k^*||}
JC(Ck,Ck∗)=∣∣Ck∪Ck∗∣∣∣∣Ck∩Ck∗∣∣
对于整个社区集合,雅卡尔计算公式为:
J
C
(
C
,
C
∗
)
=
∑
C
k
∈
C
max
C
k
∗
∈
C
∗
J
C
(
C
k
,
C
k
∗
)
2
∣
C
∣
+
∑
C
k
∗
∈
C
∗
max
C
k
∈
C
J
C
(
C
k
,
C
k
∗
)
2
∣
C
∗
∣
\begin{aligned} \mathrm{JC}\left(\mathcal{C}, \mathcal{C}^{*}\right)= & \sum_{C_{k} \in \mathcal{C}} \frac{\max _{C_{k}^{*} \in \mathcal{C}^{*}} \mathrm{JC}\left(C_{k}, C_{k}^{*}\right)}{2|\mathcal{C}|} \\ & +\sum_{C_{k}^{*} \in \mathcal{C}^{*}} \frac{\max _{C_{k} \in \mathcal{C}} \mathrm{JC}\left(C_{k}, C_{k}^{*}\right)}{2\left|\mathcal{C}^{*}\right|} \end{aligned}
JC(C,C∗)=Ck∈C∑2∣C∣maxCk∗∈C∗JC(Ck,Ck∗)+Ck∗∈C∗∑2∣C∗∣maxCk∈CJC(Ck,Ck∗)
在图论中,Jaccard 相似度可以用来衡量图中两个节点的相似度。如果两个节点有很多共同的邻居,则它们的 Jaccard 相似度较高,表示这两个节点在网络中有相似的功能或关系。
6.9 社区导通性/连通性(Conductance, CON)
CON通过与外部社区连接的
C
k
C_k
Ck总边数的分数来测量第
k
k
k个检测社区的可分离性:
C
O
N
(
C
k
)
=
m
k
o
u
t
2
m
k
i
n
+
m
k
o
u
t
CON(C_k)=\frac{m_k^{out}}{2m_k^{in}+m_k^{out}}
CON(Ck)=2mkin+mkoutmkout
其中,
m
k
i
n
m_k^{in}
mkin是社区
C
k
C_k
Ck内边的个数,
m
k
o
u
t
m_k^{out}
mkout是跨社区边界外边的个数。
如果某个社区的 CON 值接近 1 或更大,表明该社区与其他社区的边非常多,社区的分离性较差。如果值接近 0,则该社区内的节点紧密连接,外部边少,具有较好的分离性。
6.10 三角参与率(Triangle Participation Ratio, TPR)
TPR是用于衡量一个社区在图中三角形结构中参与度的指标。具体来说,TPR衡量的是某个社区中的节点参与到图中三角形(即由三个相互连接的节点组成的子图)结构中的程度。其计算公式为:
T
P
R
(
C
k
)
=
T
i
n
(
C
k
)
T
t
o
t
a
l
TPR(C_k)=\frac{T_{in}(C_k)}{T_{total}}
TPR(Ck)=TtotalTin(Ck)
其中,
T
i
n
(
C
k
)
T_{in}(C_k)
Tin(Ck)指的是完全位于社区
C
k
C_k
Ck内部的三角形数量,
T
t
o
t
a
l
T_{total}
Ttotal指的是图中所有可能的三角形数量。如果社区的 TPR 值较高,意味着社区内部有较多的节点参与到了图中的三角形结构中,表示该社区内部具有较高的凝聚性,即节点之间的连接非常紧密。如果社区的 TPR 值较低,意味着社区内部的节点较少参与三角形结构,表示社区内部可能存在较弱的连接,或者社区与外部的连接较多。