精华内容
下载资源
问答
  • 动态社区发现
    千次阅读
    2019-11-25 19:04:41

    机器学习——社区发现算法之LPA算法

    https://greatpowerlaw.wordpress.com/2013/02/08/community-detection-lpa/

    更多相关内容
  • 综述了近年来国内外对动态社区发现的主要研究进展。从同步、自旋和随机游动三个方面分析了动态社区发现算法的原理。对目前存在的各种动态社区发现算法进行了深入剖析和全面比较,指出当前动态社区发现的研究热点及...
  • 基于密度聚类的增量动态社区发现算法.pdf
  • 社交网络中基于博弈论的动态社区发现
  • 为了发现动态变化的社区结构,在分析了动态社区划分算法的研究现状基础上,提出一种基于时效性和介数的动态社区发现算法,对历史信息的时效性进行了计算,建立了综合有权网络,基于局部边介数进行社区划分,发现了稳定社区...
  • 动态社区发现算法的研究进展.docx
  • 基于个体稳定度博弈的动态社区发现算法研究.pdf
  • 动态社区发现在个性化推荐系统中的应用.pdf
  • 动态社区发现算法的研究进展
  • GraphScope算法[1,2,3], 是通过合并不同时间点的图结构从而获取到新图, 并对生成的新图应用社区发现。算法的具体过程: 判断新的时间点是否为改变点,即网络结构发生重大改变的时间片, 整个过程不需要用户提供参数 (1...

    1.1 GraphScope算法
    GraphScope算法[1,2,3], 是通过合并不同时间点的图结构从而获取到新图, 并对生成的新图应用社区发现。算法的具体过程:
    判断新的时间点是否为改变点,即网络结构发生重大改变的时间片, 整个过程不需要用户提供参数
    (1) 若是则开始新的时间片并单独进行发现社区,且不对网络的变化进行关注;
    (2) 若不是则合并当前时刻和该时间的图结构来获取新的图, 并在新图中应用社区发现算法, 合并后的新图拥有网络变化的各时刻信息, 同时会持续考虑网络的动态变化情况。
    1.2 FaceNet算法
    在这里插入图片描述
    在这里插入图片描述
    1.3 QCA算法
    QCA算法[7,8], 是经典的自适应增量式处理网络动态变化的方法, 其t时刻的社区结构是基于上一时刻t-1和t时刻两者之间的网络变化而演化生成的。
    在这里插入图片描述
    评价:GraphScope算法和FaceNet算法在每一个时间片都需更新网络图和重新划分社区, 但一般情况下相邻的社区不会发生很大的变化, 因此这些算法会造成社区划分计算时间过长。QCA算法应用的是时间片递增变化处理方法, 仅对变化的网络部分进行计算, 因此可以提高算法的效率, 但会降低算法的准确率。
    [1]Chen J Y, Fagnan J, Goebel R, et al. Meerkat:Community mining with dynamic social networks[C]. Proceeding ICDMW’10 Proceedings of the 2010 IEEE International Conference on Data Mining Workshops, 2009:1733-1754.

    [2] Clauset A, Newman M E J, Moore C. Finding community structure in very large networks[J]. Physical Review E, 2004 (6) :66-111.

    [3]Coscia M, Giannotti F, Pedreschi D. A classification for community discovery methodsin complex networks[J]. Statistical Analysis and Data Mining, 2011 (5) :512-546.

    [4]Datta S, Giannella C, Kargupta H. K-Means clustering over peer-to-peer networks[J]. Physical Review E, 2007 (6) :22-36.

    [5]Evans T S, Lambiotte R. Line graphs, link partitions, and overlapping communities[J]. Physical Review E, 2009 (903) :71-81.

    [6]顾炎, 熊超.动态社区的点增量发现算法[J].计算机技术与发展, 2017 (6) :81-85, 90.

    [7]范晖, 夏清国, 乌伟.基于节点效益纳什均衡的网络社区发现算法[J].计算机工程与设计, 2016 (10) :2775-2779, 2809.

    [8]柴丹炜, 刘建生.基于自适应差分演化算法的动态社区发现问题研究[J].江西理工大学学报, 2016 (5) :79-86.

    展开全文
  • 本文首先介绍了社区发现相关技术,分析了经典的静态和动态社区发现算法及其优缺点,例如,GN算法、KL算法、CMP算法、GraphScope算法、FaceNet算法等。然后深入分析了基于贪婪思想的SHRINK-G算法,该算法不需要用户提供...
  • 动态网络的社区发现是目前复杂网络分析领域的重要研究内容,然而现有动态网络社区发现方法主要针对同质网络,当网络包含多种异质信息时,现有方法不再适用。针对这个问题,提出了一种基于联合矩阵分解的动态异质网络...
  • 针对动态加权网络中的社区发现问题,提出了一种结合历史网络社区结构的算法,叫做动态加权网络中的演化社区发现算法(ECDA)。该算法分为两步:a)结合历史社区和网络结构信息,计算当前时间跳的输入矩阵;b)通过该...
  • 基于分解多目标进化算法的动态可重叠社区发现,宋峰,左兴权,社区发现是网络研究的重要一部分。随着互联网的复杂化动态化发展,动态网络的重叠社区发现研究变越来越受到重视。本文采用基于分
  • 一种基于增量式谱聚类的动态社区自适应发现算法.pdf
  • 一种多目标动态社交网络重叠社区发现算法,王俊玲,左兴权,近年来,动态网络社区发现算法的研究逐渐受到人们关注,并取得了一些成果,但国内外关于动态社交网络的研究还只处于起步阶段,所
  • 动态网络环境下稳定社区发现,王锴,徐慧,本文为针对在动态网络环境下社区划分稳定性的研究提出了一种划分稳定社区的全新方法。本文通过对社区网络结构进行分析,在层次聚
  • 本文设计了动态加权网络中的链路社区结构发现算法,该算法不仅可以揭示进化的链路社区结构,而且可以通过将链路社区映射到节点社区来检测重叠社区。 同时,我们的算法还可以通过调整参数来获得链接社区的层次结构。...
  • 针对动态加权网络中的社区发现问题,提出了一种结合历史网络社区结构的算法,叫做动态加权网络中的演化社区发现算法(ECDA)。该算法分为两步:结合历史社区和网络结构信息,计算当前时间跳的输入矩阵;然后通过该...
  • 最近,发现动态社区已变得越来越重要。 已经提出了许多算法,其中大多数仅使用链接结构。 但是,丰富的信息被编码在社交网络的内容中,例如节点内容和边缘内容,这对于发现具有局部意义的社区至关重要。 因此,要...
  • 基于动态主题模型融合多维数据的微博社区发现算法
  • 动态多模式网络中发现社区可以帮助人们了解网络的结构属性,解决数据不足和不平衡问题,并且可以协助解决市场营销和发现重要参与者的问题。一般来说,网络和它的社区结构是不均匀进化的。通过使用时态信息来分析多...
  • 还可以发现社团演变的隐藏规律。而且使用静态图进行社团挖掘已经被广泛采用,但基于动态图的研究还比较少。通过使用时间序列,对动态图上的社团挖掘包括社团检测与分析进行研究,提出了一个新的动态社团结构检测模型...
  • 网络游戏-动态网络的重叠社区发现方法及装置.zip
  • 针对时延容忍的移动...最后,基于动态的虚拟兴趣社区构建高效的资源发现策略。IBRD机制在随机网络仿真器(ONE)上得以实现,实验结果表明,IBRD与同类模型相比,具有较高的资源发现成功率、较低的平均时延和通信开销。
  • 张量法在动态异构信息网络中的多类型社区发现
  • 动态网络社区检测概述

    千次阅读 2021-03-06 16:10:47
    1 什么是动态网络? 在静态网络的基础上添加了时间信息。 动态网络是指加上时间戳的网络,包含时序网络和切片网络两种类型。其中时序网络是指网络从初始状态不断演化的情况。切片网络要简单一些,就是由一组切片构成...

    从知乎看到的一篇好文章,整理了一下。

    1 什么是动态网络?
    在静态网络的基础上添加了时间信息。
    动态网络是指加上时间戳的网络,包含时序网络和切片网络两种类型。其中时序网络是指网络从初始状态不断演化的情况。切片网络要简单一些,就是由一组切片构成的动态网络。

    2 动态网络分类?
    一种是Temporal Network(时态网络),该网络为每个节点和边添加了生卒年月,使得它们只能在一段时间内存在;
    什么是时态网络?指网络从初始状态不断演化的情况。
    第二种是Snapshots Network(快照/切片网络),该网络由一系列在某个时刻或一小段时间内的网络快照组成,通过下标来确定快照的时间顺序。就是由一组切片构成的动态网络。 在这里插入图片描述

    3 动态网络如何进行社区发现?
    动态社区发现,Dynamic community
    动态社区发现是动态网络的基础上构建的。通过相关算法得到的动态社区DC由n个节点组成,同时每个节点还有自己的生存时间范围 Pi. 在这里插入图片描述
    动态社区发现不仅要找到动态网络中的社区结构,还需要指出这些动态社区的生命周期。

    3.1 动态社区的生命周期
    动态社区的几种变化形态:
    出生与死亡,也就是从0到1,与从1到0的过程。 在这里插入图片描述
    增长与收缩,也就是社区中节点随着时间的变化,节点数量增多与减少的过程。
    在这里插入图片描述
    合并与分裂,随着时间的变化,几个小社区可能会合并为一个大社区,一个大社区可能会分裂为几个小社区的过程。
    在这里插入图片描述
    continue,社区随着时间推移没有变化。
    在这里插入图片描述
    复苏,社区消失一段时间后,又以相同的形式出现,如一年四季。
    在这里插入图片描述

    4 现存的动态网络社区发现算法有哪几类?
    1. 即时最佳社区发现(Instant Optimal CD),该方法认为某个时刻t的社区只和当前网络结构有关。
    2. 时间权衡社区发现(Temporal Trade-off CD),该方法认为某个时刻t的社区不仅和当前网络相关,还和过去的网络结构有关。
    3. 跨时间社区发现(Cross-Time CD),该方法不考虑时刻,直接对整个动态网络进行社区发现。

    4.1 即时最佳社区发现(Instant Optimal CD)
    算法分2步:
    1. discovery:识别出每个时间区间的社区。
    2. matching:将不同时间区间的社区联系在一起,最后形成一系列的动态社区结构。
    在这里插入图片描述

    优点:可以并行化,将不同时间片上的社区发现任务并行执行,在Math阶段合并。
    缺点:不能低于相邻2个时间片上网络结构的巨变,比如2个相邻时间分片上找打的社区差别非常大,那么match阶段想要匹配就非常难。
    利用时间片计算限制了这种算法只能在快照网络上运行。

    4.2 时间权衡社区发现(Temporal Trade-off CD)
    算法分2步:
    1. Initialisation:在最早时间片的网络结构中做一次社区发现
    2. Update:动态社区的每一次更新都将上一次的社团结构和当前网络中的社团结构作为本次更新的输入,最终形成一系列的动态社团结构。
    在这里插入图片描述

    优点:
    和前一种方法相比,引入了时间平滑的机制,使得系统能够更有效对抗网络巨变的影响。
    缺点:
    每次计算都要依赖上一次的结果,因此这个算法只能串行
    连锁输入也有可能造成级联故障进而产生雪崩效应。

    4.3 跨时间社区发现(Cross-Time CD)
    算法分2步:
    1. Merge:把动态网络压缩成一个网络,并且建立压缩网络和动态网络的节点对应关系
    2. Extract:在这个网络上做静态社区发现,最后通过对应关系构建一系列的动态社团结构
    在这里插入图片描述

    优点:
    能够有效对抗网络巨变
    没有串行算法带来的雪崩效应风险
    缺点:
    很难描述社团的演化过程(缺失社区的出生和死亡机制,且社团数量是固定的)。

    5 动态社区可视化
    分为2种,一种是带有时间轴的静态可视化,一种是随着时间变化的动态可视化。
    可以想象成这是一个动漫,静态可视化就是动漫制作过程中的每一帧,由每一帧排布在一起构成的序列,动态可视化就是做好的在播放的视频。
    在这里插入图片描述

    6 动态社区发现评估方法
    6.1 数据集

    需要有数据集,可以是真实数据集,可以是模拟的数据集,作者提出一种合成网络生成器来构建虚拟网络,要求这个虚拟网络需要有真实网络的特征,如小世界特性等。

    6.2 对比算法
    静态基准:GN,LFR算法
    动态基准:SBMs等算法

    6.3 评价指标
    (1)标准化互信息(NMI):该指标适合用在有标签的网络上,通过计算预测社团和真实社团之间的信息熵来评价社团发现的效果。
    在这里插入图片描述

    (2)模块度(Q):该指标适合用在没有标签的网络上,通过计算模块度Q来评估社团发现的效果,通常认为Q越大社区发现效果越好。
    在这里插入图片描述

    参考文档:Community Discovery in Dynamic Networks: A Survey

    展开全文
  • 总结了最近学习的几个社交网络中的社区发现算法
  • 在本文中,我们首先将发现扩展到分析动态网络,并开发一种有效的算法,通过使用进化聚类在统一的过程中检测密集的重叠社区及其演化。 我们还介绍了具有多维染色体的遗传算法,以描述我们框架中属于多个社区的节点。...
  • 动态社区网络前沿研究

    千次阅读 2019-03-22 14:35:38
    动态社区网络前沿研究 转载:http://wemedia.ifeng.com/88113194/wemedia.shtml 导语 目前,大部分相关工作都是基于静态网络的嵌入,即没有考虑到网络随时间的演化。而真实网络的连边和节点以及节点特征都是动态的。...

    动态社区网络前沿研究

    转载:http://wemedia.ifeng.com/88113194/wemedia.shtml

    导语

    目前,大部分相关工作都是基于静态网络的嵌入,即没有考虑到网络随时间的演化。而真实网络的连边和节点以及节点特征都是动态的。

    所以,基于动态网络、在网络嵌入中考虑时序信息更加符合实际,也会使得嵌入获得更加丰富的信息。

    QQ、微信中的用户以及他们的好友关系会组成一张巨大的社交网络,该网络中包含的信息在好友推荐、社群发掘和用户画像等任务中有重要作用。

    而网络表征学习( NRL)或者网络嵌入(NE)是分析这类网络、挖掘其中信息的重要方法。NRL/NE的核心是将网络中的节点、连边或者社团嵌入到低维空间中,从而转化为结构化的数据,以支持下游其他任务,例如节点分类、链路预测和社区发现。

    网络表征学习(Network Representation Learning, NRL)或者网络嵌入(Network Embedding, NE)是非常重要的网络分析方法。其核心在于将网络这种非结构化的数据嵌入到低维空间中,用低维向量来表征网络中的节点和连边,或者整个网络。

    现实世界大多是动态网络(Dynamic Networks),其连边、节点都是随着时间不断变化的。例如社交网络中新用户的加入、新好友关系的产生,会导致网络中出现新的节点和连边。这些时序信息是动态网络的重要部分,是网络的演化机制和其上动力学的体现。

    但是现有的大多数嵌入方法只能处理静态网络(Static Network),无法编码网络的时序信息。

    近期,越来越多的学者注意到了这个问题,并提出了自己的动态网络嵌入方案,本文对该方法近期的论文进行简单介绍,尽量为大家呈现动态网络嵌入的最新进展。更全的列表见参考文献。

    一、什么是网络嵌入

    读者很有可能不清楚什么是NRL/NE,故在此做一简单介绍。

    传统的机器学习大多处理的是以特征向量所表示的结构化样本,而网络(graph)是非结构化的数据。所以,要想用丰富的机器学习模型来挖掘网络中的信息,第一步就是将网络嵌入到向量空间中。

    图1 将网络(graph)在各种尺度上嵌入到二维中

    如图1所示,网络在不同尺度上被嵌入到低维向量空间(此处为2维),从而化为结构化的数据,并尽可能的保留了原有的信息。静态网络嵌入算法就是在这种不变的拓扑结构上将网络映射到低维空间。

    那将静态网络嵌入算法直接用到动态网络上有什么不足呢?

    1. 网络虽然变化很小,但是必须重新训练模型

    2. 两次嵌入的向量不稳定,变化较大

    3. 不能捕获网络演化的时序信息

    所以,要解决上述问题,提高网络的嵌入效果和效率,必须在动态网络的基础上开发嵌入模型。

    二、动态网络的表示

    要考虑动态网络嵌入问题,必须清楚定义什么是静态网络和动态网络。

    静态网络的表示和图论中的表示方法一致:

    ,其中V表示定点集合,E 表示连边集合。

    网络的拓扑结构可以用邻接矩阵

    表示。

    若每个节点具有自己的 F F F维属性向量 a i a_{i} ai,则网络的属性矩阵表示为

    网络整体便可表示为

    G={V,E,A}

    而动态网络的表示方法在不同的动态网络嵌入模型中定义不同,具体可分为以下两类:

    2.1 Snapshot

    这类表示方法在时序上对动态网络等间隔取快照(Snapshot),从而得到网络演化的离散序列,定义为:

    其中

    表示动态网络在 t 时刻的快照。这种表示方法相当于将动态网络拆解成单个静态网络的序列。

    图2 网络演化过程中的两个快照

    2.2 Continuous Time Network

    对时序上的网络等间隔取快照是比较粗糙的方法,不能捕捉所取间隔时间内网络的变化。更加细致的表示方法是记录网络中所有变化:

    定义一个动态网络

    ,其中

    是所有定点的集合,

    记录了定点出现的时间。

    表示网络中的时序连边(temporal edges),也就是将每个连边都打上多个时间戳,表示连边在该时刻发生变化。

    每一条边

    都被赋予了一个特定的时间戳

    。另外,还可以定义网络的属性矩阵

    ,记录每个点的属性在不同时刻的值。

    图3 一种连续时间动态网络的表示,每条边有一个或者多个时间戳

    三、动态网络的嵌入算法

    动态网络的嵌入算法可以根据上面对动态网络的不同定义而分类。

    对于上述两类,有文献分别称为collaboration networks和telephonecall networks,前者指网络拓扑结构随时间变化的动力学,后者表示网络上节点之间直接相互影响的动力学。为保持表述一致,下文仍采用本文的分类名称。

    另一方面,几乎所有的动态嵌入算法都是从传统的静态嵌入模型修改而来,所以按照其基本的方法论,可以将动态网络嵌入算法分为:基于特征值分解的嵌入、基于Skip-Gram的嵌入、基于自编码器的嵌入和基于图卷积的嵌入。下面将按照这几种类型来介绍最新的动态网络嵌入算法。

    3.1 基于矩阵特征值分解

    对复杂网络的邻接矩阵 D D D和属性矩阵 A A A进行特征值分解,从而得到每个节点的嵌入表示,是一类古老传统但有效的嵌入方法。从矩阵的角度看,网络动态演变等价于原矩阵不断发生变化

    。而此类嵌入算法正是利用这些变化量,根据矩阵的摄动理论来更新网路的嵌入。

    DANE

    Li等人[1]在2017年提出的DANE模型就基于以上思路。首先,该模型将动态网络表示成Snapshots,并考虑网络的邻接矩阵和属性矩阵都会随时间变化的情况。而 t t t时刻的动态网络嵌入是根据矩阵的变化量,在 t − 1 t-1 t1时刻的嵌入基础上进行更新。对于 t = 1 t=1 t=1时刻,该模型提出一种结合矩阵 D D D A A A的嵌入算法作为热启动。其中,嵌入特征值和特征向量的更新公式如下:

    而整个模型可以图示如下:

    图4 DANE模型

    DHPE

    该论文由清华Cui老师[2]组发表在TKDE18,和DANE属于同期的工作,故思路也较为接近,也是讲动态网络表示成Snapshots。

    本文基本基于他们组16年的文章Asymmetric Transitivity Preserving Graph Embedding,将其扩展到动态网络的处理上。

    论文基于广义SVD分解(GSVD)和矩阵摄动理论(matrix perturbation),在保留高阶相似性的同时,动态更新动态网络的节点表示。

    该论文额出发点在于:在保留网络高阶相似性的同时,当网络结构在下一时刻发生变化时候(增加/删除节点/边),如何快速有效的增量更新下一时刻节点的表示。

    论文通过把Katz相似性转化为一般化的SVD分解,建模网络的高阶相似性,然后基于矩阵摄动理论动态更新网络下一时刻的节点表示。

    其中,嵌入特征值和特征向量的更新公式如下:

    其他

    还有17年清华Zhang等人[3]提出的TIMERS模型也属于矩阵分解的范畴,有兴趣的读者可以细度论文。

    3.2 基于类Skip-Gram模型

    14年Word2Vec的大热,使得Skip-Gram模型声名鹊起,而很多静态网络嵌入算法也是基于此模型,例如经典的Node2Vec和LINE。下面几项工作就是在该类工作上的动态拓展。

    DNE

    北京大学Du等人[4]在其15年LINE模型的基础上,提出了可分解的目标函数,使其能分别学习每个节点的嵌入,扩展出动态网络嵌入框架DNE。

    还提出了更新节点的选择机制,大大的提高了嵌入更新的效率。DNE将网络表示成Snapshots,在每一时刻额嵌入能达到和LINE在该时刻重新训练一样的效果,并且效率更高。

    另外,由于每次只对部分节点进行少量更新,所以不同时刻的嵌入相比重新训练的模型具有很强的稳定性。

    对于节点多标签分类任务,该工作在多个实际网络上都表现优异。

    CTDNE

    该工作由Nguyen等人[5]发表于I3W 2018,思路非常简单,扩展性较强。

    针对静态网络的嵌入通常是通过随机游走来得到训练语料,然后将语料交给Skip-Gram等模型得出网络的嵌入。但是上述的随机游走没有考虑到连边出现的时间顺序。例如,一条消息在网络中传播是有向的,但是无约束的随机游走可能得到反向的语料。

    对于这点,该论文将动态网络表示成Continuous Time的形式,每条边具有多个时间戳,表示相应变化发生的时间。在此基础上,约束每次随机游走必须符合连边发生的时间顺序,从而将网络的时序信息捕获到随机游走的序列之中。

    理论上,具有时序的随机游走序列集合是非时序的序列集合的子集。按照信息论的观点,时序信息的加入较少了嵌入的不确定性,也使得其在传统任务上的表现优于DeepWalk和Node2Vec等算法。

    其他

    基于类Skip-Gram模型的动态网络嵌入工作还有北航Zuo等人18年提出的HTNE模型[6]和Yu等人18年提出的NetWalk模型[7]。

    前者通过节点的邻居形成序列(neighborhood formation sequence)建模节点的演变过程,然后利用霍克斯过程(Hawkes process)捕获历史邻居对当前邻居形成序列的影响。具体的细节,感兴趣的读者可以参考论文。

    3.3 基于自编码器

    以SDNE为代表的,基于自编码器的网络嵌入模型,因为其非监督的性质和较好的效果,一直被人们所青睐。将这类嵌入模型扩展到动态网络也是一件很直接的事情。南加州大学的Goyal今年便在此基础上前后做了两项工作。

    DynGEM

    Goyal在18年初发表了DynGEM模型[7],该模型基础是SDNE嵌入算法,同时也是将动态网络表示成Snapshots。DynGEM的想法也非常简单:为了保留上一时刻的嵌入信息,并为下一时刻所用,可以让下一时刻的嵌入模型直接继承上一时刻训练好的模型参数,如下图:

    图5 t-1 时刻的模型参数用于初始化 t 时刻的模型参数

    还有一点需要注意,网络的节点数目和连边多少对嵌入模型的架构有影响。所以文中利用启发式信息来根据新网络结构调整SDNE的整体架构,使其能适用于新网络。

    dyngraph2vec

    Goyal在18年下半年又发表了一篇动态网络嵌入的工作[8]dyngraph2vec( 是不是发现取名字也是技术活: )

    这篇新工作diss了上一篇,说明了DynGEM框架和其他动态嵌入算法只考虑前一步的信息,而忽略了更加丰富的历史信息。

    基于此,本文在对 t+l 时刻网络做嵌入时,会输入 t,t+1,t+2,…,t+l-1 时刻和 t+l 时刻的网络结构信息

    文中给出了3个模型来嵌入这些丰富的历史信息:

    图6 dyngraph2vec中的三个嵌入模型

    简单来说,本文是将时序的网络序列当做一段语料(将某时刻的网络结构类比于句中的单词),然后用RNN来编码历史信息。整体的嵌入框架仍旧是enc-dec的自编码器。

    虽然想法是好,期望将尽可能多的历史信息用来嵌入当前时刻的网络,但是上述模型的算法复杂度比较大,不适合大网络的嵌入。

    3.4 基于图卷积模型

    图卷积(Graph Convolutional networks)是近年非常火热的网络嵌入模型,GCN,GAT,GNN和GraphSAGE都可以归到这一类别中。其核心思想在于利用节点(连边)邻居的信息来更新自己,通过迭代来扩大信息收集范围。

    截止笔者写作本文(18/11/12),暂时没有看见很多基于图卷积的动态网络嵌入算法。只有一篇佐治亚理工学院Trivedi等人正在ICLR2019双盲审阶段的工作DyRep[10]。下面就对这篇文章做简要介绍。

    DyRep

    这篇文章考虑了网络上的两种动态过程:Association Process和Communication Process。前者代表了网络拓扑结构的变化,后者表示了网络上动力学的变化。而文中定义了“事件”来统一表示上述两个过程的变化。DyRep将节点Representation的变化看做是上述两个过程相互影响的中间桥梁,从而能根据新的事件不断更新节点的表征。当一个事件发生时,节点的新表征由事件相关的邻居节点聚合得到。

    图7 DyRep框架示意图

    值得注意的是,模型中聚合节点邻居是还采用了注意力机制。

    3.5 其他动态嵌入模型

    除了上述几类模型之外,还有一些从全新的视角来处理动态网络的工作。笔者无法简单的归一到上述某一个类别。

    Dynamic Triad

    浙江大学Zhou等人在18年的工作Dynamic Triad[11]对于动态网络的建模很有新意。通过复杂网络分析中的三角闭合问题,建模动态网络的演变,很好的描述了网络的变化。

    在复杂网络的研究中,网络结构的变化被认为是导致网络上动力学的主要原因之一。而三角闭合问题是网络结构变化最重要的体现之一。

    简单地说,对于任意3个点,若相互被两条边相连,则称之为开三角,若两两互连,则称之为闭三角。网络结构演化的一大特征便是开三角随时间有可能变为闭三角。

    如果节点的表征能预测出网络结构的这种变化,则有理由相信节点的嵌入捕获了相关的动态信息。

    而这篇工作就是基于上述想法,构建了预测三角变化的Loss函数:

    前一项表示开三角会闭合的概率,后一项表示不会闭合的概率。这里的

    表示在当前t时刻没有边连接的节点对集合,但在下一时刻会有边连接;

    表示在当前时刻和下一时刻都不会有边连接的节点对集合。结合正则平滑项,便可训练节点的表示。

    DGNN

    Ma等人[12]今年发表的工作DGNN更加细致的考察了连边作用时间与其对网路嵌入影响之间的关系。

    图8 DGNN示意图

    目前这篇文章的工作正在进行,笔者整理资料时的版本和写作本文时所见到的版本相比内容增补较。但是其核心观念还是没有改变:

    作者假设当新的连边出现时,首先会影响连边两端的节点,还会影响端点的一阶邻居(例如上述所示,新连边(2,5)不仅会影响

    两个点,还会间接影响1,3,6,7几个点)。而对于邻居的影响不能是同质的,影响大小和时间差有关系。

    比如

    时刻的新连边对

    的影响比

    更大。因为前者在最近的时间

    才和端点发生了互动。而后者和端点的互动过去比较久的时间,对新的变化应该不敏感。

    而端点和一阶邻居分别由两个模块进行更新,因为要处理时序信息,并且和时间间隔相关,所以文中采用T-LSTM模型来作为更新部分的基本框架。有兴趣的读者可以参考最新版论文。

    Summary

    网络嵌入算法在近几年异常火热,因为其在图结构或网络数据分析中的潜力是巨大的。

    但是新兴的算法并没有成熟的应用,原因在于两点:

    一是因为很多实际网络都巨大无比,模型的训练花费的时间难以想象;

    二是本文提到的原因,也就是实际网络大多数动态的,直接用静态嵌入算法来处理并没有太好的结果。

    研究者们也认识到这些问题,所以今年(18年)出现了相当多关注动态网络嵌入的工作。但是如前文所概述,很多工作都是基于静态网络嵌入框架修改而来,存在很大的局限性。对于动态网络也没有统一的的表示规范。虽然也有一些新的想法,但是还没有像DeepWalk和GCN那样的标杆性工作出现。

    参考文献

    1. Li J, Dani H, Hu X, et al. Attributed network embedding for learning in a dynamic environment[C]//Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. ACM, 2017: 387-396.

    2. Zhu D, Cui P, Zhang Z, et al. High-order Proximity Preserved Embedding For Dynamic Networks[J]. IEEE Transactions on Knowledge and Data Engineering, 2018.

    3. Zhang Z, Cui P, Pei J, et al. TIMERS: Error-Bounded SVD Restart on Dynamic Networks[J]. arXiv preprint arXiv:1711.09541, 2017.

    4. Dynamic Network Embedding : An Extended Approach for Skip-gram based Network Embedding

    5. Nguyen G H, Lee J B, Rossi R A, et al. Continuous-time dynamic network embeddings[C]//3rd International Workshop on Learning Representations for Big Networks (WWW BigNet). 2018.

    6. Zuo Y, Liu G, Lin H, et al. Embedding Temporal Network via Neighborhood Formation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 2857-2866.

    7. Yu W, Cheng W, Aggarwal C C, et al. NetWalk: A Flexible Deep Embedding Approach for Anomaly Detection in Dynamic Networks[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 2672-2681.

    8. Goyal P, Kamra N, He X, et al. DynGEM: Deep Embedding Method for Dynamic Graphs[J]. arXiv preprint arXiv:1805.11273, 2018.

    9. Goyal, Palash, Sujit Rokka Chhetri, and Arquimedes Canedo. “dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning.” arXiv preprint arXiv:1809.02657 (2018).

    10. Trivedi R, Farajtbar M, Biswal P, et al. Representation Learning over Dynamic Graphs[J]. arXiv preprint arXiv:1803.04051, 2018.

    11. Zhou L, Yang Y, Ren X, et al. Dynamic Network Embedding by Modeling Triadic Closure Process[C]//AAAI. 2018.

    12. Yao Ma, Ziyi Guo, et al. Streaming Graph Neural Networks //arxiv.org/abs/1810.10627v2

    13. Mitrovic S, De Weerdt J. Dyn2Vec: Exploiting dynamic behaviour using difference networks-based node embeddings for classification[J].

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,892
精华内容 33,956
关键字:

动态社区发现