zoukankan      html  css  js  c++  java
  • 结合节点向量演化和局部邻域表示的动态链路预测

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

    一、介绍

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

    • 问题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中的边集被随机划分为一个训练集和一个测试集。测试集中的边将首先从以前的快照中删除。

  • 相关阅读:
    asp.net 获得域名,端口,虚拟目录[转]
    在EntityFramework6中执行SQL语句【转】
    Ingress 访问日志分析与监控
    kubernetes之secret
    ingress Whitelisting白名单机制
    Kubernates之从pod中拷贝文件到宿主机
    kubernetes-subpath用法(把文件挂载在已存在的目录下,不覆盖原目录)
    npm 私服工具verdaccio 搭建
    nvm安装、解决nvm command not found问题、卸载
    k8s Pod 扩容和缩容
  • 原文地址:https://www.cnblogs.com/dong973711/p/14943349.html
Copyright © 2011-2022 走看看