图神经网络之图游走类模型算法——DeepWalk

图游走类算法

图游走算法可以理解为一个人在图上行走,最后能得到一条走过的路径

目标

图游走类算法的目标,就是学习出图中每一个节点的低维表示,称为 Node Embeddings

在得到这些 embeddings 之后,就可以利用这些低维表示来进行接下来的下游任务,比如节点分类之类的等等。

为什么可以用这个低维表示来做下游任务呢?
因为可以利用一些方法,使得每个节点的 embeddings 可以学习到节点跟它的邻居的关系,更好的表示图结构和图特征的信息。

在这里插入图片描述

基本思路

  1. 通过在图进行某种方式的游走,得到多个序列,利用这些序列进行图表示学习。
  2. 通过图表示学习,利用节点之间的关系,学习到节点的低维表示(Node Embedding),
  3. 之后利用这些Embeddings做下游任务。

节点可以看做 NLP 中的词,而节点序列进而就可以联想到句子。接下来就要引入 NLP 领域中的一个算法——Word2vec

Word2vec

图游走类模型最开始参考的就是 NLP 领域中的 Word2vec 模型

算法思想

假设,如果只

1. DeepWalk DeepWalk是一种基于随机游走嵌入算法,它将中的节点映射到低维向量空间中。该算法通过在上进行随机游走,来生成节点的序列。然后,利用这些节点序列和Word2Vec算法构建节点的嵌入表示。DeepWalk算法的优点是能够处理大规模的,并且能够保留节点之间的局部结构信息。 2. Node2Vec Node2Vec算法DeepWalk算法的进一步改进。它通过控制随机游走的参数,来生成不同型的节点序列。具体来说,Node2Vec算法根据两个参数p和q来控制随机游走的行为:当p > q时,随机游走会更倾向于探索与当前节点相似的节点;当p < q时,随机游走会更倾向于探索与当前节点不同的节点。通过这种方式,Node2Vec算法能够更好地捕捉节点之间的相似度和差异度信息。 3. SDNE SDNE算法是一种基于深度学习的嵌入算法,它利用自编码器来学习节点的嵌入表示。该算法通过对进行编码和解码,来保留节点之间的结构信息。具体来说,SDNE算法使用两个神经网络:编码器和解码器。编码器将节点映射到低维空间中,解码器则将低维向量映射回原始空间。通过最小化重构误差,SDNE算法能够学习到节点的嵌入表示。 4. Struc2Vec Struc2Vec算法是一种基于随机游走嵌入算法,它通过探索不同的邻居节点来生成节点序列。具体来说,Struc2Vec算法使用一个多层次的随机游走策略,来生成节点序列。通过这种方式,Struc2Vec算法能够更好地捕捉节点之间的结构信息。 5. VGAE VGAE算法是一种基于卷积神经网络嵌入算法,它利用自编码器来学习节点的嵌入表示。VGAE算法使用两个神经网络:编码器和解码器。编码器使用卷积神经网络来学习节点的嵌入表示,解码器则将节点的嵌入表示映射回原始空间。通过最小化重构误差,VGAE算法能够学习到节点的嵌入表示,并能够保留节点之间的结构信息。此外,VGAE算法还能够利用节点之间的关系信息来进行节点分和预测。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值