GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

这篇具有很好参考价值的文章主要介绍了GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、原理

 

背景

动态网络链路预测因其在生物学、社会学、经济学和工业领域的广泛应用而成为网络科学研究的热点,然而,由于网络结构随着时间的变化而变化,使得添加/删除链接的长期预测尤其困难。

与传统基于CNN的卷积处理操作不同,交通网络更适合被建模为图数据。卷积神经网络CNN只能处理欧式数据,比如图片、音频、视频等,这些数据具有平移不变性。图数据则是一种非欧式数据,由节点和链路集合构成,不具有平移不变性,也无法使用CNN进行处理。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

GC-LSTM: graph convolution embedded LSTM for dynamic network link prediction

论文链接:https://doi.org/10.1007/s10489-021-02518-9

模型架构

文章主要提出了一个GC-LSTM模型,用于预测动态网络链路。对于每个图快照,GCN应用于捕捉节点的局部结构属性以及节点之间的关系,采用LSTM作为主要框架,学习动态网络中所有快照的时间特征。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 目标

值得一提的是,该模型可以预测动态网络中链路的添加或删除,也就是对动态网络的邻接矩阵进行预测。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 原理

(1)使用GCN+LSTM作为编码器

使用GCN聚合节点以及其一阶邻居节点的状态。如图中所示,对于t-1时刻的节点12来说,其一阶邻居节点为7、9、11,同时GCN还会卷积节点自身的信息(A+I_N),也就是节点12。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 利用GCN提取各个节点的空间特征之后,使用LSTM提取时间序列的时序特征,公式如下:

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

(2)使用全连接层MLP作为解码器

由于GC-LSTM模型主要用于预测邻接矩阵,因此模型输出的,也就是说MLP最后一层的output_size大小为N。为输出的邻接矩阵的概率矩阵,代表t时刻存在从i到j的链路的概率。越大,说明节点i和节点j有更高的可能性是相连的。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

(3)损失函数

为正则项,主要为了防止模型过拟合。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 实验参数

GCN个数(对应LSTM的四个门控单元) 4
GCN参数K(卷积K阶邻居节点) 3
GCN隐藏层维度(输出维度) 256
LSTM隐藏单元 256
迭代次数 200
输入的连续序列数 11
阈值(判断链路是否存在) 0.9

二、实验代码

在从0到1实现GCN——最详细的代码实现篇文章中,我们详细的讲述了如何使用PyG库中的GCN卷积模块,PyG库中大多只包括一些卷积处理,而GC-LSTM中除了需要对数据的拓扑信息进行卷积处理之外,还需要对数据的时序特征进行处理,这就不得不用到pytorch geometric temporal

点击PyG Temporal进行下载。里面提供了非常多的模型代码可供使用。

GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 针对GC-LSTM模型代码,里面主要需要如下参数(一般只需要对前三个参数进行调整,因此这里只对前三个参数进行介绍):GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分

 in_channel:输入数据的维度(一般是数据节点特征矩阵的维度,为节点的数量,为节点特征的维度)。

out_channel:输出数据的维度,可根据需要自己进行设置和调整。

K:这里模型选用的是切比雪夫滤波器,如下公式所示,该滤波器进行化简即可得到GCN,所以本质上与GCN是一样的,K代表了聚合K阶邻居节点特征,也就是说K越大,聚合的邻居节点信息越多,卷积程度越深。

 具体的代码见GC-LSTM代码(下)这里代码部分文章来源地址https://www.toymoban.com/news/detail-407319.html

到了这里,关于GC-LSTM:用于动态网络链路预测的图卷积嵌入原理+代码(上)原理部分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于长短期神经网络的风速预测,基于LSTM的风速预测

    目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的风速预测 完整代码: https://download.csdn.net/download/abc991835105/88171311 效果图 结果分析 展望 参考论文 风速预测是一种比较难的预测,随机性比较大,长短期神经网络是一种改进党的RNN神经网络,克服了梯度

    2024年02月14日
    浏览(44)
  • 基于深度信念神经网络+长短期神经网络的降雨量预测,基于dbn-lstm的降雨量预测,dbn原理,lstm原理

    背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) LSTM原理 DBN-LSTM的降雨量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,通过dbn进行无监督学习提取特征,然后长短期神经网络LSTM进行训练

    2024年02月13日
    浏览(35)
  • 【深度学习】——循环神经网络RNN及实例气温预测、单层lstm股票预测

           密集连接网络和卷积神经网络都有主要的特点,那就是它们没有记忆。它们单独处理每个输入,在输入和输入之间没有保存任何状态。举个例子:当你在阅读一个句子的时候,你需要记住之前的内容,我们才能动态的了解这个句子想表达的含义。生物智能已渐进的方

    2023年04月24日
    浏览(47)
  • 时序预测 | MATLAB实现EEMD-LSTM、LSTM集合经验模态分解结合长短期记忆神经网络时间序列预测对比

    效果一览 基本介绍 时序预测 | MATLAB实现EEMD-LSTM、LSTM集合经验模态分解结合长短期记忆神经网络时间序列预测对比。 1.MATLAB实现EEMD-LSTM、LSTM时间序列预测对比; 2.时间序列预测 就是先eemd把原输入全分解变成很多维作为输入 再输入LSTM预测 ; 3.运行环境Matlab2018b及以上,输出RM

    2024年02月13日
    浏览(39)
  • 基于长短期神经网络LSTM的测量误差预测

    目录 背影 摘要 代码和数据下载:基于长短期神经网络LSTM的测量误差预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88714812 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的测量误差预测 结果分析 展望 参考论文 测量误差有一定的时间或

    2024年01月23日
    浏览(38)
  • 10.(Python数模)(预测模型二)LSTM回归网络(1→1)

    长短期记忆网络 - 通常只称为“LSTM” - 是一种特殊的RNN,能够学习长期的规律。 它们是由Hochreiter&Schmidhuber(1997)首先提出的,并且在后来的工作中被许多人精炼和推广。他们在各种各样的问题上应用得非常好,现在被广泛的使用。 有一串时间序列数据[112,118,132,129,121,13

    2024年02月09日
    浏览(43)
  • 【Python】基于动态残差学习的堆叠式LSTM模型和传统BP在股票预测中的应用

    本论文探讨了长短时记忆网络(LSTM)和反向传播神经网络(BP)在股票价格预测中的应用。首先,我们介绍了LSTM和BP在时间序列预测中的基本原理和应用背景。通过对比分析两者的优缺点,我们选择了LSTM作为基础模型,因其能够有效处理时间序列数据中的长期依赖关系,在基

    2024年02月19日
    浏览(37)
  • 【MATLAB】PSO_LSTM神经网络回归预测算法

    有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ PSO_LSTM神经网络回归预测算法是一种结合了粒子群优化(Particle Swarm Optimization,简称PSO)和长短时记忆(Long Short-Term Memory,简称LSTM)神经网络的混合模型。这种模型主要用于处理时间序列数据,并对未来的值

    2024年01月21日
    浏览(43)
  • 【MATLAB】SVMD_LSTM神经网络时序预测算法

    有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ SVMD-LSTM神经网络时序预测算法是一种结合了单变量经验模态分解(Singular Value Decomposition,SVD)和长短期记忆神经网络(LSTM)的时间序列预测方法。 SVD是一种矩阵分解方法,可以将一个矩阵分解为三个部分:

    2024年01月17日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包