CS224w 03-Motifs and Structural Roles in Networks

03-Motifs and Structural Roles in Networks

子图的概念

子图是网络的构建块,它们有刻画和区分网络的能力

子图的例子

所有非同构的节点数为3的有向子图如下:

对于每个子图而言,假如有一个能够对子图“重要性”进行分类的指标(之后会提到):

该指标负值代表重要性不足;正值代表重要性过大

因此,我们可以创建一个网络重要性概况:一个具有所有子图类型的值的特征向量

接下来, 我们分析以下不同网络的这些指标:

  • Regulatory network (gene regulation)
  • Neuronal network (synaptic connections)
  • World Wide Web (hyperlinks between pages)
  • Social network (friendships)
  • Language networks (word adjacency)

可以看到,相同域的网络有着相似的重要性概况

紧密相连的网络有着更加相似的重要性概况

3.1 Subgraphs

3.1.1 motifs

Network motifs: 反复出现的重要互联模式

定义一个network motif:

模式:小诱导子图

反复出现:能够找到很多次,比如有比较高的频率

重要:比预期的更加高频,比如相对随机生成网络而言

例如:Erdos-Renyi random graphs, scale-free networks

为啥我们需要motifs?

Motifs:

帮助我们理解网络如何工作

帮助我们预测在给定情况下网络的运行和反应

例如:

Feed-forward loops (前馈回路)

在生物神经元网络中发现,它们可以中和生物噪声

Parallel loops image-20201122171239869 平行回路

在食物网中发现

Single-input modules image-20201122171336348 单输入模组

在基因控制网络中发现

诱导子图

如图,可以发现左边不匹配,因为相对于motif多了一条灰色的边;而右边匹配,是诱导子图

Induced subgraph of graph G is a graph, formed from a subset X of the vertices of graph G and all of the edges connecting pairs of vertices in subset X.

反复出现

允许motifs部分重叠

因此,该图的motif出现了4次,分别是

重要性

那些在现实网络中比随机网络出现得更多的子图有着功能意义

Motifs 是当与随机图相比时,在网络中重要性过多的子图。

\(Z_i\)代表了motif \(i\)的统计的重要性

\(Z_i = (N_i^{real}-\bar{N}_i^{rank})/std(N_i^{rand})\)

  • \(N_i^{real}\)是子图i在网络 \(G^{real}\)的个数
  • \(N_i^{rand}\)是子图i在随机图\(G^{rand}\)的个数

Network significance profile (SP)的定义如下:

SP是一个归一化Z值向量

SP强调了子图的相对重要性(这样就可以把大图和小图进行比较了):

  • 比较不同规模的子图很重要
  • 通常,较大的网络会有较高的Z值

配置随机图模型的方法

目标:用给定的度序列 \(k_1,k_2,\dots k_N\) 生成一个随机图

因此,我们就可以比较现实网络和一个与现实网络有相同度分布的随机网络了

Spokes

步骤:

当得到结果图时,要去掉两个节点多余的边以及自环

Switching

步骤:

1.从给定的图G开始

2.重复交换步骤 \(Q \cdot|E|\)次:

随机选择一对边A-B,C-D

交换它们的终点,变成A-D,C-B

(仅在不产生自环和多变的条件下交换边)

最终能得到一个随机地重连线的图:同样的度数,随机重连的边数

Q一般被选择得足够大(比如100)

这样计算出来的 \(Z_i\) 的例子是:

RECAP: Detecting Motif

找到在 \(G^{real}\)中的子图i,再找到随机图 \(G^{rand}\)中的子图i(每个随机图必须与真实图的节点、边数、度分布完全相同)。

为子图i计算 Z-socre

如果Z-socre高的话,那么就可以说该子图是G的network motif

Motif概念的变量

权威定义:

有向图/无向图;上色的/无色的;动态的/静止的

在该概念的变量:

不同的频率的概念?;不同重要性的参照标准;anti-motifs(平常的motif是Z值高,如果Z值过小的话,也可以考虑);不同的null model的限制

Experiment: Detecting Motifs

通过上两张图片我们可以知道:

神经元网络和基因网络中包含了相似的motifs

前馈回路和bi-fan结构,且两者都为感官和行为组件的信息过程网络

食物网有平行回路:特定捕食者的猎物分享相同的猎物

WWW network 有双向连接:设计允许在相关页面集中的最短路径

3.1.2 Graphlets: Node feature vectors

Graphlets: 连接的非同构子图

任意频率的诱导子图:

n从3,4,5,……,10 会有 2,6,21,……,11716571 个graphlets!

因此,可以使用graphlets来获得一个节点级的子图标准

从度的概念引入到graphlet degree vector: 计算一个节点联系的graphlets个数

自同构轨道考虑到了图的对称性

Graphlet Degree Vector (GDV): 在每个轨道位置具有节点频率的向量

GDV(v) v在不同的orbit位置上,该graphlets在图G的个数。

而graphlets 一般考虑2-5个节点的

GDV提供了一个测量节点的本地网络拓扑的测量标准

GDV(A)的第i个元素:联系A在轨道i上的graphlets的个数

3.1.3 寻找Motifs和Graphlets

计算子图的个数,需要:

1)列举出所有大小为k的连接子图

2)通过图非同构测试输出每个子图种类的出现个数

算法有:

  • Exact subgraph enumeration(ESU)
  • Kavosh
  • Subgraph sampling

在这里只对ESU算法进行考虑

即从一个节点v开始,将扩张节点集的有如下两个特性的点u加入进去:

节点u的id必须比v大;u只能与在上个循环新加入的节点且不在子图节点集的节点相邻

而扩张节点集,即使新加入的节点的相邻节点

算法伪代码如下:

举例:

这一步,就意味着我们已经列举出了在输入图中的所有大小为k的子图

下一步则是数出这些图

再将放置在ESU树中的叶节点子图分类为非同构的size-k类

使用 McKay’s nauty algorithm来分类

G和H就是同构的

3.2 Structural roles in networks

3.2.1 RolX : Structural Role Discovery Method

角色是节点在网络中的“作用”

就像某个物种在自然界的作用是消费者/生产者/分解者一样

Role和Group的对比

Role: 一些在网络中有着相似位置的节点

Role是基于节点子集之间关系的相似性

Group是基于邻接关系、邻进性或可达性组成的

具有相同Role的节点不需要直接或间接的与各自节点有交互

Role和Community是互补的关系

结构等价:u和v是结构等价的,如果他们和所有其他的节点有相同的关系

3.3 Discovering structural roles and its application

为什么Role十分重要?

Role query:通过对已知目标的相似行为来识别出Role

Role outliers:识别有不寻常行为的个体

Role dynamics:识别出行为中的不寻常的改变

Identity resolution:对一个新网络中的个体识别并去匿名

Role transfer:用一个网络的知识在对其他网络作出预测

Network comparison:计算网络的相似性,并确定知识迁移的可兼容性

Structural Role Discovery Method

RolX:自动寻找节点在网络中的结构性角色

特点:无监督学习;不需要前置知识;为每个节点分配角色的混合成员身份;规模随着边的个数线性增长

Recursive feature extraction 将网络连接性转化为结构特性

主要思想:合计一个节点的特性并用他们去生成新的递归特性

节点领域特征的基本集:

Local features: 节点度的所有特征

有向图是入度、出度和总度数;权重图需要计算加权的特征

Egonet feature: 计算出节点的自我网

自我网包括一个节点、以及这个节点的邻居节点和任何这些节点的边

特性:进入自我网的边的数目/离开和进入自我网的数目

具体步骤

从基本特征集开始

使用基本特征集来生成额外特征:

使用两种计量函数:平均值和总和

重复

而可能的递归特征是指数型增长的,因此需要进行剪枝操作:

寻找高相关的特征对,每当两个要素的相关性高于用户定义的阈值时,便消除其中一个要素

posted @ 2020-11-24 21:35  QingYuAn_Wayne  阅读(208)  评论(0编辑  收藏  举报