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

189 阅读18分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本文首发于CSDN。

诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合

@[toc]

YouTube 视频观看地址1 视频观看地址2 视频观看地址3 视频观看地址4


本章主要内容: 本章首先介绍了图生成模型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,这可以让我们: ①了解图的形成过程。 ②预测图的演化。 ③生成新的图实例。 ④异常检测:检测一个图是否异常。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
  2. 本课程对图生成模型的介绍流程: 在本章介绍真实图的属性(生成图需要符合的特性)和传统图生成模型(每种模型都源自对图形成过程的不同假设)。 在下一章介绍深度图生成模型,从原始数据直接学习到图生成过程。 在这里插入图片描述

2. Properties of Real-world Graphs

  1. 衡量真实图数据的属性有: degree distribution clustering coefficient connected components path length 对这些属性的介绍可参考[^1] 在这里插入图片描述
  2. degree distribution P(k)P(k):一个随机节点度数为 kk 的概率 用 NkN_k 表示度数为 kk 的节点数,则 P(k)=Nk/NP(k)=N_k/N 相当于节点度数的归一化直方图: 在这里插入图片描述
  3. clustering coefficient衡量节点邻居的连接紧密程度。 节点 ii 的度数为 kik_i,邻居间边数为 eie_i,则其clustering coefficient为 Ci=eiCki2=2eiki(ki1)C_i=\dfrac{e_i}{C_{k_i}^2}=\dfrac{2e_i}{k_i(k_i-1)},即实际存在的邻居上的边数占所有邻居上可能存在的边数(Cki2C_{k_i}^2)的比例。大小范围为 [0,1][0,1]。 整个图上的clustering coefficient就是对每个节点的clustering coefficient取平均:C=1NiNCiC=\dfrac{1}{N}\sum\limits_i^NC_i 在这里插入图片描述
  4. connectivity是largest connected component(任意两个节点都有路径相连的最大子图[^2])的大小。 largest component=giant component 找到connected components(连通分量)的方法:随机选取节点跑BFS[^3],标记所有被访问到的节点;如果所有节点都能访问到,说明整个网络都是连通的;否则就选一个没有访问过的节点重复BFS过程。 在这里插入图片描述
  5. path length:一条路径的长度。 节点对之间最短路径长度称为距离。 diameter:图中最大的节点对间最短路径。
    connected graph 或 strongly connected directed graph[^4] 上的average path length:h=12Emaxi,jihij\overline{h}=\dfrac{1}{2E_{max}}\sum\limits_{i,j\neq i}h_{ij} 其中 hijh_{ij} 是节点 iijj 之间的距离,EmaxE_{max} 是最大边数(即节点对数)n(n1)/2n(n-1)/2
    我们往往只在相连的节点对上求平均,即忽略infinite的路径长度 在这里插入图片描述
  6. 案例研究:MSN Graph(社交网络) 在这里插入图片描述 (这个本来有个地图,但是它好像有点问题,在B站视频里直接码掉了,我也不敢放。总之就是一个地图,并说图数据中有180M用户节点、1.3B条边)
    1. degree distribution 用线性坐标轴绘制就基本啥都看不清: 在这里插入图片描述 用log-log双对数坐标绘制(数据不变,但是坐标轴换成对数的): 在这里插入图片描述
    2. clustering coefficient按度数分布:在这里插入图片描述
    3. weakly connected component[^4]大小的分布:在这里插入图片描述
    4. path length的分布:在这里插入图片描述small word phenomenon:虽然图很大但是平均最短路径很小(6.6)。 随机选择一个节点,90%节点都可以在8跳BFS内达到。[^5]
    5. 这些核心属性在图上的最终结果:在这里插入图片描述这些值是否超乎预料,需要通过图生成模型来检验。

3. Erdös-Renyi Random Graphs[^6]

  1. Erdös-Renyi Random Graphs是最简单的图生成模型,有两种变体: GnpG_{np}:有 nn 个节点的无向图,每条边 (u,v)(u,v) 以概率 pp 独立同分布生成。 GnmG_{nm}:有 nn 个节点的无向图,随机生成 mm 条边。 在这里插入图片描述
  2. GnpG_{np}:图由随机过程生成,因此同样的 nnpp 可以不同的图实例:在这里插入图片描述
  3. GnpG_{np} 的图属性值:在这里插入图片描述
    1. degree distribution 一个节点的度数为 kk 的概率,即图中度数为 kk 的节点所占比例的期望值服从二项分布[^7]:P(k)=Cn1kpk(1p)n1kP(k)=C_{n-1}^kp^k(1-p)^{n-1-k}(在除这个节点之外的 n1n-1 个节点中有 kk 个节点与该节点以 pp 的概率相连,这一事件发生的概率)
    \overline{k} & =p(n-1) \\ \sigma^2 & =p(1-p)(n-1) \end{aligned}$$ ER随机图的度数分布类似于一个高斯分布的离散模拟。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/32b9a737d307490cb6fdd8eaca9c2146~tplv-k3u1fbpfcp-zoom-1.image) 2. clustering coefficient 每个节点邻居中边数的期望值为 $E[e_i]=p\cdot C_{k_i}^2=p\cdot\dfrac{k_i(k_i-1)}{2}$<br> $E[C_i]=\dfrac{2E[e_i]}{k_i(k_i-1)}=\dfrac{p\cdot k_i(k_i-1)}{k_i(k_i-1)}=p=\dfrac{\overline{k}}{n-1}\approx\dfrac{\overline{k}}{n}$ random graph的clustering coefficient很小,如果我们保持平均度数 $k$ 不变、增大图尺寸(指固定 $p=k\cdot 1/n$),$C$ 会随图尺寸 $n$ 减小。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/21ead4784b574b6f8e32742bba5eebf3~tplv-k3u1fbpfcp-zoom-1.image) 3. connected components 随着 $p$ 从0到1变化,CC会出现如图中数轴所示的变化[^8] 情况。 $\overline{k}=2E/n$ $p=\overline{k}/(n-1)$ $\overline{k}=1-\epsilon$ 时所有CC的尺寸都是 $\Omega(\log{n})$ $\overline{k}=1+\epsilon$ 时出现一个 $\Omega(n)$ 的CC,其他CC的尺寸还是 $\Omega(\log{n})$,每一个节点都至少期望有一条边 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5d4796de0525405290dde7012aa3f2dc~tplv-k3u1fbpfcp-zoom-1.image) 这种平均度数在1上下会突然出现largest connected component的转变被称为phase transition[^12] behavior,如图所示,平均度数达到3的时候已经几乎所有节点都属于largest connected component了: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4f1989d7d0634d258698a5fcbc88e1b3~tplv-k3u1fbpfcp-zoom-1.image) 4. $G_{np}$ 的degree distribution,clustering coefficient和connectivity:![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7ac0580bd2504076ac313d8a51ece594~tplv-k3u1fbpfcp-zoom-1.image) 5. 定义图 $G(V,E)$ 上的概念expansion[^9] $\alpha$:对任意节点子集 $S$,伸出 $S$ 的边数(如图所示,指 $S$ 和 $V\backslash S$ 之间的边)大于等于 $\alpha\cdot\min(|S|,|V\backslash S|)$(这个 $\min$ 只是考虑到 $|S|$ 超过 $\frac{1}{2}|V|$ 的可能性,如果 $|S|$ 是小部分的话,可以直接大于等于 $\alpha|S|$) 英文原文:if $\forall S\subseteq V$: # of edges leaving $S\geq\alpha\cdot\min(|S|,|V\backslash S|)$ 或等价于:$\alpha=\min\limits_{S\subseteq V}\dfrac{\#\ \text{edges leaving S}}{\min(|S|,|V\backslash S|)}$ ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/932d1efd511a44cca9320a94c5b986a2~tplv-k3u1fbpfcp-zoom-1.image) 6. expansion是用来衡量鲁棒性的:为了disconnect $l$ 个节点(让一个CC中 $l$ 个节点不再属于这个CC),需要割断至少 $\alpha\cdot l$ 条边。 (为什么是 $l$ 而不是 $\min(l,n-l)$呢,因为 $n-l$ 要是比 $l$ 还小这就不太对劲了,就不是这 $l$ 个节点被disconnect了而是对面被disconnect了对吧……在上文也说了一般这部分是小部分,所以可以直接用 $l$ 的) <br>如图所示,expansion越低的图越容易被disconnect。而社交网络就是在社区[^10]内部expansion高,在社区之间expansion低: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e72dcef1aab54896af5b2315db992f95~tplv-k3u1fbpfcp-zoom-1.image) 7. random graphs的expansion: 事实:对于一个有 $n$ 个节点,expansion为 $\alpha$ 的图,节点对间存在长度为 $O((\log{n})/\alpha)$ 的路径。 对随机图 $G_{np}$:对 $\log{n}>np>c,\ diam(G_{np})=O\big(\log{n}/\log{(np)}\big)$[^11] 如图所示,随机图有很好的expansion,所以BFS需要经对数级步数访问所有节点: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ccd88c5831434f99a9b944e80ae9d772~tplv-k3u1fbpfcp-zoom-1.image) 8. 如果我们固定 $\overline{k}=np$,我们就可以得到图节点间最长的最短路径 $diam(G_{np})=O\big(\log{n}\big)$,Erdös-Renyi Random Graphs可以让节点在迅速增加时,shortest path length仍然增长很慢,如图所示:![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f466cbb51a124c759b4a577709f00c72~tplv-k3u1fbpfcp-zoom-1.image)
  4. 得到 GnpG_{np} 上的所有属性后,与MSN的属性对比,发现: MSN的degree distribution很偏,但 GnpG_{np} 是高斯分布。不相似。 两种图的avg. path length都很短。相似。 GnpG_{np} 的聚集系数远小于MSN,失去了局部结构。不相似。 MSN绝大多数节点都属于GCC, GnpG_{np}k1\overline{k}>1(示例中约等于14)时也存在GCC。在存在GCC方面相似,但真实图中的giant component并不通过phase transition[^12]出现。 可见真实世界的图不是随机图。 在这里插入图片描述 在这里插入图片描述

4. The Small-World Model

  1. 发明小世界模型的动机:我们有高聚集系数、高diameter的regular lattice graph,也有低聚集系数、低diameter的 GnpG_{np} 随机图,但真实图是低diameter、高聚集系数的,我们希望找到一个能生成这种图的模型。在这里插入图片描述
  2. 在同节点数、同平均度数的随机图的对比下,各种真实图都展示出了类似的特质:在这里插入图片描述
  3. 在随机图和regular lattice graph中,这两个属性间却存在着矛盾: 由于expansion的缘故,在固定平均度数时,随机图中的short paths为 O(logn)O(\log{n}) 长但聚集系数也很低。 而有局部结构的网络regular lattice graph有很多社交网络中常有的triadic closure(我朋友的朋友还是我的朋友),即高聚集系数,但diameter也很高。 在这里插入图片描述
  4. 我们希望在两种图间进行插值,得到结合二者特性,高聚集系数、低diameter的small-world graph:在这里插入图片描述
  5. small-world model[^13] 的方法:
    1. 从一个低维regular lattice(这里表示成ring)开始,这个图有很高的聚集系数和diameter。在这里插入图片描述
    2. rewire:新增随机捷径,将本来较远的部分连接起来 对每个边,以 pp 的概率将一端移到一个随机节点上在这里插入图片描述在这里插入图片描述(但这些公式是怎么得到的,我并不知道)
  6. 在下图中绿色箭头指向的区域,就是小世界模型适宜的参数区域:(能够得到这个合适区域的直觉理解:需要很多随机性才能破坏聚集系数,但仅需一点随机性就能产生捷径,所以就能得到高聚集系数、低diameter的中间的图)在这里插入图片描述
  7. 总结[^14]: 小世界模型提供了一个在clustering和small-world(指diameter小)之间交互的视角,捕获到了真实图的结构,解释了真实图中的高聚集系数,但其度数分布仍然并不符合真实图的情况。 在这里插入图片描述

5. Kronecker Graph Model

  1. Kronecker Graph Model的idea:迭代式的图生成 self-similarity:物体自身总是与其部分相似。我们模仿图/社区的迭代式增长,如图所示不断重复同样的图的生成过程。 Kronecker product克罗内积就是一种生成self-similar矩阵的方式。 在这里插入图片描述
  2. Kronecker graph[^15]:从小矩阵(KK)开始,通过克罗内积 \otimes 生成大的邻接矩阵在这里插入图片描述(这个东西看起来有点分形的感觉噢……但是这个self-similar的是邻接矩阵,其实也不是图本身)
  3. 克罗内积定义: 矩阵 AABB 的克罗内积
a_{1,1}B & a_{1,2}B & \ldots & a_{1,m}B \\ a_{2,1}B & a_{2,2}B & \ldots & a_{2,m}B \\ \vdots & \vdots & \ddots & \vdots \\ a_{n,1}B & a_{n,2}B & \ldots & a_{n,m}B \end{pmatrix}$$ (其中 $A$ 的尺寸为 $[N,M]$,$B$ 的尺寸为 $[K,L]$,$C$ 的尺寸为$[N*K,M*L]$)<br> 图的克罗内积是对两个图的邻接矩阵求克罗内积,以其值作为新图的邻接矩阵。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b97743f242c24ee98fb9208e43f970ef~tplv-k3u1fbpfcp-zoom-1.image) 4. Kronecker graph就通过对initiator matrix $K_1$ 连续迭代做克罗内积,逐渐增长式得到最终结果(也可以用多个尺寸、元素都可以不同的initiator matrics):![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3272fdfe25a041f9b5c4d37fe47f3ef7~tplv-k3u1fbpfcp-zoom-1.image) 5. Kronecker initiator matrices示例:![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ec43517f93654e5787ae661d12342131~tplv-k3u1fbpfcp-zoom-1.image) 6. stochastic Kronecker graphs 步骤如图所示: 1. 创建尺寸为 $[N_1,N_1]$ 的probability matrix $\Theta_1$[^16] 2. 计算得到 $k$ 阶克罗内积 $\Theta_k$ 3. 生成实例矩阵 $K_k$:对 $\Theta_k$ 中的每个元素 $p_{uv}$,按概率选择是否生成 $K_k$ 对应的元素1(也就是按概率 $p_{uv}$ 生成对应的边 $(u,v)$) ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/33c2330e0f9d4725b943acc4809bf879~tplv-k3u1fbpfcp-zoom-1.image) 7. Generation of Kronecker Graphs 根据上面提到的方法,如果想要生成一个有向的stochastic Kronecker graph,需要计算 $n^2$ 次概率,太慢。 利用Kronecker graphs的递归特性,我们还有一种更快的方法ball dropping / edge dropping: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a2f9c22fdcff44a9b1493b3ad48d9956~tplv-k3u1fbpfcp-zoom-1.image) 8. 对Kronecker图的概率的理解,如图所示,既可以按照中间那种算出每一个元素的概率然后计算每一条边是否存在,也可以理解为右边那种形式,就很多层,每一层都是原 $\Theta$,最底层就是每个元素就是最终Kronecker graph的元素: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/097c7b703e544195958c1b8f0a0f7fb3~tplv-k3u1fbpfcp-zoom-1.image) 9. 快速Kronecker generator algorithm:从一个尺寸为 $[2,2]$ 的矩阵开始,迭代 $m$ 次,就能得到一个节点数为 $n=2^m$ 的图 $G$。 如图所示,一种比较快的方式是按层(从大象限到小象限)依次按概率选择一个象限,a→d→a/b/c/d,像这样选到最底层的一个格子,即邻接矩阵的一个元素、图的一条边,就相当于按照原来的边生成概率来建立新的边。 这样的问题就是可能会出现边冲突,也就是多次选择到了同一个格子。发生这种情况就直接忽略并再选一次。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/999908db050743b697c7b82dfaf3bb48~tplv-k3u1fbpfcp-zoom-1.image) ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4c1a28c91ad24ef596afdbbf5c0b3c83~tplv-k3u1fbpfcp-zoom-1.image) ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0d04bd42b6534fbeb9317ac2612f15d7~tplv-k3u1fbpfcp-zoom-1.image) ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d0892257d494423f9db1049f90e93677~tplv-k3u1fbpfcp-zoom-1.image) 10. Fast Kronecker generator algorithm中插入一条有向边的算法: 1. 对矩阵进行归一化(就让它的元素总和为1,也就是变成概率矩阵)。 2. 逐层根据概率选择象限并挪动对应的坐标。在选到最后一层时就把这条边添上。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0fa706a4c52f4fa0bd25a22c71430d29~tplv-k3u1fbpfcp-zoom-1.image) 11. 在Epinions[^19]图上的估计结果[^17] 如图所示,用 $\Theta_1$ 作为initiator matrix生成的Kronecker graph在各项属性[^18]上都与真实图的类似: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/905728ebf6de404b89f71c1e12da6fb7~tplv-k3u1fbpfcp-zoom-1.image) # 6. 本章总结 介绍了传统的图生成模型,每种模型都对图生成过程提出了不同的先验假设。 下一章将介绍直接从原始数据学习图生成过程的深度图生成模型。 ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/52593e600f7040f5b1378679e4086084~tplv-k3u1fbpfcp-zoom-1.image) # 7. 其他正文及脚注未列出的参考资料 1. [CS244W: Machine Learning with Graphs (2) ——图的性质和随机图模型_lssx0817的博客-CSDN博客](https://blog.csdn.net/lssx0817/article/details/106057519) 2. [cs224w 图神经网络 学习笔记(二)Properties of Networks and Random Graph Models_喵木木的博客-CSDN博客](https://blog.csdn.net/Jenny_oxaza/article/details/106142668) 1. 关于ER图: > 在图论的数学理论部分中,ER模型(Erdős–Rényi model)可指代两个密切相关的随机图生成模型中的任意一个。这两个模型的名称来自于数学家Paul Erdős(保尔•厄多斯)和Alfréd Rényi(阿尔弗烈德•瑞利),他们在1959年首次提出了其中一个模型,而另一个模型则是Edgar Gilbert(埃德加•吉尔伯特)同时并且独立于Erdős和Rényi提出的。在Erdős和Rényi的模型中,节点集一定、连边数也一定的所有图是等可能的;在Gilbert的模型中,每个连边存在与否有着固定的概率,与其他连边无关。在概率方法中,这两种模型可用来证明满足各种性质的图的存在,也可为几乎所有图的性质提供严格的定义。 3. [图机器学习 2.2-2.4 Properties of Networks, Random Graph - 云+社区 - 腾讯云](https://cloud.tencent.com/developer/article/1610052) 1. 关于克罗内图: 直接用initiator matrix进行克罗内积后得到的克罗内图会出现重复性,因此选择引入随机性(stochastic Kronecker graph)。 > 尽管到目前为止讨论的Kronecker结构产生的图具有一系列所需的特性,但其离散性质在程度和频谱数量上会产生“阶梯效应”,这仅仅是因为单个值具有较大的多重性。例如,图邻接矩阵的特征值的度分布和分布以及主要特征向量分量的分布(即“网络”值)都受此影响。这些数量是多重分布的,这导致具有多个重复的单个值。下图说明了阶梯效应(这部分来自Jure等人的论文[^17]) ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a0938202ee6744dcb48859940074ccb9~tplv-k3u1fbpfcp-zoom-1.image) 会发现得到的图邻近矩阵的结构是很规则的(因为邻近矩阵的元素都是1或者0), 类似于具有规则结构的网格一样,这样的当然好(利于我们分析), 可是这样的图结构就很难capture真实复杂网络的信息了,那么要怎么办?-----答案是引入随机性!<br> 这里在初始矩阵引入随机性的意思是:放松初始矩阵--邻近矩阵只有0或者1元素的条件,而是可以有[0,1]之间的元素,也就是 (1)初始矩阵的每个元素反应的是特定边出现的概率 (2)对初始矩阵进行Kronecker积运算,以获得较大的随机邻接矩阵,在该矩阵中,大型矩阵的每个元素数值再次给出了特定边出现在大图中的概率,这样的随机邻接矩阵定义了所有图的概率分布<br> 在随机克罗内积的矩阵中,每条边的生成概率就是 $k$ 阶克罗内积矩阵中元素的生成概率,也就是 $k$ 层initiator matrix中选择到对应象限的概率的累乘结果: ![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/089f955f6f194a8eb572c8d9f578fb72~tplv-k3u1fbpfcp-zoom-1.image) [^1]: 我之前撰写的课程笔记: [cs224w(图机器学习)2021冬季课程学习笔记1 Introduction; Machine Learning for Graphs_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/117287432) [cs224w(图机器学习)2021冬季课程学习笔记2: Traditional Methods for ML on Graphs_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/117336622) [^2]: 这是我根据理解自己扯的定义,大概是这么个意思,但是很可能不严格。有缘的话我再去看看严格定义。 另外就是还有一个weakly还是strongly的connected component概念,这里没区分。这个可以参考[^4]。不过这点应该问题不大,在有向图上需要区分的话一般会说明的吧。 [^3]: 就以我对图算法的理解,我觉得DFS应该也可以? [^4]: 我之前写的笔记:[cs224w(图机器学习)2021冬季课程学习笔记1 Introduction; Machine Learning for Graphs_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/117287432) 和 [cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/119277189)脚注16。 另一个来自[Connectivity (graph theory) - Wikipedia](https://en.wikipedia.org/wiki/Connectivity_%28graph_theory%29)的对weakly connected component的定义:A directed graph is called weakly connected if replacing all of its directed edges with undirected edges produces a connected (undirected) graph。对strongly connected component的定义:It is strongly connected, or simply strong, if it contains a directed path from u to v and a directed path from v to u for every pair of vertices u, v. [^5]: 有个所谓的六度分隔理论就是跟这个差不多的嘛。 [^6]: 原论文:Erdös, P. and Rényi, A. (1960) On the Evolution of Random Graphs. Publication of the Mathematical Institute of the Hungarian Academy of Sciences, 5, 17-61. 原文下载地址是这个:[http://snap.stanford.edu/class/cs224w-readings/erdos60random.pdf](http://snap.stanford.edu/class/cs224w-readings/erdos60random.pdf) 或者这个:[https://old.renyi.hu/~p_erdos/1960-10.pdf](https://old.renyi.hu/~p_erdos/1960-10.pdf) 在我之前的笔记里面也写过这个模型:[cs224w(图机器学习)2021冬季课程学习笔记15 Frequent Subgraph Mining with GNNs_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/119107608) [^7]: 二项分布高中数学应该都学过,可以参考:[二项分布_百度百科](https://baike.baidu.com/item/%E4%BA%8C%E9%A1%B9%E5%88%86%E5%B8%83/1442377) [^8]: 但要说为什么会这样,我也不知道。 [^9]: 其实expansion这部分我也没搞懂,我只是将我的不充分不完整的理解姑且先写出来了。 [^10]: 关于社交网络的社区相关概念,可参考我之前写的笔记:[cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks_诸神缄默不语的博客-CSDN博客](https://blog.csdn.net/PolarisRisingWar/article/details/119277189) [^11]: 这一部分我是属实没有看懂…… fact我就没搞懂,我能理解这个每两层节点之间的边数是之前节点总和乘以 $\alpha$(这就是expansion的定义嘛),但这个 $S'$ 和 $S$ 是啥关系?这怎么推出来的复杂度和路径长度?虽然我知道树的深度是对数,但是这个对数到底是怎么推的对数啊? Jure在视频中说这部分可以从数学上证明,但是证明内容对本课程来说超纲了,所以建议自己看论文。我搜了一下相关的资料,一个是[The expansion of random regular graphs](http://snap.stanford.edu/class/cs224w-readings/ellis11expansion.pdf),一个是[Random Graph Dynamics](https://services.math.duke.edu/~rtd/RGD/RGD.pdf)。都没看,有缘再说吧。 [^12]: phase transition在物理学中指相变(可参考:[Phase transition - definition of phase transition by The Free Dictionary](https://www.thefreedictionary.com/phase+transition))。 而在图论中: Erdős and Rényi (1960) showed that for many monotone-increasing properties of random graphs, graphs of a size slightly less than a certain threshold are very unlikely to have the property, whereas graphs with a few more graph edges are almost certain to have it. This is known as a phase transition (Janson et al. 2000, p. 103).(出处:[Phase Transition -- from Wolfram MathWorld](https://mathworld.wolfram.com/PhaseTransition.html)) 上文所提及的文献: Erdős, P. and Rényi, A. "On the Evolution of Random Graphs." Publ. Math. Inst. Hungar. Acad. Sci. 5, 17-61, 1960.[^6] Janson, S.; Łuczak, T.; and Ruciński, A. "The Phase Transition." Ch. 5 in Random Graphs. New York: Wiley, pp. 103-138, 2000. 原书:Janson, S., Luczak, T. and Rucinski, A. (2000) Random Graphs. John Wiley & Sons, New York. http://dx.doi.org/10.1002/9781118032718这本书我没有找到免费的正版下载渠道,所以就算了。 [^13]: [D. Wattts and S. Strogatz, Collective dynamics of ’small-world’networks, Nature](https://www.nature.com/articles/30918) 这个不是免费的,但是浙大买了,所以我能下。如有需要,一般建议通过学校购买、或淘宝或sci-hub等特殊方式获取,实在弄不到可以私聊我。 [^14]: 总结一下小世界模型这部分我没搞懂的内容: ①regular lattice graph和随机图这两种图是可以拿一块比的吗,是两种图的节点个数和平均度数固定的意思吗? ②lattice和ring两种表示形式是等价的吗?如果是,画成ring那样子是因为nature的文章就是要好看吗? ③小世界模型的summary都是什么鬼,它怎么就提供了clustering和small-world之间交互的见解了?它怎么就解释真实图中的高聚集系数了,这一点不是本身就已知的事实吗?还有就是小世界模型的度数分布与实际情况不同,这事在直觉上很好想象,要是相同了才不好想象,但是这个又咋证明呢? [^15]: 原论文应该是这篇:[Realistic, Mathematically Tractable Graph Generation and Evolution, Using Kronecker Multiplication](https://www-cs-faculty.stanford.edu/people/jure/pubs/kronecker-pkdd05.pdf) 另外还有一篇也是Jure他们写的克罗内图相关的论文:[Scalable Modeling of Real Graphs using Kronecker Multiplication](https://www-cs.stanford.edu/~jure/pubs/kronFit-icml07.pdf) [^16]: 这个probability matrix的元素只要是0到1之间的概率就行,不需要加总为1的。 这个随机克罗内图会让我联想到随机邻接矩阵,但这个显然不是,就它不是转移矩阵,它就是每个元素单独地作为一个概率这样,所以没有每行或每列或所有元素加总为1的要求。 [^17]: PPT里给的论文路径是谷歌学术的,我最近不方便上谷歌学术,所以就去找了个Jure主页下的文件路径:[Leskovec et al., Kronecker graphs: an approach to modeling networks., JMLR](https://cs.stanford.edu/~jure/pubs/kronecker-jmlr10.pdf) 也可以通过acm下载:[https://dl.acm.org/doi/10.5555/1756006.1756039](https://dl.acm.org/doi/10.5555/1756006.1756039) [^18]: 里面有一些我没见过的属性我去找了一下资料,还没看: triangle participation / TPR: [Defining and evaluating network communities based on ground-truth](https://link.springer.com/content/pdf/10.1007/s10115-013-0693-z.pdf) scree plot碎石图 也可以直接看原论文的解释。 [^19]: 图数据下载地址:[SNAP: Network datasets: Epinions social network](http://snap.stanford.edu/data/soc-Epinions1.html)