文章目录
最近在看 Stanford 的 Machine Learning with Graphs。然后在网上找相关的笔记或者其他人的理解,发现大部分内容是照搬并翻译 slides, 没有一些个人的理解,而且很多地方只有前几个 lecture。所以打算自己整理一个系列的笔记供以后反复温习,也欢迎大家指正,共同学习。
Lecture 1: Introduction
Jure 提出了两个概念 Network 和 Graph,这两者的界限很模糊,但大致上我们可以将 Network 视为现实中的图,而 Graph 是一种更数学的描述方式。在很多复杂的系统之下都有错综复杂的关系网,比如食物链、化学物质的相互反应等。
课程标题很明确的表示了这个学科研究的是图,那么怎么研究。主要通过4个方面:
- node classification
- link prediction
- community detection
- network similarity
每一个方面后面当然会涉及到,所以即使现在不知所云也请稍安勿躁。
之前学的关于图的知识都没有进行这样的划分,但 Jure 提到这里不同的术语之间有微妙的区别(虽然感觉不是那么重要):
Objects | Interactions | System |
---|---|---|
nodes | links | network |
vertices | edges | graph |
N N N | E E E | G ( N , E ) G(N,E) G(N,E) |
其他的关于图的基本知识不再赘述,不清楚的朋友可以先去温习一下图的基础部分。
对于无向图的连通性有个有趣的现象之前没有注意过:若按一定顺序排列节点用邻接矩阵表示图的话,非连通图是严格的对角分块矩阵。
Lecture 2: Properties and Random Graph
描述一个图的特征一般有这样几个:
- degree distribution: P ( k ) P(k) P(k)
- path length: h h h
- clustering coefficient: C C C
- connected components: s s s
Degree Distribution
简单来说就是度的直方图,归一化后就是: P ( k ) = N k / N P(k)=N_k / N P(k)=Nk/N。 N k N_k Nk 是有 k k k 个度的节点个数。
一般来说,图的度分布是倾斜的,因此在可视化的时候可以选择用对数坐标,即 1 0 1 , 1 0 2 , 1 0 3 . . . 10^1, 10^2, 10^3 ... 101,102,103...
Path Length
一般意义上,路径长度指两个节点间的最短路径。而一个图中最长的最短路径定义为这个图的直径(diameter)。然而某些奇奇怪怪的图可能会有一条很长很长很长的路径,那么会导致直径很大。这样会对图的描述产生倾斜或者说是偏差,因此一般用平均路径长度来描述路径长度。
h ˉ = 1 2 E m a x ∑ i , j ≠ i h i j \bar{h}=\frac1{2E_{max}}\sum_{i,j \neq i}h_{ij} hˉ=2Emax1i,j=i∑hij
E m a x E_{max} Emax 是最大可能的边数,即 ( n − 1 ) n /