网络表示学习(DeepWalk,LINE,node2vec,SDNE)

本文介绍了网络表示学习的基本思想,包括从传统的基于图的表示到网络表示学习(如DeepWalk, LINE, node2vec, SDNE)的转变。DeepWalk利用随机游走和SkipGram模型学习节点表示,LINE则通过一阶和二阶相似度保持网络结构,node2vec通过调整参数平衡局部和全局信息,而SDNE采用半监督学习的Autoencoder捕捉网络结构属性。" 107915878,9162534,RabbitMQ 消费者获取 correlationId 解决方案及源码解析,"['java', 'rabbitmq']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详细的资料可以参考:网络表示学习相关资料


1.传统:基于图的表示(又称为基于符号的表示)


如左图G =VE),用不同的符号命名不同的节点,用二维数组(邻接矩阵)的存储结构表示两节点间是否存在连边,存在为1,否则为0

 

缺点:长尾分布下大部分节点间没有关系,所以邻接矩阵非常稀疏,不利于存储计算。



2. 网络表示学习(Network Representation LearningNRL),也称为图嵌入法(Graph Embedding MethodGEM):用低维、稠密、实值的向量表示网络中的节点(含有语义关系,利于计算存储,不用再手动提特征(自适应性),且可以将异质信息投影到同一个低维空间中方便进行下游计算)。

 

DeepWalk1

实现1:https://github.com/phanein/deepwalk

  SkipGram的方法进行网络中节点的表示学习。那么,根据SkipGram的思路,最重要的就是定义Context也就Neighborhood。​NLP中,Neighborhood

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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值