cs224w(图机器学习)2021冬季课程学习笔记17 Traditional Generative Models for Graphs

简介: 本章主要内容:本章首先介绍了图生成模型generative models for graphs的基本概念和意义。接下来介绍了一些真实世界网络的属性(度数分布、聚集系数、connected component、path length等,可参考1)(也是图生成模型希望可以达到的要求)。最后介绍了一些传统的图生成模型(Erdös-Renyi graphs, small-world graphs, Kronecker graphs)。

1. (Traditional) Generative Models for Graphs


  1. 图生成模型问题的研究动机:

我们此前的学习过程中,都假设图是已知的;但我们也会想通过graph generative model人工生成与真实图类似的synthetic graph,这可以让我们:

①了解图的形成过程。

②预测图的演化。

③生成新的图实例。

④异常检测:检测一个图是否异常。

image.png

image.png

image.png


  1. 本课程对图生成模型的介绍流程:

在本章介绍真实图的属性(生成图需要符合的特性)和传统图生成模型(每种模型都源自对图形成过程的不同假设)。

在下一章介绍深度图生成模型,从原始数据直接学习到图生成过程。

image.png


2. Properties of Real-world Graphs


  1. 衡量真实图数据的属性有:

degree distribution

clustering coefficient

connected components

path length

对这些属性的介绍可参考

image.png

image.png

image.png

image.png

image.png


  1. connectivity是largest connected component(任意两个节点都有路径相连的最大子图2)的大小。

largest component=giant component

找到connected components(连通分量)的方法:随机选取节点跑BFS3,标记所有被访问到的节点;如果所有节点都能访问到,说明整个网络都是连通的;否则就选一个没有访问过的节点重复BFS过程。

image.png


  1. path length:一条路径的长度。

节点对之间最短路径长度称为距离。

diameter:图中最大的节点对间最短路径。

image.png

image.png


  1. 案例研究:MSN Graph(社交网络)

image.png

(这个本来有个地图,但是它好像有点问题,在B站视频里直接码掉了,我也不敢放。总之就是一个地图,并说图数据中有180M用户节点、1.3B条边)

  • degree distribution

用线性坐标轴绘制就基本啥都看不清:

image.png

用log-log双对数坐标绘制(数据不变,但是坐标轴换成对数的):

image.png

  • clustering coefficient按度数分布:

image.png


  • weakly connected component4大小的分布:

image.png


  • path length的分布:

3ba29993a2f1416f8b9cff1c97fd6110.png


small word phenomenon:虽然图很大但是平均最短路径很小(6.6)。

随机选择一个节点,90%节点都可以在8跳BFS内达到。


  • 这些核心属性在图上的最终结果:这些值是否超乎预料,需要通过图生成模型来检验。

e6e129c52cc14f2899c989e9b019d4f3.png


3. Erdös-Renyi Random Graphs6


image.png

image.png

image.png

image.png



  1. G n p 的图属性值:

image.png

image.png

image.png

image.png

image.png

image.png

image.png


这种平均度数在1上下会突然出现largest connected component的转变被称为phase transition9 behavior,如图所示,平均度数达到3的时候已经几乎所有节点都属于largest connected component了:

image.png


  1. G n p 的degree distribution,clustering coefficient和connectivity:

image.png

image.png

image.png


  1. expansion是用来衡量鲁棒性的:为了disconnect l 个节点(让一个CC中 l 个节点不再属于这个CC),需要割断至少 α ⋅ l条边。

(为什么是 l  而不是 min ⁡ ( l , n − l ) 呢,因为 n − l 要是比 l 还小这就不太对劲了,就不是这 l  个节点被disconnect了而是对面被disconnect了对吧……在上文也说了一般这部分是小部分,所以可以直接用 l 的)


如图所示,expansion越低的图越容易被disconnect。而社交网络就是在社区内部expansion高,在社区之间expansion低:

image.png

image.png

c89d7184fdc74d959c68bba98b8c5ca3.png

image.png

image.png

image.png

image.png

image.png


4. The Small-World Model


  1. 发明小世界模型的动机:我们有高聚集系数、高diameter的regular lattice graph,也有低聚集系数、低diameter的 G n p  随机图,但真实图是低diameter、高聚集系数的,我们希望找到一个能生成这种图的模型。

image.png


  1. 在同节点数、同平均度数的随机图的对比下,各种真实图都展示出了类似的特质:

image.png


  1. 在随机图和regular lattice graph中,这两个属性间却存在着矛盾:

由于expansion的缘故,在固定平均度数时,随机图中的short paths为 O ( log ⁡ n ) 长但聚集系数也很低。

而有局部结构的网络regular lattice graph有很多社交网络中常有的triadic closure(我朋友的朋友还是我的朋友),即高聚集系数,但diameter也很高。

image.png


  1. 我们希望在两种图间进行插值,得到结合二者特性,高聚集系数、低diameter的small-world graph:

image.png


  1. small-world model13 的方法:
  • 从一个低维regular lattice(这里表示成ring)开始,这个图有很高的聚集系数和diameter。

image.png

  • rewire:新增随机捷径,将本来较远的部分连接起来

对每个边,以 p 的概率将一端移到一个随机节点上

image.png

image.png

(但这些公式是怎么得到的,我并不知道)


  1. 在下图中绿色箭头指向的区域,就是小世界模型适宜的参数区域:(能够得到这个合适区域的直觉理解:需要很多随机性才能破坏聚集系数,但仅需一点随机性就能产生捷径,所以就能得到高聚集系数、低diameter的中间的图)

image.png


  1. 总结:

小世界模型提供了一个在clustering和small-world(指diameter小)之间交互的视角,捕获到了真实图的结构,解释了真实图中的高聚集系数,但其度数分布仍然并不符合真实图的情况。

image.png


5. Kronecker Graph Model


  1. Kronecker Graph Model的idea:迭代式的图生成

self-similarity:物体自身总是与其部分相似。我们模仿图/社区的迭代式增长,如图所示不断重复同样的图的生成过程。

Kronecker product克罗内积就是一种生成self-similar矩阵的方式。

image.png


2.image.png(这个东西看起来有点分形的感觉噢……但是这个self-similar的是邻接矩阵,其实也不是图本身)


  1. 克罗内积定义:

矩阵 A  和 B 的克罗内积

image.png

图的克罗内积是对两个图的邻接矩阵求克罗内积,以其值作为新图的邻接矩阵。

image.png


  1. Kronecker graph就通过对initiator matrix K 1 连续迭代做克罗内积,逐渐增长式得到最终结果(也可以用多个尺寸、元素都可以不同的initiator matrics):

image.png


  1. Kronecker initiator matrices示例:

image.png


  1. stochastic Kronecker graphs

步骤如图所示:

image.png

image.png


  1. Generation of Kronecker Graphs

根据上面提到的方法,如果想要生成一个有向的stochastic Kronecker graph,需要计算 n 2 次概率,太慢。

利用Kronecker graphs的递归特性,我们还有一种更快的方法ball dropping / edge dropping:

image.png

image.png

image.png

image.png

image.png


  1. Fast Kronecker generator algorithm中插入一条有向边的算法:
  • 对矩阵进行归一化(就让它的元素总和为1,也就是变成概率矩阵)。
  • 逐层根据概率选择象限并挪动对应的坐标。在选到最后一层时就把这条边添上。

image.png

image.png

image.png


6. 本章总结


介绍了传统的图生成模型,每种模型都对图生成过程提出了不同的先验假设。

下一章将介绍直接从原始数据学习图生成过程的深度图生成模型。

image.png


相关文章
|
1月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
59 1
|
3月前
|
机器学习/深度学习 算法 Python
【绝技揭秘】Andrew Ng 机器学习课程第十周:解锁梯度下降的神秘力量,带你飞速征服数据山峰!
【8月更文挑战第16天】Andrew Ng 的机器学习课程是学习该领域的经典资源。第十周聚焦于优化梯度下降算法以提升效率。课程涵盖不同类型的梯度下降(批量、随机及小批量)及其应用场景,介绍如何选择合适的批量大小和学习率调整策略。还介绍了动量法、RMSProp 和 Adam 优化器等高级技巧,这些方法能有效加速收敛并改善模型性能。通过实践案例展示如何使用 Python 和 NumPy 实现小批量梯度下降。
41 1
|
5月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
5月前
|
机器学习/深度学习 搜索推荐 PyTorch
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
1150 2
|
5月前
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
52 0
|
5月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
40 0
|
6月前
|
机器学习/深度学习 自然语言处理 PyTorch
fast.ai 机器学习笔记(四)(1)
fast.ai 机器学习笔记(四)
137 1
fast.ai 机器学习笔记(四)(1)
|
6月前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
52 1
|
6月前
|
机器学习/深度学习 算法 图计算
图机器学习入门:基本概念介绍
图机器学习是机器学习的分支,专注于处理图形结构数据,其中节点代表实体,边表示实体间关系。本文介绍了图的基本概念,如无向图与有向图,以及图的性质,如节点度、邻接矩阵。此外,还讨论了加权图、自循环、多重图、双部图、异构图、平面图和循环图。图在描述数据关系和特征方面具有灵活性,为机器学习算法提供了丰富的结构信息。
147 0
|
6月前
|
机器学习/深度学习 Python 索引
fast.ai 机器学习笔记(二)(4)
fast.ai 机器学习笔记(二)
55 0
fast.ai 机器学习笔记(二)(4)

热门文章

最新文章