结合节点向量演化和局部邻域表示的动态链路预测

在单个快照学习的节点向量的基础上,利用门控循环单元网络对节点向量演化序列进行建模,预测未来节点的表示。然后,边表示不仅是从目标节点对之间的相互作用中构造出来的,而且还丰富了局部邻域表示---它们共同邻居的历史嵌入。 最后,训练一个二分类器来执行链路预测。

一、介绍

动态链路预测方法存在的问题或者面临的挑战:

  • 问题1:动态网络的时间特征
  • 问题2:如何从动态网络中提取丰富的边特征向量。
    过程:首先,将节点嵌入方法应用于单个快照,得到前一个时间片中的节点向量。 为了更有效地掌握网络动态,利用GRU网络对节点向量演化序列进行建模,并预测未来的节点表示。 然后,将以前时间切片中的公共邻域嵌入策略融合到局部邻域表示中,并将其进一步集成到边特征向量中。 最后,训练一个二进制分类器来预测上一次切片中的链路状态。

二、方法

1 框架模型

image

2 节点向量演化

image
我们首先通过分别在每个单独的快照上应用节点嵌入方法(例如node2vec[5]或SDNE[11])来学习历史快照的节点向量。 然后,我们采用GRU网络来捕获节点向量的演化动力学,并预测未来的节点表示。
为了训练GRU网络,输入序列是时间片1~N-1的节点向量序列,例如image ,真实输出序列是时间片从2~N的节点向量序列,例如image 。步骤t的输出就是为了取预测时间片t+1的节点向量,公式如下:
image
ht是步骤t的隐藏状态,Wh0是从隐藏状态到输出层的权重矩阵,b0是输出层的偏重。
GRU网络通过如下损失函数训练:
image
cosh(Gt上通过节点嵌入方法获得的真实值节点向;GRU上在t-1步的输出,它表示相同节点在时间t的预测表示)。损失函数:log-cosh regression loss,更新参数:AdaGrad algorithm。
image

3 边表示

链路预测的核心就是从网络中提取边的特征。我们首先把节点向量进化序列连接为image ,然后添加这个节点的预测表示image 。 然后,我们计算si和sj的元素乘积,表示为hij=si⊙sj,用于建模节点对之间的交互作用。
image

快照Gt中的局部邻域信息可以表示为:
image
image 结合这些公共邻居的嵌入的真实权重,它可以为预测节点i,j之间是否出现边提供非常有帮助的信号。我们计算时间片从1到N的image ,这些局部信息可以通过时间片被加和。或者是将他们连接接起来,这种在我们的初步实验中取得了相当好的表现。
最后的边缘表示法是通过连接来构造的image

4 链路预测

为了执行链路预测,边表示eij被输入到一个二进制分类器中。可以使用许多现有的分类器,如逻辑回归树(LR)、随机森林树和梯度增强回归树(GBRT)。为了训练分类器,最后一个块中GN+1中的边集被随机划分为一个训练集和一个测试集。测试集中的边将首先从以前的快照中删除。

原文地址:https://www.cnblogs.com/dong973711/p/14943349.html