Part III Generative Graph Models
8 Traditional Graph Generation Approaches
这一部分主要介绍图生成(graph generation),它和之前介绍的图表示学习不同,但却很相似。既然是图生成,那么我们到底希望生成什么样的图呢?这个问题的答案是显而易见的——生成包含一些理想性质(property)的真实世界的图。
这一章主要介绍传统的图生成方法。
文章目录
8.1 Overview of Traditional Approaches
传统的方法一般都会指定生成过程(generative progress),它告诉我们如何去生成图中的边。因此,也可以将其看作是告诉我们某条边存在的概率。
主要挑战在于,我们需要找到的一个生成过程,它既要稳定可控(tractable),又能生成包含很多非平凡性质(non-trivial properties)的真实世界的图。
8.2 Erdos-Renyi Model
最著名的ER模型,将所有边出现的概率都设置为一个密度参数
r
r
r。
P
(
A
[
u
,
v
]
=
1
)
=
r
∈
[
0
,
1
]
P(A[u,v]=1)=r\in [0,1]\\
P(A[u,v]=1)=r∈[0,1]
它的生成过程十分简单:
(1)确定节点数目和密度参数r
(2)根据公式,采样生成邻接矩阵A
缺点在于,它实在是太简单了,这样会导致它不能捕获一些重要的性质(度分布、社区结构等),所以不能生成真实的图。
8.3 Stochastic Block Models
针对ER模型的缺点,SBM模型进行了改进,它生成具有社区结构的图。
它将图分为了
γ
\gamma
γ个块
C
i
\mathcal C_i
Ci,并且每个节点属于某个块的概率为
p
i
p_i
pi,块与块之间的节点存在边的概率用一个概率矩阵
C
∈
[
0
,
1
]
γ
×
γ
C\in [0,1]^{\gamma\times \gamma}
C∈[0,1]γ×γ来表示。
SBM模型的生成过程如下:
(1)根据概率分布
p
i
p_i
pi进行采样,为每个节点u分配一个块
C
i
\mathcal C_i
Ci。
(2)根据下面的边概率,采样生成邻接矩阵A。
P
(
A
[
u
,
v
]
=
1
)
=
C
[
i
,
j
]
u
∈
C
i
,
v
∈
C
j
P(A[u,v]=1)=C[i,j]\quad u\in \mathcal C_i,v\in \mathcal C_j\\
P(A[u,v]=1)=C[i,j]u∈Ci,v∈Cj
SBM模型的创新点是,它能够控制不同块之间的边概率、捕捉图中的社区结构,正因如此,生成的图可以显示出社区结构。
8.4 Preferential Attachment
SBM模型的缺点是,它不能捕获单个节点的结构信息(节点的度分布),同一个社区内的节点具有相同的度分布,这和真实世界不符。因此,PA模型针对其缺点进行改进,使其能够捕获真实世界的度分布(degree distribution)这一特征属性。
PA模型假设真实世界的图服从幂律度分布(power law degree distribution):
P
(
d
u
=
k
)
∝
k
−
α
,
α
>
1
P(d_u=k)\propto k^{-\alpha}\quad ,\alpha \gt 1\\
P(du=k)∝k−α,α>1
它的一个重要属性是重尾性(heavy tailed),模拟了真实世界中,有大量低度的节点和极少量高度的节点。
PA模型的生成过程如下:
(1)初始化一个具有
m
0
m_0
m0个节点的全连通图。
(2)在每次迭代过程(iteration t)中,都生成
n
−
m
0
n-m_0
n−m0个新节点。对于每个新生成的节点u,使用以下的概率分布,为其采样m个邻居。
P
(
A
[
u
,
v
]
=
1
)
=
d
v
(
t
)
∑
k
∈
V
(
t
)
d
k
(
t
)
P(A[u,v]=1)=\frac{d_v^{(t)}}{\sum_{k\in V^{(t)}}d_k^{(t)}}\\
P(A[u,v]=1)=∑k∈V(t)dk(t)dv(t)
可以看出,PA模型的关键思想就是,高度的节点将在迭代的过程中,积累更多的邻居。也验证了一个现象——“富的更富”,也就是说,你用钱生钱,越有钱就越有钱,最终世界上绝大部分的财富都集中在了极少数的人手中了。
还有一点很重要,PA模型的生成过程是迭代的、自回归的,而非一次性生成整张图。这种自回归生成方法也会在后面的深度学习方法中,重新出现。
8.5 Traditional Applications
传统的图生成模型主要有两个主要应用。
Generating synthetic data for benchmarking and analysis tasks
为基准测试和分析任务生成人工合成的数据。
Creating null models
从统计学意义上讲,它们为我们提供了空模型,可以作为我们理解真实世界图的参考点。