Motifs and Structural Roles in Networks
Network motifs
- 在图中大量重复的模式被称为 motif
可以看到相同领域的网络都有相似的子图分布。
Motifs帮助我们理解网络如何工作,帮助我们预测网络在给定场景中的反映和行为。如以下三种分别在神经网络、食物网、基因控制网络中常见的子网络:
Configuration Model
既然需要参照,那就自己动手生成一个。但这个生成模型就不能像 E R ER ER 随机图模型一样简单的按概率取边了。因为我们想要了解一个 m o t i f motif motif 在网络中是否大量重复出现,那么需要和真实网络有相似的度分布和聚类系数。因此我们需要生成一个各节点和真实网络有相同度的随机图。这样的模型被视为这个网络的零模型( n u l l m o d e l null\ model null model)。
怎么做呢?首先我们将每个度为 k i k_i ki的点拓展为 k i k_i ki个迷你点一组的结构,然后随机连接这些迷你点。最后合并同一组的迷你点就能得到满足节点度条件的图。
Graphlets
m
o
t
i
f
motif
motif 是从整个图中提取结构信息,那么如果我们要考虑一个局部或者一个节点周围的结构信息呢?我们引入了
g
r
a
p
h
l
e
t
s
graphlets
graphlets 概念。
g
r
a
p
h
l
e
t
s
graphlets
graphlets 是一系列连通的非同构子图,这里要求是导出子图,即
i
n
d
u
c
e
d
induced
induced。
- 类似于节点的度,定义 g r a p h l e t d e g r e e graphlet\ degree graphlet degree 为包含节点的 graphlet 的个数。对于有不同非同构位的 g r a p h l e t graphlet graphlet 要针对不同位置各自计算,以此得到 G r a p h l e t D e g r e e V e c t o r ( G D V ) Graphlet\ Degree\ Vector (GDV) Graphlet Degree Vector(GDV)。
- G r a p h l e t d e g r e e v e c t o r ( G D V ) Graphlet\ degree\ vector(GDV) Graphlet degree vector(GDV)通过计算一个节点所在的 G r a p h l e t s Graphlets Graphlets中不同的非对称位置,可以对节点附近的局部结构进行衡量。
-
G
D
V
GDV
GDV的定义:一个节点所在位置的频率组成的向量。
统计了节点数从 2 2 2 到 5 5 5的 g r a p h l e t s graphlets graphlets 后我们能得到一个长度为 73 73 73 的 G D V GDV GDV 向量来表示一个节点周围的结构信息,而这个信息覆盖了以该节点为中心 4 4 4 个 h o p s hops hops 内的区域。
Finding Motifs and Graphlets
一般来说,合适的 m o t i f motif motif 的规模就 3 3 3~ 8 8 8 个点,如果大了的话这个计算量就爆炸了。而且判断两个图是否同构的问题本身就是个 N P − c o m p l e t e NP-complete NP−complete 问题。那么计数一个图里的子图个数主要分两步:
- 枚举;
- 计数。
现在有几种有效的算法来对子图进行枚举:
- Exact Subgraph Enumeration (ESU) [Wernicke 2006]
- Kavosh [Kashani et al. 2009]
- Subgraph Sampling [Kashtan et al. 2004]
J u r e Jure Jure 主要介绍了 E S U ESU ESU,这个算法和找一个集合的所有子集的方法差不多,都是递归进行遍历。它定义了两个集合 V s u b g r a p h V_{subgraph} Vsubgraph 和 V e x t e n s i o n V_{extension} Vextension,分别代表 当前已经生成了的子图节点 和 后续遍历的候选节点。其主要思路是:从一个起始点开始,每次往 V e x t e n s i o n V_{extension} Vextension里加满足一下条件的点。
-
节点序号必须要大于起始点
-
新节点可以互相邻接,但不能跟任何已经在 V s u b g r a p h V_{subgraph} Vsubgraph
里的点邻接 -
V s u b g r a p h V_{subgraph} Vsubgraph:目前已经构造的子图
-
V e x t e n s i o n V_{extension} Vextension:用于扩展子图的候选节点集合
ESU 算法运行后会生成一棵 ESU 树,如下图
根据
E
S
U
ESU
ESU 的输出我们就可以来数同构的结构个数了,比如上图中画出的子图总共有两种非同构结构,第一种出现了
5
5
5 次,第二种只出现了
1
1
1 次。而图的同构算法这里采用的是 McKay’s nauty [McKay 1981] 算法。
Structural Roles
在现实中的真实网络里,不同节点可能扮演不同角色,比如食物链中的捕食者和被捕食者,企鹅群里的群主、管理员和群成员等等。而不同角色的节点周围的网络结构多多少少会有些差异,比如星型结构的中心、聚集的小团体或一些外围节点。研究这些不同角色的节点也可以告诉我们一些网络中隐含的信息。
角色的定义是在网络中具有相似位置的点的集合。这个定义和 community 其实是互补的,比如各个公司可能是不同的 community,而每个公司内部的角色大致是相同的(管理层和下属员工)。公司(community)内个体间会有比较密切的联系,但公司间相同职位(角色)的个体并不一定会有关联。
**结构等价:**若节点
u
u
u 和节点
v
v
v 与所有其他节点拥有相同的关系,则称节点
u
u
u 和节点
v
v
v 结构等价。
Structural Roles的查找
递归特征抽取
Recursive feature extraction [Henderson, et al. 2011a] turns network connectivity into structural features
通过递归特征抽取,将节点转化为特征向量,该特征向量包含了该节点本身、节点的邻居,以及它与什么样的节点向量的信息。
Paper: Rossi R A , Ahmed N K . Role Discovery in Networks[J]. IEEE Transactions on Knowledge and Data Engineering, 2015, 27(4):1112-1131.