重叠社区发现方法综述
1. 引言
复杂网络是一种有效的形式化方法,用于表示构成许多现实世界系统的对象之间的关系,如协作网络、互联网、万维网、生物网络、通信和运输网络以及社交网络等。网络通常被建模为图,其中节点代表对象,边代表对象之间的交互。
在复杂网络研究中,一个主要问题是检测社区结构,即将网络划分为内部连接密集、外部连接稀疏的节点组(集群或模块)。过去几年,人们提出了许多不同的方法来揭示网络中的社区结构,但大部分努力都集中在寻找不相交的社区。然而,在现实世界网络中,社区可能会重叠,即一些节点可能属于多个组。例如,在社交网络中,一个人可能参与多个兴趣小组;在协作网络中,研究人员可能与多个小组合作;在引文网络中,一篇论文可能涉及多个主题;在生物网络中,蛋白质通过参与多个过程在细胞中发挥不同的作用。
下面将介绍最新的重叠社区检测方法,并对其进行分类。
2. 预备知识
网络 $N$ 可以建模为图 $G = (V, E)$,其中 $V$ 是一组 $n = |V|$ 个对象(称为节点或顶点),$E$ 是一组 $m = |E|$ 个链接(称为边),用于连接 $V$ 中的两个元素。网络中的社区是一组顶点(即子图),它们内部的边密度高,而组间的边密度低。虽然社区没有正式的定义(通常取决于应用领域),但已经提出了大量方法来检测复杂网络中的社区。在介绍重叠社区检测方法之前,需要引入模块化的概念,因为它在研究人员中非常流行且被广泛使用。
模块化最初由 Girvan 和 Newman 定义为评估分区质量的函数,多年来,它已被公认为是划分网络最有意义的度量之一,与现实世界网络中社区的直观概念更为契合。模块化的基本思想是,随机图没有聚类结构,因