社区发现算法综述

Introduction
社区发现是复杂网络问题的一个重要研究领域;
background
notation
· 复杂网络的表达式: G(V,E) , V 是node的集合,E是edges的集合;
· Aij=1A_{ij}=1Aij=1表示node i 和node j之间有link; otherwise 0;
· weight w
· KiK_iKi表示node i 的degree, 也就是和i有连接的所有边的和;Ki=∑j=1NAijK_i = \sum_{j=1}^N A_{ij}Ki=∑j=1NAij;
· 有向图中,ki=kiin+kioutk_i = k^{in}_i + k^{out}_iki=kiin+kiout; 无向图中,ki=kiin=kioutk_i = k^{in}_i = k^{out}_iki=kiin=kiout
社区检测
社区检测算法的一个关键作用在于可用于从网络中提取有用的信息。 社区检测面临的最大挑战是社区结构没有普遍定义。人们提出了大量的技术来在相当快的时间内找到最优的社区, 这些技术大多是基于目标函数的优化。 到目前为止,模块度优化是其中最广泛使用的技术之一。 然而,模块度优化 是一个NP-hard的问题。
modularity Q
模块度表达的是社区外的连接相较于社区内部的连接的紧密度;最原始的定义:

综述中列举了六种模块度计算公式的变种。分别应用与 不同的网络类型(有向无向,有权重无权重,重叠不重叠等):


社区发现算法分类
(待补充)
- 传统社区发现技术
1)图分割
2)Hierarchical clustering 分层聚类
3)Partitional clustering 划分聚类
4)Spectral clustering 谱聚类
5)Divisive algorithms 分裂算法 - 基于模块度的社区发现技术
1)贪心算法
2)Simulated Annealing
3)极值优化
4)Spectral Optimisation 谱优化
5)Evolutionary algorithms 进化算法 - Overlapping community重叠社区检测技术
- 动态社区检测技术
本文概述了社区发现算法在复杂网络分析中的重要性,介绍了度量、模块度的概念,以及各种社区检测方法如图分割、分层聚类、谱聚类等。着重讨论了基于模块度的优化算法和技术,包括贪心、模拟退火、极值优化和进化算法。同时提及了重叠社区和动态检测技术的发展。
4881

被折叠的 条评论
为什么被折叠?



