摘要:大多数社交网络平台有效促进的信息级联被认为是这些网络中几乎所有社会成功和灾难的主要因素。信息级联的一些关键属性,如大小、增长和形状,可以通过结合了许多特征的机器学习算法来预测。这些预测器都依赖于一组手工特征来表示级联网络和全局网络结构。 这些功能总是经过精心设计,有时甚至是神秘的设计,不容易扩展或推广到不同的平台或领域。受深度学习最近在多个数据挖掘任务中取得成功的启发,我们研究了端到端深度学习方法是否可以有效地预测级联的未来规模。 这种方法在全局网络结构的上下文中自动学习单个级联图的表示,而不需要手工制作的特征或启发式方法。我们发现节点嵌入缺乏预测能力,因此学习整个级联图的表示至关重要。 我们提出了以端到端方式学习级联图表示的算法,这显着提高了级联预测在强基线上的性能,包括基于特征的方法、节点嵌入方法和图内核方法。
Introduction
伴随着社交网络平台的不断兴起,信息流在市场营销,技术扩散,众包,舆情监测等领域都有所体现。如果可以对信息流做出适当的预测,有助于在上述领域做出更好的决策。信息流预测,一般根据问题定义不同分为两类:一类主要预测信息流规模变化的总体趋势,如影响人数的变化,影响程度的变化;另一类类似文档检索,将每条信息流作为查询,返回的节点作为查询结果,希望可以研究个体与传播信息流的关系。本文主要侧重与前者的研究。这方面研究,学者大多主要将人为提取特征输入分类或回归模型,对信息扩散的情况进行预测。
上述通用做法存在的一个明显弊端在于提取特征只针对特定领域,不具有通用性。而且,某些特征的选择有些“神奇"。最后,特征的衡量没有公认的标准。另一方面,据有关学者的研究,从网络结构中提取的通用特征是具备很好的通用性的。本文提出的DeepCas模型也正是基于上述两点提出来的。
端到端学习:目前在图像、文本和语言上得到了广泛的应用。它的一个主要优点就在于避开了人为选择特征,可以通过输出端和输入端表示向量的不断反馈更新,使输入端表示向量更好的预测实际情况。
网络表示(Representation of Graphs)学习:该领域的传统方法将网络表示为关联矩阵或节点与边的集合。后面随着表示学习的发展,出现了将网络节点表示为高维向量的方法这种方法可以反应具有相似特征的节点分布情况。最近,受到文本和图像领域的启发,一些人开始对子图进行向量学习。如DeepWalk就借鉴了词向量学习中的skip-gram的思想。
问题定义
给定一个社会网络在时间t0 的快照,表示为G=(V,E) ,其中V 是节点集,E⊂V×V 是边集
节点i∈V 代表一个参与者(例如Twitter中的用户或学术论文网络中的作者),边(i,j)∈E 代表节点i和j之间直到时间t0 .的关系纽带(例如转发或引用)。
设C是G 在时间t0 后开始的级联集合。用一个级联图gct=Vct,Ect 刻画了c∈C 在其起始后的持续时间为t的一个快照,其中Vct 是V 的一个节点子集,即在其发起后的持续时间t内采用了级联c,并且 这是E中两端在Vct .内的边的集合。
考虑在给定时间间隔ΔT之后预测级联c的尺寸增量的问题,被表示为Δsc=Vct+Δt-Vct 。级联预测是求一个函数
。
DeepCas模型:
提出了一种以级联图gct 为输入,预测级联尺寸增量Δsc 的端到端神经网络框架。该框架(如图1所示)首先从级联图中采样节点序列,然后将序列输入门控递归神经网络,在该网络中,注意力机制被专门设计来学习如何将序列组装成“文档”,以便可以预测未来的级联大小。
级联的随机游走
每个扩散图的随机游动从起始状态S开始,后总会跟着N状态,是walker过渡到当前节点的邻居。在概率1-pj的情况下,它继续向邻居走。在跳跃概率pj下,它会跳到级联图的任意节点,引导walker进入下一次游走状态。
在概率po下,它走到当前节点的邻居,从而回到状态N,在概率1-po下,会进入终止状态,结束整个随机游走过程。
当walker在状态 N时,如果它正在访问节点v,则它遵循转移概率pu∈Nc(v)∣v 去它的一个输出邻居u∈Nc(v)
,其中Nc(v)
表示扩散图gc中v的输出邻居集。
设置转换概率有多种策略。 给定要传输到节点U的评分函数SCT(u)的特定选择,邻居U可以按其评分的比例被采样:
α是光滑参数。评分函数 可以实例化,但不限于
(1)degc(u),节点u在GC中的出度,
(2)degG (u),全局图G中的度,
(3)weight(v,u),当前节点V与其相邻节点U之间的边的权值。 同样,当Walker处于状态J并且要选择跳转到的节点时,可以相应地设置评分函数scju :
Po决定了期望的采样序列,pj决定了每一个序列的长度。
神经网络模型
节点嵌入:将序列中的每个节点表示为一个单热向量 ,其中
是G中的节点数。所有节点共享一个嵌入矩阵
,该矩阵将一个节点转换为它的嵌入向量
。
基于GRU的序列编码:采样序列可以表示为特定扩散项的信息流。为了捕捉这个信息流,我们使用门控递归单元(GRU),因为它对于序列建模是有效的。当从左到右递归地应用GRU时,因为来自该序列中后面节点的信息,序列的表示形式将越来越丰富。门控机制决定了添加的新信息量和保留的历史信息量,模拟了信息在扩散过程中的流动过程。
具体地,将步骤i表示为序列中的第i个节点,对于每个步骤i输入的嵌入 ,和之前的隐藏层状态
作为输入,GRU计算更新后的隐藏层状态
具体为:
是重置门,
是更新门,
是候选状态,
上述公式是从左到右读序列,作者还提出从右到左读取序列。这样序列中的早期节点就可以知道哪些节点受到了从它们传递的级联项的影响。因此,采用双向GRU,分别是从左到右和从右到左。如图所示:第k个序列中第i个节点的表示方式 是通过前向和后向隐藏向量的串联来计算的。计算公式为:其中
连接操作。
从序列到图表示:
给定序列表示的集合,其中长度为T的第k个序列表示为: ,图上的随机游走以1-p0概率结束,通过检测样本序列的数目是否能够很好地表示图来学习p0的值,进而决定预测任务是否能够很好地完成。
我们将采样的k个序列划分为“小批量”,希望在更多的小批中读取,直到我们能够很好地学习图,模拟随机游动中跳到终端状态的动作。如果级联 的第一个小批中的序列共享注意力权重
,则下一个小批量的序列共享注意力权重为
,以此类推,如图3所示。假设对无穷多个即k->∞的序列进行采样,那么小批量期望为
,利用这个期望可以帮助我们确定读取多少个序列。
为图的大小。
论文在实践中,发现标准的注意力多项式分布已经很好地发挥了作用。因此假设将T节点进行多项式分布 ,使得
。
假设最小批量的大小是B个序列,那么第k个序列将落入(k/b+1)个最小批。 然后,注意力机制输出图 的表示,一个长度为2H的向量:
and
都是通过深度学习过程中得到的,并且,
=
输出模型:
我们的输出模块由一个完全连接的层和一个最终的输出单元组成: 其中MLP代表多层感知器。
总结:
提出了一个基于端到端的基于深度学习的信息级联预测器。级联图首先表示为随机行走路径的集合,这些路径通过精心设计的GRU神经网络结构和注意机制通过管道传输,以预测级联的未来大小。可以将deepcas解释为一种测试潜在空间以改善级联预测的方法,它并不是推翻现有的实践方法。
这篇论文的随机游走策略和node2vec很像,但是还是有区别,都是如果采用不同的随机游走策略可能会在不同的场景下表现得越来越好,并且都比Word2vec要好。通过合并各种传染/扩散过程以生成级联网络的初始表示。这是社交网络文献中的先验知识可以发挥作用的地方。
与其他数据挖掘领域相比,社交网络是一个拥有丰富理论和经验领域知识的领域。本篇论文的优点是深度学习即端到端的过程,它可能学习到更好地代表这些网络属性的高级特征。