Network Motif 文献调研

概述:Network motifs,可以认为是网络中频繁出现的子图模式,是复杂网络的"构建块"。有两篇发表在science上的论文给出motif比较权威的解释:① MILO, Ron, et al将motifs描述为:recurring, significant patterns of inter-connections. ②BENSON et al. 将motif描述为:The most common higher-order structures are small network subgraphs, which we refer to as network motifs. Network motifs are considered building blocks for complex networks.  Motifs在网络或图上有许多应用,如角色发现,链路预测,蛋白质识别等等。为了便于了解motif的研究进展,进行了相关的文献调研。

文献调研涉及以下文献:

[1]      MILO, Ron, et al. Network motifs: simple building blocks of complex networks[J]. Science, 2002, 298.5594: 824-827.

[2]      BENSON, Austin R.; GLEICH, David F.; LESKOVEC, Jure. Higher-order organization of complex networks[J]. Science, 2016, 353.6295: 163-166.

[3]      Kashtan N, Itzkovitz S, Milo R, et al. Efficient sampling algorithm for estimating subgraph concentrations and detecting network motifs[J]. Bioinformatics, 2004, 20(11): 1746-1758.

[4]      Schreiber F, Schwöbbermeyer H. MAVisto: a tool for the exploration of network motifs[J]. Bioinformatics, 2005, 21(17): 3572-3574.

[5]      Wernicke S, Rasche F: FANMOD: a tool for fast network motif detection[J]. Bioinformatics 2006, 22:1152-1153.

[6]      Kashani Z R M, Ahrabian H, Elahi E, et al. Kavosh: a new algorithm for finding network motifs[J]. BMC bioinformatics, 2009, 10(1): 318.

[7]      Zhang Y, Parthasarathy S. Extracting Analyzing and Visualizing Triangle K-Core Motifs within Networks[C]. international conference on data engineering, 2012: 1049-1060.

[8]      Lin W, Xiao X, Xie X, et al. Network motif discovery: A GPU approach[C]. international conference on data engineering, 2015: 831-842.

[9]      Wang T, Peng J, Peng Q, et al. FSM: Fast and scalable network motif discovery for exploring higher-order network organizations[J]. Methods, 2020: 83-93.

[10]  Wang L, Ren J, Xu B, et al. MODEL: Motif-Based Deep Feature Learning for Link Prediction[J]. IEEE Transactions on Computational Social Systems, 2020: 1-14.

[11]  Yu Y, Lu Z, Liu J, et al. RUM: Network Representation Learning Using Motifs[C]. international conference on data engineering, 2019: 1382-1393.

[12]  Monti F, Otness K, Bronstein M M, et al. MotifNet: a motif-based Graph Convolutional Network for directed graphs[J]. arXiv: Learning, 2018.

[13]  Rossi R A, Ahmed N K, Koh E, et al. A structural graph representation learning framework[C]. web search and data mining, 2020: 483-491.

[14]  Xia F, Wei H, Yu S, et al. A Survey of Measures for Network Motifs[J]. IEEE Access, 2019: 106576-106587.

文献[1][2]motif方面比较权威的论文;[3]-[7]是如何找motif的论文;[8][9]是关于motif的拓展;[10]-[13]是利用motif做网络表示学习的论文。[14]motif相关指标介绍的论文。下面是部分论文的简介。

文献[1]: MILO, Ron, et al. Network motifs: simple building blocks of complex networks[J]. Science, 2002, 298.5594: 824-827.

 概述: 本篇论文发表在science上,较为权威,是最早提出motifs概念的论文之一。本文将motifs描述为:recurring, significant patterns of inter-connections. 但是论文没有给出motifs的公式化定义,而是基于统计的观点,即network motifs 是出现频繁的子图,对比随机网络有更高的出现概率。这里的随机网络是与真实网络节点数目相同,且“入边”与“出边”个数相同的网络,用来作为真实网络的对比。(The network motifs are those patterns for which the probability P of appearing in a randomized network an equal or greater number of times than in the real network is lower than a cutoff value.) 然后文章中采用z score来衡量motif出现的频繁程度。zscore越大,代表子图越有可能是motif。公式如右:。几个真实网络示例如下图。同时也有给出pvalue指标,则是越小越好。更多细节见论文。

文献[2]: BENSON, Austin R.; GLEICH, David F.; LESKOVEC, Jure. Higher-order organization of complex networks[J]. Science, 2016, 353.6295: 163-166.

 概述:本篇论文发表在science上;论文描述了什么是network motifs, 即最常用的高阶子图,它是复杂网络的构建块。(The most common higher-order structures are small network subgraphs, which we refer to as network motifs. Network motifs are considered building blocks for complex networks.) 论文没有给出公式定义,也是通过描述结合图示描述motifs, 如下图所示。

文中提出的框架:

对于motif的使用:(没有说怎么生成motifs,而是直接使用给定的motif M来生成权值矩阵,矩阵中元素的值是节点i和j在M中出现的次数)。这里说的给定motif,是说给定一种类型的motif,然后根据这种类型的motif从原始网络中找到符合的所有子图。其中会涉及到子图非同构的问题,本文没有详细说明。根据给定的motif M建立权值矩阵后,再使用专门的目标函数进行图切分,以产生聚类结果,如下面的公式所示。

更多细节详见论文。

小结:如果M表示motif类型,Mi表示一种类型的motif,则一个图上,一种motif Mi是对应很多子图的;根据该类型可以找图上的符合Mi的所有子图;这些子图可以看作是原始网络的子集。

 

文献[3]-[6]: 如何找network motif,包括枚举、识别、分类等问题。

 

[3] Kashtan N, Itzkovitz S, Milo R, et al. Efficient sampling algorithm for estimating subgraph concentrations and detecting network motifs[J]. Bioinformatics, 2004, 20(11): 1746-1758.

[4] Schreiber F, Schwöbbermeyer H. MAVisto: a tool for the exploration of network motifs[J]. Bioinformatics, 2005, 21(17): 3572-3574.

[5] Wernicke S, Rasche F: FANMOD: a tool for fast network motif detection[J]. Bioinformatics 2006, 22:1152-1153.

[6] Kashani Z R M, Ahrabian H, Elahi E, et al. Kavosh: a new algorithm for finding network motifs[J]. BMC bioinformatics, 2009, 10(1): 318.

 

文献[3]提出了一种MFinder的算法和相应的软件;文献[4]给出了一种MAVisto的工具;文献[5]给出了一种FANMOD的工具;文献[7]提出了一种Kavosh的算法。上述的这些算法或工具都是用于motif discovery。相关软件或代码已经开源,见下面的链接:

l  http://www.weizmann.ac.il/mcb/UriAlon/download/network-motif-software

l  https://github.com/shmohammadi86/Kavosh

以文献[6]为例,介绍一下发现motif的流程。

文献[6]提出了一种Kavosh的算法,用于发现k-size network motifs,对比其他算法具有较低的内存和时间的开销( We present a new algorithm (Kavosh), for finding k-size network motifs with less memory and CPU time in comparison to other existing algorithms)。该算法有四个子任务,即子图枚举、子图分类、随机图生成、motif识别。(consists of four subtasks: Enumeration: finding all subgraphs of a given size that occur in the input graph; Classification: classifying each found sub-graph into isomorphic groups; Random graph generation: generating random graphs with respect to the input network (enumeration and classification are also performed on random graphs) and Motif identification: distinguishing motifs among all found sub-graphs on basis of statistical parameters.)。算法具体可以分为4步,如下:

1)        子图枚举:利用树型结构,找出所有的k-size子图。

2)        子图分类:即给k-size子图做标记,以互相区别。具体做法是就是根据子图生成邻接矩阵,输入到NAUTY,产生canonical labeling,作为子图的分类鉴别。其中,NAUTY是用于识别非同构图的一种知名的算法。

3)        产生随机图:这里的随机图是与输入图具有相同的节点数以及相同的度分布(包括入度、出度)的随机产生的图。实际使用中往往产生若干个随机图,然后同样进行枚举、分类的操作。

4)        motif识别:根据真实网络的子图的统计数据,与随机网络的子图的平均统计数据,计算一些指标(Zscore, Pvalue等),从而得出频繁程度高的子图作为motif。

文献[7]-[9]: 是一些关于motif的优化和拓展。

 

[7] Zhang Y, Parthasarathy S. Extracting Analyzing and Visualizing Triangle K-Core Motifs within Networks[C]. international conference on data engineering, 2012: 1049-1060.

 

文献[7]发表于ICDE上,是数据挖掘的顶级会议。论文提出被称为K-Core和Triangle K-Core的motif。其中K-Core指的是子图中的每个节点的度数至少为K;Triangle K-Core指的是这样一种子图,子图中每条边都至少关联了K个三角形结构,如下图所示。文章说明了Triangle K-Core比K-Core更接近于clique,即Triangle K-Core内部的节点关联更为紧密。例子:an edge participating in 4 triangles implies a subgraph of 6 nodes and 9 edges (in the worst case);and it is closer to a 6-node clique (density: 9/15=60%, in the worst case)。这种Triangle K-Core的motif可以作为一种较好的高阶的局部结构,而不用像clique那样有极其严格的连接要求。

[8] Lin W, Xiao X, Xie X, et al. Network motif discovery: A GPU approach[C]. international conference on data engineering, 2015: 831-842.

[9] Wang T, Peng J, Peng Q, et al. FSM: Fast and scalable network motif discovery for exploring higher-order network organizations[J]. Methods, 2020: 83-93.

文献[10]-[11]: 是利用motifnetwork embedding的一些论文。

 

[10] Wang L, Ren J, Xu B, et al. MODEL: Motif-Based Deep Feature Learning for Link Prediction[J]. IEEE Transactions on Computational Social Systems, 2020: 1-14.

概述:根据motif从G中抽取子图,得到一个motif(多个节点)和一个负样本节点。然后每个节点都进入自编码器(由nonlinear activation functions堆叠而成)中进行学习。设计特定的优化函数,优化的目标是让motif内节点的向量更加靠近,让motif的节点与负样本节点更加远离。最终获取节点嵌入,并用于链路预测上。

模型框图如下:

大概的思路是,根据给定的motif从G中抽取子图,得到一个motif(多个节点)和一个负样本节点。然后每个节点都进入自编码器中进行学习。学习的目标是让motif内节点的向量更加靠近,让motif的节点与负样本节点更加远离。损失函数如下。

评价:本文中,motif的发现是引用前人的工作,自编码器的构建也是前人的工作,创新点体现在两者的结合上,以及多编码器上。论文的任务是链路预测。(This method seamlessly incorporates motifs and deep learning model into link prediction.)

[11] Yu Y, Lu Z, Liu J, et al. RUM: Network Representation Learning Using Motifs[C]. international conference on data engineering, 2019: 1382-1393.

概述:本文发表在ICDE2019上,提出了一个使用motif做网络表示学习的模型RUM。在文中提出了两种策略,即MotifWalk 和 MotifRe-weighting,用来形成motif-aware network embeddings. 示意图如下图所示,是一种网络粗化的策略,与随机游走比较相关。

本文未给出motif的定义,而是图示。本文对motif的介绍是:A network motif is a small sub-network that represents an elemental and recurring pattern in a network. [20] has given a list for the shapes of motifs. 论文主要对三角结构进行处理,这样做时间开销比较小。

[12] Monti F, Otness K, Bronstein M M, et al. MotifNet: a motif-based Graph Convolutional Network for directed graphs[J]. arXiv: Learning, 2018.

 概述:将motif与GCN结合而提出了MotifNet模型。论文对于motif的介绍如下图所示。论文给出了motif粗略的定义,且基于motif产生权值矩阵,也是直接使用了Benson et al.的内容。论文将它与GCN结合做网络表示学习。

[13] Rossi R A, Ahmed N K, Koh E, et al. A structural graph representation learning framework[C]. web search and data mining, 2020: 483-491.

 概述:论文利用motif生成K阶的权值矩阵,然后利用矩阵分解类似的原理做图表示学习。

Network Motif 文献调研的更多相关文章

  1. CenterNet文献调研记录

    心仪院校导师任务之一,文献调研记录. 本文部分思路参考: 1. Anchor-Free 2. https://zhuanlan.zhihu.com/p/66048276 3. https://blog ...

  2. BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 阅读笔记

    1.BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 文献简介文献来源 ...

  3. Graph-tool简介 - wiki

    graph-tool is a Python module for manipulation and statistical analysis of graphs[disambiguation nee ...

  4. 一名IT从业者的英语口语能力成长路径

    一名IT从业者的英语口语能力成长路径 来源: 微信公众号  发布时间: 2014-03-12 22:53  阅读: 6134 次  推荐: 24   原文链接   [收藏]   这篇文章是我最近十天口 ...

  5. vue-cli3 一直运行 /sockjs-node/info?t= 解决方案

    sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟.全双工的浏览器和web服务器之间通信通道. 服务端:sockjs-node(https ...

  6. 转录调控实战 | 一文解决转录调控问题 | chIP-seq | ATAC-seq

    做生物的想发文章怎么办?转录调控来解析(huyou)! 最简单的情形: 1. 我在研究一个非常重要的基因A,功能已经做得差不多了,现在想深挖,第一步就是想知道哪个转录因子调控这个基因A: 2. 我发现 ...

  7. Expectation Propagation: Theory and Application

    原文:http://dongguo.me/blog/2014/01/01/expectation-propagation/ 简介 第一次接触EP是10年在百度实习时,当时组里面正有计划把线上的CTR预 ...

  8. vue-cli3 一直运行 /sockjs-node/info

    首先 sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟.全双工的浏览器和web服务器之间通信通道. 服务端:sockjs-node(ht ...

  9. vue-cli3 中 sockjs-node/info?t=报错 的解决方法

    页面突然出现这种报错: 查看Network看到是info接口报错,我项目中没有调用过该项目,然后百度查询sockjs-node/info?t=1562204191563, 首先 sockjs-node ...

随机推荐

  1. unittest 管理用例生成测试报告

    # 登录方法的封装 from appium import webdriver from time import sleep from python_selenium.Slide import swip ...

  2. 学习HTML

    前端三剑客:HTML.CSS.JavaScript.现在就开始学习HTML啦. 学习资源:http://www.freecodecamp.cn/ 学习笔记: h1,head1,一级标题 <h1& ...

  3. 自定义View实战

    PS:上一篇从0开始学自定义View有博友给我留言说要看实战,今天我特意写了几个例子,供大家参考,所画的图案加上动画看着确实让人舒服,喜欢的博友可以直接拿到自己的项目中去使用,由于我这个写的是demo ...

  4. D. Kefa and Dishes(状压)

    永久打开的传送门 \(这次总算没有写砸........\) \(设f[i][j]为上一次吃的i物品状态为j的最大收益\) \(那么我们就暴力枚举所有状态i,然后在当前状态找出一个没吃的食物j,再去找一 ...

  5. HTTPS简单介绍

    在HTTP协议中有可能存在信息窃听或者身份伪装等问题,使用HTTPS协议通信机制可以有效地防止这些问题. 1 HTTP协议的缺点 通信使用明文,内容可能被窃听 不用验证通信方的身份,因此可能会遭遇伪装 ...

  6. 【HBase】通过Bulkload批量加载数据到Hbase表中

    目录 需求 步骤 一.开发MapReduce 二.打成Jar包放到linux执行 三.有两种办法将HFile文件加载到HBase表中 开发代码 Hadoop命令运行 需求 将hdfs上面的这个路径 / ...

  7. C# 数据操作系列 - 2. ADO.NET操作

    0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C#操作数据库的范围.通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础.闲话不多说,先给大家介绍一个C#操作 ...

  8. python是如何进行参数传递的?

    在分析python的参数传递是如何进行的之前,我们需要先来了解一下,python变量和赋值的基本原理,这样有助于我们更好的理解参数传递. python变量以及赋值 数值 从几行代码开始 In [1]: ...

  9. springboot整合mybatis,利用mybatis-genetor自动生成文件

    springboot整合mybatis,利用mybatis-genetor自动生成文件 项目结构: xx 实现思路: 1.添加依赖 <?xml version="1.0" e ...

  10. JDBC10 Blob二进制对象

    //将图片输入到数据库中 // String sql="insert into t_user2 (username,headImg) values (?,?)"; // ps=co ...