1 Continuous-Time Dynamic Network Embeddings

Abstract

​ 描述一种将时间信息纳入网络嵌入的通用框架,该框架提出了从CTDG中学习时间相关嵌入

Conclusion

​ 描述了一个将时间信息纳入网络嵌入方法的通用框架。该框架为推广现有的基于随机游走的嵌入方法提供了基础,用于从连续时间动态网络学习动态(时间相关)网络嵌入

Figure and table

图1:这幅图的边标签为时间,注意v4 v1 v2不是一个合法的时序游走,因为v1v2的边时序小于v1v4的边

图2,可以看到大部分的时序随机游走长度都集中在右侧

表1 SOTA

Introduction

​ 在这个论文里 提出了一种通用框架。这个框架可以非常容易的和现有的节点嵌入方式(基于随机游走)结合,给这些节点嵌入加入时间序列信息。该框架是将时间依赖性纳入现有节点嵌入和基于随机游动的深度图模型的基础(就是基于时间序列的随机游走),并且由于保证时序是非递减的 可以减少虚假事件或者不可能的时间来减少噪声

​ 静态图和动态图的区别就在于时间的粒度选择上 动态图尽量选择最小粒度的时间(如秒或者毫秒)来拟合连续的情况,但是如果对用snapshot的方法来看 时间粒度过小将会造成多个snapshot的计算和储存开销,该方法利用streaming graph的方式学习,可以用于要求实时性能的应用

​ 所提出的方法在所有方法和图形中的平均增益为11.9%,结果表明,建模图中的时间依赖关系对于学习适当且有意义的网络表示非常重要。此外,任何使用随机游动的现有嵌入方法或深度图模型都可以受益于所提出的框架

​ 作者说明了以往的随机游走的问题,例如是邮件发送接受构成的图,假设我们有两封电子邮件\(ei=(v1,v2)\)从\(v1\)到\(v2\),\(ej=(v2,v3)\)从\(v2\)到\(v3\);让\(T(v1,v2)\)为电子邮件\(ei=(v1,v2)\)发送的时间,让\(T(v2,v3)\)为电子邮件\(ej=(v2,v3)\)发送的时间。如果\(T(v1,v2)< T(v2,v3)\),那在第二封邮件中就可能反应了第一封邮件中的某些信息。反之,第二封邮件中就不会有第一封邮件中的信息。同样是v1到v2节点的随机游走,但是包含的信息不一样

​ 这只是一个简单的例子,说明了建模实际事件序列(电子邮件通信)的重要性。忽略时间的嵌入方法容易出现许多问题,例如学习不适当的节点嵌入,这些节点嵌入不能准确捕捉网络中的动态,例如真实世界中的交互或节点之间的信息流

​ 该方法具有以下三个特性

​ 通用和统一框架:我们提出了一个通用框架,用于在节点嵌入和利用随机游动的深度图模型中合并时间依赖关系。

连续时间动态网络:学习连续时间动态网络的时间相关网络表示。该方法避免了从图的连续时间表示创建离散快照图序列时出现的问题和信息丢失。

有效:sota

Method

2.1 Temporal Model

​ 这里对temporal model里的一些概念进行定义

2.2 Initial Temporal Edge Selection

​ 这里说了自己和那些普通随机游走的区别:

​ 普通随机游走是从某个点开始走固定长度的距离,但是在时序图中,由于时间边的存在,所以从分布中采样时不是随机选择一点v开始,而是

​ 1.对初始时间进行采样,再去找离采样时间最近的边

​ 2.或者直接对边和边对应的时间进行采样

​ 这是所提出的使用时间随机游动的动态网络嵌入框架与在静态图上使用随机游动的现有方法之间的一个重要而根本的区别。

​ 同时,也可以选择随机采样出一个边或者使用任意的加权分布进行采样,前面一种就是随机采样,而后面这个是我们可能希望从距离当前时间点更近的边缘开始更多的时间行走,因为遥远过去的事件/关系可能不太具有预测性或指示系统现在的状态

作者列了两个关于采样的三个公式

2.2.1:无偏

\[Pr(e)=1/|E_t|
\]

2.2.2:偏置

指数分布

\[Pr(e)=\frac{exp[\tau(e)-t_{min}]}{\sum_{e^ \prime \in E_t}exp[\tau(e)-t_{min}]}
\]

该分布非常有利于时间较晚出现的边

线性分布

\[Pr(e) = \frac{\eta(e)}{\sum_{e^ \prime \in E_t}\eta(e^\prime)}
\]

​ 当两个边之间的相隔时间太长时,可以使用这个分布,先将\(e\)升序排序

​ \(\eta(e)\)返回\(e\)排序后的下标,对于最早时间的\(e\),\(\eta(e)=1\)

2.3 Temporal Random Walk

​ 这段提到如何进行游走

​ 首先定义邻居的概念:

\[Γ_t (v) =
\{
(w, t′) | e = (v, w, t′)∈ E_T∧ \tau(e) > t
\}
\]

​ 对于\(t\)时刻下的点\(v\),该点邻居和在\(t^\prime\)时刻和\(v\)有时序边,且\(t^\prime>t\)

​ 接着如何选择下一次的游走节点,注意到,从\(v\)到点\(u\)可能存在多个时序边,我们当然可以选择满足分布\(Γ_t (v)\)的边,但是考虑到可以更加直观的思考时间之间的连续性,例如,两个人可能会在一段时间内交换多封电子邮件,我们可能希望将抽样策略偏向于对连续边显示较小“中间”时间的行走。也就是说,对于随机行走中的每一对连续边\((u、v、t)\)和\((v、w、t+k)\),我们希望k较小。对于动态社交网络上的时间链接预测,限制“中间”时间时间让我们可以尝试不让不同时间段的朋友聚在一起的游走。例如,如果k很小,我们可能会对随机游动序列\((v1,v2,t)\),\((v2,v3,t+k)\)进行采样,这是有意义的,因为v1和v3更可能相互了解,因为v2最近与它们都进行了交互。另一方面,如果k很大,我们不太可能对序列进行采样。这有助于区分在非常不同的时间段与之互动的人,因为他们不太可能相互了解。

然后介绍三种分布进行采样

和一个Temporal context windows的概念

在对一组时序游走进行采样时,我们通常将\(\beta\)设置为\(N = |V |\) 倍

*2.4 Learning Time-preserving Embeddings

​ 将上述问题转化为优化问题

​ \(f\)是映射函数 将节点映射到\(embedding\)

​ \(W_T\)是一个任意时间的上下文窗口

​ 这个式子的含义是,希望最大化\(log(Pr(A|B))\)这个函数,首先条件概率\(0<=Pr(A|B)<=1\),所以\(log(Pr(A|B))\)<=0,最大化\(log(Pr(A|B))\)即最大化条件概率\(Pr(A|B)\),该条件该率的含义为:在包含节点\(v_i\)时,将\(v_i\)通过\(f\)映射成\(embedding\),以这次映射的\(embedding\)为条件,时序随机游走产生的序列\(W_T\)出现的概率是多少,其中优化目标是\(f\),(优化时,\(W_T\)和\(v_i\)已经确定),所以希望函数\(f\)能够学习到一种将当前时序随机游走序列中的点\(v_i\)所对应的映射方法

​ 如果假设时间上下文窗口的节点之间存在条件独立性 则

​ 将上式的概率转换为可以计算的形式,则为每次下一次连接的点刚好为时间游走序列中顺序的点 例如有序列:

\[A\to B\to C\to D \to B
\]

​ 则每次为从图中选取到ABCDB作为序列的概率

​ 后面作者补充,如果给定一个图G,设S是G上所有可能的随机游动的空间,设ST是G上所有时间随机游动的空间。很容易看出时间随机游动的空间ST包含在S中,而ST只代表S中可能的随机游动的一小部分。现有的方法是从S中随机采样一个序列进行节点的\(embedding\),而这项工作的重点就是从ST中进行采样序列。

​ 一般来说,现有方法从S随机抽样到时间序列的概率非常小。当考虑时间时,绝大多数抽样中代表节点之间的事件序列都是无效的。例如,假设每个边缘代表两个人之间的交互/事件(例如,电子邮件、电话、空间接近),那么时间随机游走可能代表一条信息通过动态网络的可行路径或传染病传播的时间有效路径。

2.5 Hyperparameters

该模型只有一个需要调整的参数:指数基数(2.2和2.3中的指数分布)

该算法认为,可以接受任意长度的游走长度,只是将其限制在范围\([ω,L]\),\(ω\)和\(L\)之间任意大小的行走可以更精确地表示节点行为.

2.6 Model variants

简单说,前面2.2有三种分布,2.3有三种分布,在3中做了这几种分布的排列组合产生模型的效果

Algorithm

Experiment

为了生成一组用于链接预测的标记示例,首先按时间(升序)对每个图中的边进行排序,并使用前75%进行表示学习。剩下的25%被视为正链接,随机抽取等量的负边。

baseline如下

3.1 Experimental setup

介绍一下相关参数



数据集的各项参数

排列组合两个分布(2.2,2.3中的分布)后 对不同数据集的效果

Summary

这篇文章是基于随机游走,核心思想就是提出了按照时序的随机游走,而不是任意游走,希望每次游走出来的路径都是一条时序边非递减的路径,并且提出了优化的目标函数算法,区别于node2vec的优化函数,该方法希望可以在节点\(vi\)条件下,令其时序游走序列出现的概率最大而不是令其近邻顶点出现的概率最大。

论文阅读 Continuous-Time Dynamic Network Embeddings的更多相关文章

  1. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  2. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  3. 论文阅读:An End-to-End Network for Generating Social Relationship Graphs

    论文链接:https://arxiv.org/abs/1903.09784v1 Abstract 社交关系智能代理在人工智能领域中越来越引人关注.为此,我们需要一个可以在不同社会关系上下文中理解社交关 ...

  4. DWA局部路径规划算法论文阅读:The Dynamic Window Approach to Collision Avoidance。

    DWA(动态窗口)算法是用于局部路径规划的算法,已经在ROS中实现,在move_base堆栈中:http://wiki.ros.org/dwa_local_planner DWA算法第一次提出应该是1 ...

  5. 【论文阅读】Second-order Attention Network for Single Image Super-Resolution

    概要 近年来,深度卷积神经网络(CNNs)在单一图像超分辨率(SISR)中进行了广泛的探索,并获得了卓越的性能.但是,大多数现有的基于CNN的SISR方法主要聚焦于更宽或更深的体系结构设计上,而忽略了 ...

  6. 论文阅读 Exploring Temporal Information for Dynamic Network Embedding

    10 Exploring Temporal Information for Dynamic Network Embedding 5 link:https://scholar.google.com.sg ...

  7. 论文阅读 DyREP:Learning Representations Over Dynamic Graphs

    5 DyREP:Learning Representations Over Dynamic Graphs link:https://scholar.google.com/scholar_url?url ...

  8. 论文阅读 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks

    6 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks link:https://arxiv.org/ab ...

  9. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

随机推荐

  1. 内置方法 __str__ __repr__

    内置方法(双下方法,魔术方法) 在不需要程序员定义,本身就存在的类中的方法就是内置方法 内置方法:  __名字__ __init__   不需要我们主动调用,而是在实例化的时候内部自动调用的,存在一种 ...

  2. 网络监听HTTP协议信息实验

    一.开启环境 登录web服务器,在服务器中开启phpstudy服务器环境. 在操作机中打开目标站[Web服务器IP地址]地址.安装wordpress,数据库名:wordpress,用户名root 密码 ...

  3. python练习册 每天一个小程序 第0009题

    1 ''' 2 题目描述: 3 找出一个html文件中所有的url 4 5 思路 : 6 利用正则表达式进行匹配 7 8 ''' 9 10 11 import re 12 13 14 with ope ...

  4. Java基础 - 异常详解

    异常的层次结构 Throwable Throwable 是 Java 语言中所有错误与异常的超类. Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示 ...

  5. Mysql之锁(二)

    1.查看锁 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; -- 记录当前运行的事务 SELECT * FROM INFORMATION_SCHEMA.INN ...

  6. outlook配置osc地址(删除原账户重新配置)

    方法二:使用手动配置邮箱(适用于标准化未入域机器) Step1:在"开始"菜单找到 "控制面板"并打开(或按键盘上的"Win"+" ...

  7. 在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?

    在测试目标只关注 Spring MVC 组件的情况下,WebMvcTest 注释用于单元测试 Spring MVC 应用程序.在上面显示的快照中,我们只想启动 ToTestController. 执行 ...

  8. 学习openldap03

    ldap统一认证架构 一.ldap目录服务介绍什么是目录服务?  目录是一类为了浏览和搜索数据而设计的特殊的数据库.例如,为人所熟知的微软公司的活动目录(active directory)就是目录数据 ...

  9. 学习openstack(三)

      一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...

  10. 学习Kvm(五)

    KVM(一)搭建部署与概述 一,KVM概述 1.1 虚拟化概述 在计算机技术中,虚拟化意味着创建设备或资源的虚拟版本,如服务器,存储设备,网络或者操作系统等等 [x] 虚拟化技术分类: 系统虚拟化(我 ...