一、子网络(Subnetworks)
子网络或子图是组成网络的基础模块,它们同样可以帮助我们表征和区分网络。

例如,节点数为3的有向子图的所有可能情况(不包含同构的子图)如下:

如果使用这些三个节点的子图的含量作为衡量尺度来对不同的网络进行分类:

可以看到相同领域的网络都有相似的子图分布。
 
 
二、网络的Motifs
网络的Motifs的定义:Recurring, significant patterns of interconnections.
也就是足够小,出现次数足够多,比预想(与随机图对比)的要多得多的子图。

Motifs帮助我们理解网络如何工作,帮助我们预测网络在给定场景中的反映和行为。如以下三种分别在神经网络、食物网、基因控制网络中常见的子网络:

Motif既是我们感兴趣的诱导子图。子图必须与诱导子图内包含的边完全一致。

Motifs之间可以重叠。

Motif的显著性
由于真实网络中出现的Motifs远多于随机生成网络中出现的,我们就可以与随机生成网络中的Motifs数进行对比,以衡量真实网络中一种子图的显著性。
定义Z_i为Motif i 的统计显著性,有

  • N^real_i为真实网络中该Motif_i的数量。
  • N^rand_i为随机生成网络中该Motif_i的数量。

网络显著性指数(Network significance profile (SP))为

  • SP是标准化之后的Z值的向量
  • SP强调子图的相对重要性
  • 在比较不同规模的网络时非常重要
  • 一般,更大的网络有更高的Z值

三、生成相应的随机图模型
生成给定配置的随机图模型
Goal:根据给定的度序列k_1, k_2, …, k_N生成随机图,用来与真实网络进行对比。

最后忽略重复的边和自我循环的边。

交换以生成随机图模型
生成步骤:
1、输入为一个给定的图G
2、重复以下交换步骤Q·|E|次:

  • 随机选取一对边A→B,C→D
  • 交换它们的终点为A→D,C→B(仅当不会出现重复和自我循环时)


结果为一个拥有与原图相同节点度数,边随机重连的随机图。Q值需要足够大,例如Q=100。

获取具有相同节点数,边数,节点度数的随机图之后,我们就可以计算子图 i 的Z值。高Z值说明该子图是图G的一个Motif。

将一组子图的Z值作为网络的特征向量,我们就得到了之前展示的对比图:

Motifs的其他定义和概念:

四、Graphlets(图元)
Graphlets的定义:相连的非同构子图。

Graphlet degree vector(GDV)
通过计算一个节点所在的Graphlets中不同的非对称位置,可以对节点附近的局部结构进行衡量。
GDV的定义:一个节点所在位置的频率组成的向量。

GDV给出了一个节点附近的拓扑结构的衡量。
 
 
五、Motifs和Graphlets的查找
查找给定网络中大小为 k 的Motifs或Graphlets需要解决两个问题:

  1. 枚举所有大小为k的子图
  2. 计算这些子图出现的次数
    这是一个NP完全问题。

ESU算法
Exact subgraph enumeration (ESU) [Wernicke 2006]
ESU算法中的两个集合:

  • V_subgraph:目前已经构造的子图
  • V_extension:用于扩展子图的候选节点集合

算法思想:从一个节点 v 开始,添加符合以下性质的节点 u到V_extension:

  • u 的节点编号必须大于 v
  • u 只能是某个新加入的节点 w 的邻居,不能是任何V_subgraph中的节点的邻居

ESU算法是一个递归算法,运行过程呈现为一个深度为 k 的树,被称作ESU树。


得到给定图的所有大小为k的子图后,就可以对他们进行统计。

这里涉及到如何判断图与图之间是否同构,可以使用McKay算法。
McKay’s nauty algorithm [McKay 1981]
即若图G中任意一对邻接的节点 u 和 v ,在图H中都有f(u)和f(v)邻接,则图G和图H同构。

 
 
六、网络中的Structural Roles
Roles是节点在网络中发挥的不同的作用。例如食物链中的各个种族,公司中的每一个人。
Roles通过结构性特征来衡量。例如中心节点,一个族群的成员,外围的节点等。

Roles的定义:具有相似结构属性的节点集合。与组或社区不同,组或社区是通过邻接,可达性定义的。Roles与社区相互补充。
例如考虑一个计算机学院的社交网络:

  • Roles由教员、工作人员、学生组成
  • 社区由AI研究室、信息研究室、理论研究室组成


结构等价:若节点 u 和节点 v 与所有其他节点拥有相同的关系,则称节点 u 和节点 v 结构等价。

 
 
七、Structural Roles的查找
为什么Roles很重要?

Structural Roles的查找方法
RolX: Automatic discovery of nodes’ structural roles in networks [Henderson, et al. 2011b]
它是一个:

  • 无监督学习方法
  • 无需先验知识
  • 为每个节点分配不同Roles混合而成的成员关系
  • 复杂度随着网络中的边的数量线性增长

流程图如下:

递归特征抽取
Recursive feature extraction [Henderson, et al. 2011a] turns network connectivity into structural features
通过递归特征抽取,将节点转化为特征向量,该特征向量包含了该节点本身、节点的邻居,以及它与什么样的节点向量的信息。

算法思想:聚类节点,得到节点的特征,并使用新的特征递归的生成新的特征。
一个节点与其邻居基本特征:

  • 若网络是有向的,则包括入度、出度、总度数
  • 若网络是加权的,则包括加权的各个度特征
  • 节点本身则包含节点本身、其邻居节点、即所在的诱导子图中的其他任何边
  • 节点内部的边、与节点的出边与入边

算法步骤:

  1. 以基础特征集作为开始
  2. 使用当前节点特征集生成新特征:
    使用mean和sum两种聚类
  3. 重复2

随着每次递归迭代,生成特征的数量呈指数增长。故可以使用剪枝减少特征数量:

  • 寻找高度相关的特征对
  • 当两个特征的相关性超过用户定义的阈值时,删除其中一个特征

CS244W: Machine Learning with Graphs (3) ——网络中的Motifs和结构相关推荐

  1. OGB数据集《Open Graph Benchmark: Datasets for Machine Learning on Graphs》

    OGB数据集 之前一直在几个玩具数据集上跑模型,发现了很多问题.看了OGB论文里的一些描述,我也深有体会,感觉很多东西都说到我心里去了.预计再发展几年吧,OGB也能像ImageNet那样,成为图表示学 ...

  2. 原创 | 斯坦福Machine Learning with Graphs 学习笔记(第二讲)

    作者:于媛,十三鸣 本文长度为3300字,建议阅读10+分钟 本文为大家介绍常用的网络属性和经典的网络模型. 标签:机器学习 [ 导读 ]在研究网络的时候,我们往往需要从结构层面对网络进行分析,网络属 ...

  3. Machine Learning with Graphs 之 Traditional Methods for Machine Learning in Graphs

    文章目录 一. Overview 二.Node Level Tasks and Features 2.1 overview 2.2 Node degree 2.3 Node Centrality Ei ...

  4. 原创 | 斯坦福Machine Learning with Graphs 学习笔记(第一讲)

    作者:林夕 本文长度为2900字,建议阅读9分钟 本文为大家介绍图网络的基本概念.网络的应用以及图的结构. 标签:机器学习 目录 一.Why Networks 二.网络的应用     2.1 应用领域 ...

  5. Machine Learning with Graphs 之 Random Walk with Restarts and Personalized PageRank

    在一个推荐系统中,用一个二分图来代表用户以及商品,它们彼此之间用边连接,构成购买关系. 在图论中,二分图是一类特殊的图,又称为二部图.偶图.双分图.二分图的顶点可以分成两个互斥的独立集 U 和 V 的 ...

  6. CS224W: Machine Learning with Graphs - 09 How Expressive are GNNs

    How Expressive are GNNs 0. Theory of GNNs How powerful are GNNs? Many GNN models have been proposed ...

  7. 全球名校AI课程库(20)| Stanford斯坦福 · 图机器学习课程『Machine Learning with Graphs』

  8. 关于hands on machine learning中datasets数据无法下载的问题

    文章目录 背景 解决办法 其他信息 背景 我在重复hands on machine learning with scikit-learn,keras&tensorflow中的10.2.2中的代 ...

  9. CS224W-图神经网络 笔记4.1:Community Structure in Networks - 网络中社区的特性

    CS224W-图神经网络 笔记4.1:Community Structure in Networks - 网络中社区的特性 本文总结之日CS224W Winter 2021只更新到了第四节,所以下文会 ...

最新文章

  1. 犯罪心理解读Mybatis拦截器
  2. 移动游戏高速增长为市场营销带来新的机会
  3. boost::fusion::zip用法的测试程序
  4. admin.0001_initial is applied before its dependency users.0001_initial on database 'default
  5. A first successfully deployed Java application in HCP
  6. Tensorflow训练简单神经网络
  7. dell服务器管理口ip地址_戴尔服务器IDRAC命令配置IP地址
  8. 利用SolidWorks解决方案取得健身器材市场的领先地位!
  9. 计算机一级考试题库基础知识,计算机一级考试题库(含答案)
  10. 摄影基础知识: 曝光补偿完全指南
  11. 通过css和html构建能耗数据分析树状图
  12. xutils中dbutils的使用
  13. Codeforces Gym 101173 K. Key Knocking (构造)
  14. 产品定位:你是钉子,还是棒槌?
  15. MongoDB——MongoDB安装和增删改查操作
  16. 基于Spark的新闻推荐系统,包含爬虫项目、web网站以及spark推荐系统
  17. 测试工程师苦逼时刻,Android 谈谈自动化测试
  18. CCD和CMOS图像传感器的快门
  19. 【WPS绘图】用PPT画立方八面体单晶
  20. dancer.js_与轻量级的Perl Web应用程序框架Dancer一起旋转

热门文章

  1. 恢复内存卡数据需要什么软件才能恢复呢
  2. matlab griddata nan,请教Matlab的griddata的用法
  3. 电脑回收站图标更换pop猫
  4. java计算机毕业设计基于ssm的火车订票管理系统(源代码+数据库+Lw文档)
  5. vim fileformat
  6. 视频预览失败 最新解决方案
  7. 在端口限制得场合让我们可爱的QQ复活
  8. Wireshark Lab: DNS v7.0
  9. mysql linux 审计_MySQL审计插件的测试(mcafee和mariadb版本)
  10. 如何选择合适的自动化测试工具?