图神经网络
本文基于b站 【图神经网络】GNN从入门到精通的基础上进一步添加内容进行介绍
本文将用4个PPT总结图神经网络中的基本思想与算法
在上一个博文中我们简单介绍了图神经网络GNN
接下来我们来介绍 graph embedding
Graph Embedding
主要从以下5个方面介绍
random walk
skip-gram
DeepWalk
- 0- γ(表示随机游走 γ次)(进入循环)
- 将V打乱顺序得到O
- 遍历O中的每一个顶点,do(进入循环)
- 得到从vi节点开始的步长为t的随机游走序列
- 使用SkipGram进行参数更新
LINE
Line的定义为在大图上面做embedding,并不是和在大图上有关,只是在大规模的图上有好的结果
其实他考虑了两个东西:
一阶相似性——这两个节点他俩连接的权重比较大,这两个节点他们的embedding是相近的:例子:6-7节点
节点的邻居如果很相似,这两个节点即使不连接,那么这两个节点的embedding也是很接近的:例子5-6节点,5节点连接的邻居和6节点连接的邻居相似,5节点的embedding和6节点的embedding
随机初始化embedding,求出了i节点和j节点的联合概率分布
其中~ui∈rd是顶点vi的低维向量表示
i节点和j节点相连边的权重
整个图上所有边的权重
求的是整个概率分布的距离,距离越小,学到的东西越好
用kl散度来衡量他们两个之间的距离
前面是常数,求loss的时候,可以把常数项去掉,W也没影响,最终简化的kl散度的公式,把距离当loss函数,我们就学到了每一个节点的embedding
二阶相似性可以作用于有向图上定义给定vi条件下,产生邻居顶点vj的概率
给定v5节点,求v1节点的条件概率
和5节点表示相连的边
求一个经验概率
i节点的出度
控制节点重要性的因子等于度
选择ui节点作为二阶相似性
随机初始化embedding,求出了i节点和j节点的联合概率分布
其中~ui∈rd是顶点vi的低维向量表示
i节点和j节点相连边的权重
整个图上所有边的权重
求的是整个概率分布的距离,距离越小,学到的东西越好
用kl散度来衡量他们两个之间的距离
前面是常数,求loss的时候,可以把常数项去掉,W也没影响,最终简化的kl散度的公式,把距离当loss函数,我们就学到了每一个节点的embedding
Node2vec
同质性:节点和他周围的embedding应该是相似的
结构等价性:图所处的位置和他们之间的embedding应该是很相近的
现在从t节点游走到了v节点,游走到下一个节点的概率,
T节点对x之间的距离
剩下的步骤和deepwalk相似,用skip-gram的算法来embedding
struc2vec
U节点的第k层与u节点之间的k+1层连接的边的权重
W(e0,e1)表示的是第0层e节点与第一层的e节点变得
伽马k,u表示的是第k层里面,所有跟u节点相连接的点的边的权值大于本层的边所有的均值的话,他的数量有多少,他的值就为多少
形成游走
形成游走序列
SDNE
输入是这个图的邻接矩阵第i行的这样的值,送入多层encoder中,在通过decoder,
用auto-encoder的方法,学习了节点的embedding,通过这种方式,学到了二阶相似性,
i节点与他相连接的关系,通过embedding,包含了邻居的表示
如果xi和xj是不连接的定义bij=1,
相连的定义为w是大于1的
引入一阶相似性
若节点i和节点j是相连接的,节点i和就的embdiing的误差最小