几种常见的图形嵌入方法
最常见的嵌入方法是word2vec,根据语料库中单词的* * *关系计算每个单词的嵌入量。常用的word2vec模型有两种:cbow和skip-gram。cbow根据上下文预测中心词,skip-gram根据中心词预测上下文(详见word2vec中的数学原理)。所以,既然自然语言中的词可以通过* * *存在关系进行嵌入,那么我们是否也可以通过将图与整个语料库进行对比,将图中的节点与词进行对比,通过* * *存在关系来嵌入图中的节点呢?对于word2vec,语料库中的每一句话都可以描述词与词之间的* * *关系。对于graph,如何描述这种* * *关系?接下来,我们将扩展各种不同的图嵌入方法。
图嵌入的中心思想是找到一个映射函数,将网络中的每个节点转换成低维的势表示。便于计算和存储,不需要手动提特征(自适应性)。下图显示了图形嵌入的几种常见分类:
DeepWalk通过将节点视为单词,并将短的随机行走生成为句子,弥补了网络嵌入和单词嵌入之间的差距。然后,可以将神经语言学模型(如Skip-gram)应用于这些随机游走,以获得网络嵌入。它的优点是:第一,可以按需生成随机游走。因为Skip-gram模型也针对每个样本进行了优化,所以随机行走和Skip-gram的结合使得DeepWalk成为一种在线算法。其次,DeepWalk是可扩展的,生成随机漫步和优化Skip-gram模型的过程是高效和普通的并行化。最重要的是,DeepWalk引入了深度学习图形的范式。
SkipGram方法用于学习网络中节点的表示。然后按照SkipGram的思路,最重要的是定义上下文,也就是邻域。?在NLP中,邻域是当前单词周围的单词。本文使用随机游走来获得图或网络中节点的邻域。
(1)随机游走随机均匀选择网络节点,生成固定长度的随机游走序列。将这个序列比作自然语言中的一个句子(节点序列=句子,序列中的节点=句子中的单词),使用skip-gram模型来学习节点的分布式表示。
(2)前提:如果一个网络的节点服从幂律分布,那么随机游走序列中节点的出现次数也服从幂律分布,发现NLP中的词频也服从幂律分布。
预测上下文节点)-输出:演示
Node2vec在DW的基础上定义了一个偏向随机游走的策略生成序列,仍然使用skip gram进行训练。
本文对BFS和DFS进行了分析,保留的网络结构信息是不同的。在DeepWalk中,根据边的权重进行随机行走,而node2vec增加了一个权重调整参数α: T为最后一个节点,V为最新节点,X为候选下一个节点。D(t,x)是从t到候选节点的最小跳数。通过设置不同的P和Q参数,可以保存不同的信息。当p和q都是1.0时,相当于DeepWalk。
使用SkipGram方法提取网络的表示。那么,自然,按照SkipGram的思路,最重要的是定义这个语境,或者说邻域。?从文本上看,这个邻域当然是当前词周围的词,这个定义很自然。但是对于图形或者网络来说就没那么容易了。
(1)首先区分两个概念:
一阶相似度:直接相连的节点,如6和7。
节点vi和vj之间的联合概率被定义为
v代表节点,u代表节点的嵌入。上式的意思是两个节点越相似,内积越大,sigmoid映射后的值越大,也就是这两个节点之间的连接的权重越大,也就是这两个节点之间发生的概率越大?。
二阶相似度:由其他中间节点连接的节点之间,如5和6。
使用条件概率
(2)目标是保持NRL前后节点的相似度不变,即如果学习前两个节点相似,那么嵌入后的两个节点也应该有相似的表示向量。本文使用-KL散度来度量两个概率分布之间的距离。
以保证其一阶相似性为例:
嵌入前;节点vi和vj之间的经验联合概率为
因此,尽量减少:
前面已经提到了很多GE模型,从经典方法到只考虑结构的模型,到考虑节点和变量额外信息的模型,到深度模型。大家可能会眼花缭乱,不知道实际应该用哪个模型。
我在这里提一下,你选择的模型必须和你的实际问题有关:
1.比如你的问题比较注重内容相似度(局部邻域相似度),那么你可以选择node2vec、LINE、GraRep等。
2.如果你的问题更注重结构相似性,可以选择struc2vec。这里可以简单说一下为什么struc2vec在蚂蚁金服风控模型中比node2vec有质的提升。这是因为在风控领域,你的可信并不代表你的邻居可信(有些“大V”节点有很多邻居),一个直观的感觉是,如果两个人在图中的位置差不多(比如两个“大V”)
3.再者,如果你的模型需要考虑节点和边的附加信息,那么你可以选择凯恩、CENE、跨网等。
4.如果要处理大规模的变量图,可以用Graphage,或者先用其他的ge方法,再用Graphage进行归纳学习;
如果想对模型进行微调,可以选择GraphGAN;
你甚至可以选择很多GE方法,聚合嵌入向量,比如concat。
作为知识图谱的经典方法之一,图嵌入被广泛应用。如今,国内外的互联网搜索引擎公司已经意识到知识地图的战略意义,纷纷建设知识地图,如Google知识图谱、百度知心、搜狗知识魔方等,以提高搜索质量。知识地图对搜索引擎的形式产生了越来越重要的影响。
了解更多知识图谱和图嵌入干货,锁定8月20日周四下午14:00公开课!