时序图文献精度——5.2019-IJCIA-Node Embedding over Temporal Graphs

news2025/1/16 5:55:54

Node Embedding over Temporal Graphs

Abstract

作者提出了一种在时间图中嵌入节点的方法。学习时间图的节点和边随时间的演变,并将这种动态整合到时间节点嵌入框架中,用于不同的图预测任务。作者也提出了一个联合损失函数,它通过学习组合节点的历史时间嵌入来创建节点的时间嵌入,这样它就可以优化每个给定的任务(例如,链接预测)。
该算法使用静态节点嵌入初始化,然后在不同时间点对节点的表示进行对齐,并最终适应联合优化中的给定任务。

1.Introduction

在这项工作中,作者扩展了基于先验嵌入的方法,以包括网络的时间行为。直观地说,如果node2vec模仿词嵌入作为节点嵌入的表示,我们提出了一种算法,模仿句子嵌入作为节点的扩展表示
作者优化了两个目标函数:
(1)在d维特征空间中保持节点的静态网络邻域;
(2)保持网络动态
然后提出了一个优化函数来共同学习(1)和(2)
首先,作者通过利用静态图的嵌入来实现(1),然后通过联合学习如何合并节点的历史时间嵌入,通过创建一个节点的最终嵌入来实现(2),从而优化给定的任务

实验中,作者给出了两种类型的预测的结果: (1)时间链路预测 (2)多标签节点分类

2.Related Work

3.Feature Learning Framework

G=(V, E)是一个图,其中每个时间边(u, v)t ∈E在t时刻从一个节点u指向一个节点v。作者定义了一个时间图Gt =(Vt, Et),它被定义为在时间t之前出现的所有边的图。我们用一组图快照,Gt1,...,GtT,在不同的时间步长,在T个时间步长定义Gt随时间的演化,t1<…<tT
在这项工作中,作者提出了一种算法,该算法学习端到端架构中时间图的节点和边在不同的预测任务。目标是在T时刻为每个节点v∈V找到一个特征向量fT (v),使任何给定预测任务的损失最小化。

对于节点分类任务,作者使用交叉熵损失:
在这里插入图片描述
对于链路预测任务,作者使用二元分类损失:
在这里插入图片描述
在这个算法中,g是拼接函数

作者希望利用图形快照集,G1,……,GT来学习一个函数FT,s.t.: fT (v) = FT(v,G1,…,GT),对Ltass最优化。为了学习节点动力学,在t + 1中将节点v嵌入到递归表示中:
在这里插入图片描述
A、B、Rt和Qt是在训练过程中学习到的矩阵,v是一个代表一个节点的单热向量,σ是一个激活函数,Qt解释为特定时间t内的静态节点表示矩阵
将最终的时间嵌入学习问题表示为一个最小化以下损失函数的优化问题
在这里插入图片描述
然后使用定义嵌入的模型参数fT的Adam优化这个方程,即ABQ1……QT,r2,…。RT .
作者考虑了Qt的几种初始化机制。具体来说,我们通过在t时刻从相应的图Gt中采样相邻节点来学习所有节点的表示,同时最小化以下损失函数:
在这里插入图片描述
还要求通过强制执行Rt作为一个旋转矩阵来保持静态嵌入的连续时间步长之间的对齐。因此,Rt最小化:
在这里插入图片描述
这个端到端过程使我们能够学习如何将节点的历史时间嵌入组合到最终的嵌入中,这样它就可以优化给定的任务。

3.1 Initialization using Static Node Embeddings

在本节中,作者阐述了Qt的初始化过程。
由于node2vec的可伸缩性及其网络保存特性,作者使用它来初始化Qt。

3.2 Temporal Node Embedding Alignment

在本节中,我们将详细阐述了旋转矩阵Rt的优化问题。

无论是node2vec还是图在不同时间点的相同图嵌入,都无法保证嵌入的图节点的坐标轴对齐。

我们的目标是“平滑”来自不同嵌入训练课程的两个不同时间步长titj之间的变化。
假设大多数节点在titj之间没有太大的变化(例如,j=i+ε),我们在ti时刻的节点嵌入和tj时刻的节点嵌入之间进行正交变换

应用于我们的问题,设Qt∈Rd×|V|时间步长t时的节点嵌入矩阵。我们迭代地对齐连续时间步长对应的矩阵,即对齐Qt2到Qt1,然后对齐Qt3到Qt2,以此类推。
对齐需要找到QtQt+1之间的正交矩阵R。时间Qt的最终嵌入数现在是Qt = RQt。通过优化以下回归问题来实现近似:
在这里插入图片描述
其中Rt+1∈Rd×d是两个连续时间步长之间的最佳正交变换对齐。

3.3 Node Embedding over Time

在本节中,作者详细阐述了A、B和σ的选择以及最终的联合优化。

在句子分类任务中,每个句子嵌入一个大小为d的向量,然后将向量输入分类器。
在优化的最后一步,我们的目标是为每个节点创建一个单一的d维表示,利用它的T历史嵌入,X (v)。为了将序列数据简化为d维向量,作者使用了具有长短期记忆(LSTM)的递归神经网络(RNNs)
作者将tNodeEmbed定义为使用静态节点嵌入和对齐进行初始化的架构,并针对给定的任务进行了优化。图1a说明了多标签节点分类任务的过程。时间t嵌入的每个节点,对齐后,作为输入输入一个大小为d的LSTM内存单元。LSTM的最后一个记忆单元hT∈Rd表示节点vt最终时间嵌入,对特定任务进行优化。对于链路预测任务(图1b),每条边的e =(v1,v2)(v1 t,vt 2)表示——一个大小为2d的向量,它是它所连接的两个节点的连接。然后将此边表示输入大小为d的全连接(FC)层,然后是一个softmax层
在这里插入图片描述

4.Experimental Setup

4.1 Datasets

在这里插入图片描述

5.Experimental Results

评估的主要部分包括对tNodeEmbed与上一节中描述的链接预测和节点分类任务的所有基线的详细比较,然后,进一步研究了四种具有不同程度分布的随机图的链接预测任务的性能。最后,分析了对齐步骤对两个任务性能的影响。在本节中,粗体显示的结果显示了统计学上的显著差异。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.Conclusion

在本文中,作者探索了时间图的嵌入。与之前的时间图预测方面的工作不同,它专注于优化一个特定的任务,我们提出了一个框架,允许联合优化节点表示和特定于任务的目标。
该方法将图嵌入推广到捕获图动态,有点类似于在自然语言处理中将单词嵌入扩展到顺序句子嵌入。该框架可以利用任何静态图嵌入技术,并学习一个时间节点嵌入来改变它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【java算法】稀疏数组/队列/单双链表

文章目录线性和非线性结构稀疏数组前言代码刷类型题队列非环形队列环形队列刷题单链表单链表的定义案例演示--代码1.按照顺序添加2.按英雄排名插入3.根据no编号来修改节点信息4.删除节点单链表刷题1.求单链表中有效节点的个数2.查找单链表中的倒数第k个节点3.单链表的反转4.从尾…

SAP入门技术分享三:OPEN SQL

OPEN SQL1. 概要&#xff08;1&#xff09;R/3体系结构&#xff08;2&#xff09;SQL定义&#xff08;3&#xff09;OPEN SQL经常使用的命令2. OPEN SQL&#xff08;1&#xff09;SELECT 语句&#xff08;2&#xff09;INTO语句3. FROM语句&#xff08;1&#xff09;选择静态表…

JSONArray

目录1. 需求2. 测试3. 实现需求4. 相关操作1. 将JSONObject装入JSONArray2. JSONArray与String的相互转换1. 需求 最近有个需求&#xff1a; 要接收某个接口的 JSON 数据&#xff0c;而这个JSON数据有可能是一个 JSON 对象&#xff0c;也有可能是一个 JSON数组。 "{name…

python数据结构之字符串

一、字符串的格式化输出 1.1、格式化运算符 print("我跑完了第" str(lap 1) "圈")上面这段输出的代码使用了两个加号做了字符串拼接&#xff0c;并且将整形转换成了字符串。也可以使用一种更好的办法&#xff0c;格式化输出来打印这句话。 print(&quo…

内存取证——基础知识(volatility内存取证)

目录 一、基本概念 二、运行内存镜像的获取 2.1 Windows内存镜像获取 2.1.1 Magnet RAM Capture获取内存镜像 2.1.2 AccessData FTK Imager软件获取内存镜像 2.1.3 DumpIt软件获取内存镜像 2.1.4 额外知识补充&#xff1a; 2.2 Linux\Mac OS 下内存镜像获取方法 三、内…

什么是云渲染?云渲染速度快吗?

近年来随着计算机技术的逐步发展&#xff0c;万物上‘’云‘’的趋势越发明显&#xff0c;一种基于云计算的SAAS服务平台——云渲染农场开始走入CG行业。而且云渲染农场&#xff08;如Renderbus瑞云渲染&#xff09;也在众多CG小伙伴的眼里成为了不可或缺的一部分。有人问云渲染…

[ docker相关知识 ] 删除 docker 拉取的容器 -- 解决删除镜像报错问题

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

CSS入门八、CSS3动画

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…

三、Gradle使用

文章目录三、Gradle使用1 在 idea 中创建普通 java 工程2 在 idea 中创建 ssm 工程3 项目部署3.1 本地tomcat部署项目3.2 Gretty 部署项目3.3 具体使用4 Gradle 对测试支持4.1 默认测试目录及标准输出4.2 Junit 使用4.3 包含和排除特定测试【尚硅谷】Gradle教程-讲师&#xff1…

Blender 物理属性 (一)刚体

文章目录添加与去除刚体查看刚体效果刚体属性刚体设置碰撞表面响应添加与去除刚体 1 添加&#xff1a;物体模式选中一个物体&#xff0c;属性栏/物理属性&#xff08;蓝色圆圈&#xff09;&#xff0c;选择刚体 2 去除&#xff1a;再次点击刚体按钮即可 查看刚体效果 1 点击…

SpringCloud系列(八)[docker 篇] - 关于 Docker 的一些介绍及架构

近几年 Docker 还是挺火的, 学习微服务也肯定要知道 Docker 的存在并最好掌握一些基本操作, 毕竟一些体量非常大的项目运行环境会比较复杂, 部署的时候难免会遇到某些问题, 如兼容性 / 生产环境有差异等问题… 本篇文章将以图文的形式对 Docker 进行介绍, 加深对 Docker 的印象…

S2B2b2C电商框架图

S2B2b2C电商框架图 以下是S2B2b2C系统的结构图和流程说明&#xff1a; 它是品牌商赋能门店流量&#xff0c;以用户为中心、提升用户体验的一种电商模式。 这个品牌商可以是工厂、连锁品牌、省代市代等商贸流通型企业&#xff0c;它可以一个或者多个仓库&#xff0c;甚至有自己…

文件恢复软件哪个最好用?5 款最佳照片文件恢复软件

丢失照片很常见&#xff0c;但恢复它们取决于您选择的方法或软件。找到最好的照片恢复软件来恢复永久删除的照片并不容易。在许多网页上&#xff0c;您可以找到一大堆照片恢复工具&#xff0c;无论它们的性能如何。这可能会造成很多混乱&#xff0c;不知道优先使用什么照片恢复…

Linux操作系统之线程创建

文章目录一、了解线程二、线程的创建一、了解线程 什么是线程&#xff1f; 线程是进程内部的一条执行路径或执行序列 二、线程的创建 pthread_creat() //创建线程 pthread_exit() //只退出当前线程 pthread_join() //等待线程结束/合并线程 第一类题目&#xff1a;1、首先…

Python玩人工智能:你的俯卧撑做对了吗?

1. 准备工作 1.1 安装Python3.8.x 1.2 安装PyCharm社区版 1.3 创建项目 1.4 安装项目使用工具包 1.1 下载安装Python3.8.x版本 首先我们的电脑上要安装Python3.8.x。Python 3.8.x : https://www.python.org/downlo... 1.2 下载安装PyCharm社区版 PyCharm: https://www.j…

远程办公与Web3内核高度匹配 将重塑全球劳动力市场格局?

在过去两年半的时间里&#xff0c;全球有45%的工作转为了远程办公模式&#xff0c;不过即使疫情好转&#xff0c;大城市的办公室入驻率仍低于疫情前50%的水平。 这表明&#xff0c;现在越来越多的人更喜欢远程工作的生活方式。“远程办公”从疫情期间的无奈选择&#xff0c;正在…

java基于ssm框架的企业人事管理系统企业工资考勤系统

简介 Java基于ssm开发的企业人事考勤工资系统&#xff0c;员工可以打卡、请假。系统根据员工的打卡情况自动计算工资&#xff08;全勤、请假、旷工、加班、迟到、早退等计算出最终实发工资&#xff09;&#xff0c;员工还可以查看自己的考勤记录工资具体组成等。升级版加了部长…

jedis是什么,为什么是线程不安全的

常用的操作redis的客户端工具 jedis Jedis 是 Redis 官方推荐的 Java 连接开发工具&#xff0c;jedis非线程安全。 但是可以通过JedisPool连接池去管理实例&#xff0c;在多线程情况下让每个线程有自己独立的jedis实例&#xff0c;可变为线程安全。 Lettuce Lettuce 是基于…

嵌入式实时操作系统的设计与开发(七)

内存管理机制 内存管理就是把物理的存储资源用一定的规则和手段管理起来&#xff0c;以供给操作系统和应用程序使用。 主要的操作&#xff1a;内存的分配和内存的回收。 内存的利用率、分配回收的效率和稳定性成为了评价内存管理模块的主要依据。 内存分配又包括静态和动态两种…

Pinely Round 1 (Div. 1 + Div. 2) A. Two Permutations

来写一道*800的题&#xff0c;思路很简单&#xff0c;就是这道题我们应该怎么去严谨地思考Problem - 1761A - Codeforces思路&#xff1a;结论题的分类讨论一定要不重不漏一开始很容易想到&#xff0c;前缀和后缀不能有重合那么有重合部分就判No没有重合的情况&#xff1a;隔1个…