Graph 探索之DeepWalk,Line,Node2Vec
发布时间
阅读量:
阅读量
Graph 探索之DeepWalk,Line,Node2Vec
网络表示学习**(Network Representation Learning,NRL),也称为图嵌入法(Graph Embedding Method,GEM):用低维、稠密、实值的向量表示网络中的节点(含有语义关系,利于计算存储,不用再手动提特征(自适应性),且可以将异质信息投影到同一个低维空间中方便进行下游计算)。也就是说这三种方法都是拿来给图结构提取embedding的。
Network Embedding算法主要有经历了以下三代的发展:
第一代:基于矩阵特征向量(谱聚类)
第二代:基于Random Walk(Deep Walk & Node2Vec)
第二代:基于Deep Learning(SDNE, GCN, GraphSAGE)
一、DeepWalk
总体步骤就是Network/graph ---------random walk ---------得到节点序列-------- skip-gram

其中主要想说的是random walk这里主要是依据边权重进行随机游走的。这一点可以和后续的Node2vec做对比。这样游走出来的序列就可以和word2vec中处理文档结合起来,节点就相当于词,序列就相当于句子,然后输入skip-gram进行编码。
二、Line
这个地方主要是根据分布相似性去学习embedding。首先明确下本方法中的一阶邻近关系和二阶邻近关系。

一阶邻近关系

可以看出,只考虑一阶相似度的情况下,改变同一条边的方向对于最终结果没有什么影响。因此一阶相似度只能用于无向图,不能用于有向图 (在无向图中,可以将每条边看成是两条方向相反且有相同权重的有向边)
二阶邻近关系
对于每个节点,会提取两个向量,一个是对应的节点自身的表示向量,一个则是被作为上下文是对应的表达向量 。

最后的embedding向量是将一阶邻近和二阶邻近的融合在一起。
一阶的不适用于有向图,二阶的适用于无向图?
三、Node2vec
1.有偏随机游走

2.优化目标

其中对于不属于N_s(U)的顶点都是负样本,这样一来负样本有些多,计算量比较大,所以可以采用Word2Vec中的负采样策略。
全部评论 (0)
还没有任何评论哟~
