Abstract
- 背景:各种大量的数据集都被表示为显示底层连接、趋势和异常的图形。
- 社区检测的目标:在图中检测出密集的群组,具体形式是种子集扩展(seed set expansion),为给定的一组节点(seed vertices)找到最佳的局部社区(local community)。
- 通常算法:在静态图中用贪婪(greedy)、聚集(agglomerative)的算法来求种子集扩展。
- 新算法:针对不断变化的动态图,提出一种动态种子集扩展的算法,随着底层图形的变化,逐渐更新社区。
Introduction
全局社区检测(Global community detection): 将整个图形分成几组,现有的算法:
- 随机游走法(random walk methods);
- 谱分割(spectral partitioning);
- 标签传播(label propagation);
- 贪婪聚集算法(greedy gglomerative algorithms);
- 分裂算法(divisive algorithms);
- 团聚渗透(clique percolation );
种子集扩展( seed set expansion):检测与种子顶点相关的局部社区。
- 种子顶点(seed vertex):a set of vertices of interest.
- 静态种子集扩展:运行一次在不变的图上。
- 动态种子集扩展:动态的随着图形的改变而更新社区。
Contribution
- 第一个贪心种子集扩展动态算法;
- 提高了与静态算法重新计算相比的性能;
- 可以处理各种大小的批量更新,且易于并行化。
Definitions and Related Work
一个无向图图 G={
V,E} ,其中 V 为顶点集,
-
KCin :表示在社区C中的所有边的权重和,如式(1):KCin=∑(uv,w)∈E∣u∈C⋀v∈Cw- KCout :表示有一个顶点不属于社区C中所有边的权重和,如式(2):
KCin=∑(uv,w)∈E∣u∈C⋀v∉Cw
- 模块度(Modularity):用来衡量社区C的质量 Q(C) ,是一种适应度函数(fitness function),如式(3):
Q(C)=1∣E∣(KCin−(2KCin+KCout)
- KCout :表示有一个顶点不属于社区C中所有边的权重和,如式(2):