Graph Embedding

图嵌入学习

用低维、稠密、实值的向量表示网络中的节点(含有语义关系,低维,自适应性),且可以将异构信息投影到同一低维空间。

Graph Embedding 算法主要经历了以下三代的发展:

第一代:基于矩阵特征向量(MDS、LLE)
第二代:基于Random Walk(Deep Walk 、 Node2Vec)
第二代:基于Deep Learning(SDNE、 GCN、 GraphSAGE)

Deep walk

主要思想就是在图中通过random walk的方法得到node序列,然后借鉴word2vec的思想,使用skip-gram进行编码。

LINE:Large-scale Information Network Embedding

过去方法着重于关注节点之间的一阶相似性,及两点之间是否直接相连,而忽略了其二阶相似性(即拥有许多共同的邻节点)。LINE模型就是为了在信息网络嵌入至低维空间时保留其一阶相似以及二阶相似。

Deepwalk也只考虑了一阶相似性,同时是深度优先的,只适用于无加权的网络,而LINE是广度优先的(来获得二阶相似),是否加权都能使用。

Node2Vec

Node2Vec的思想同DeepWalk一样,也是随机游走,但是结合了DFS和BFS的随机游走(DeepWalk是DFS)。

Node2vec引入两个超参数p和 q来控制随机游走的策略。如上图所示,假设当前随机游走顶点t 经过边 ( t , v ) 到达顶点v ,顶点v的下一个访问顶点x 的概率根据下面公式计算得到,公式6中d_tx 为下一个访问顶点x 和当前顶点v 的上一个顶点t 之间的距离

在这里插入图片描述

  • 如果q 较大,则顶点v 下一步游走倾向于访问顶点v 上一步顶点近邻顶点,构成了宽度游走策略,使同一个社区内的节点表示相似。

  • 如果q 较小,则顶点v 下一步游走倾向于访问顶点v 上一步顶点距离远的顶点,构成了深度游走策略,使拥有类似结构特征的节点表示相似。

同时Node2Vec也优化了目标函数:给定一个顶点,令其近邻顶点出现的概率最大

SDNE

SDNE算是比较早用直观的深度学习模型对graph进行embedding的。SDNE使用一个自动编码器结构来同时优化1阶和2阶相似度(LINE是分别优化的),学习得到的向量表示能够保留局部和全局结构,并且对稀疏网络具有鲁棒性。

模型分为无监督部分和有监督部分,无监督部分是一个深度自编码器 用来捕获二阶相似度(保留全局结构),监督部分是一个拉普拉斯特征映射捕获一阶相似度(局部结构)

GCN

https://blog.csdn.net/jzwei023/article/details/115025343?spm=1001.2014.3001.5501

GraphSage

GraphSage出现之前的图网络方法需要图中所有的顶点在训练embedding的时候都出现,这些的方法本质上是transductive,不能自然地泛化到未见过的顶点。GraphSAGE是一个inductive的框架,可以利用顶点特征信息(比如文本属性)来高效地为没有见过的顶点生成embedding。GraphSAGE是为了学习一种节点表示方法,即如何通过从一个顶点的局部邻居采样并聚合顶点特征,而不是为每个顶点训练单独的embedding。

GraphSAGE的具体做法是,训练了一组aggregator functions,这些函数学习如何从一个顶点的局部邻居聚合特征信息。每个聚合函数从一个顶点的不同的hops或者说不同的搜索深度聚合信息。测试或是推断的时候,使用训练好的系统,通过学习到的聚合函数来对完全未见过的顶点生成embedding。

  • 对图中每个顶点邻居顶点进行采样,因为每个节点的度是不一致的,为了计算高效, 为每个节点采样固定数量的邻居
    • 顶点邻居数少于采样数:有放回抽样
    • 顶点邻居数多于采样数:无放回抽样
  • 根据聚合函数聚合邻居顶点蕴含的信息

GAT

GAT假设相邻节点对中心节点的贡献既不像GraphSage一样相同,也不像GCN那样预先确定。

GAT在聚合节点的邻居信息的时候使用注意力机制确定每个邻居节点对中心节点的重要性,也就是权重。

a_vu 表示节点v和它的邻居节点u之间的连接的权重,通过下式计算:

下图展示了GCN和GAN在聚合邻居节点信息时候的不同。

Gated Graph Neural Network

门控图神经网络主要是解决过深层的图神经网络导致过度平滑的问题,使用GRU更新节点状态。

HAT

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值