一种基于深度动态网络嵌入表示模型的链路预测方法与流程

文档序号:18197322发布日期:2019-07-17 05:56阅读:1438来源:国知局
一种基于深度动态网络嵌入表示模型的链路预测方法与流程

本发明涉及互联网领域,涉及在复杂网络中,如何利用网络的拓扑特征和深度学习方法,对动态网络进行嵌入学习,并将学习的结果用于链路预测,具体涉及一种基于深度动态网络嵌入表示模型的链路预测方法。



背景技术:

伴随着互联网和移动通信技术的飞速发展,人们之间的联系变得越来越紧密。通过互联网和通信网,人与人之间组成了一个巨大的复杂网络。网络中的人与人之间的互动、交流和影响已融入到生活中的各个方面。对社会网络的研究也逐渐受到关注,并成为当前科学领域的研究热点之一。当前,社交网络分析的研究方向之一就是对时序数据中,网络节点的链接变化进行建模分析,发掘动态网络的演变规律,从而对网络节点行为的趋势进行预测。动态网络的链路预测在社交媒体领域可以帮助人们更有效地配置资源和信息处理;在医学生物学领域可以帮助研究人员更有效地发现生物个体或者微观世界的连接规律;在学术领域可以发现学术人员之间的合作模式,从而促进不同学科领域之间的合作。总之链路预测在指导商业生产、人类生活、科学研究、自然规划等方面的管理、判读和决策中起到重要的作用。

链路预测方法用来描述网络未来的发展趋势,可以细化至节点之间的连接预测,也可以在现有的不完整网络中找出残缺的或者是隐藏的边。传统的链路预测方法一般利用网络拓扑特征和节点属性,采用机器学习的方法进行预测。然而这些方法多数是采用线性模型,对捕捉非线性变化的能力有限,因而不能对多个时刻的动态网络变化进行良好地建模;此外,传统的方法由于复杂度比较高,当网络的规模较大时,需要耗费极大的运算资源和时间,因而往往不能对所有的节点对进行预测。

近些年,随着深度学习的兴起和广泛应用,链路预测领域也开始采用深度学习框架进行建模。深度学习方法可以对非线性变化进行建模,很好地适用于动态网络的链接变化。



技术实现要素:

本发明的目的在于克服现有的链路预测方法采用的线性模型存在的上述缺陷,提出了一个深度动态网络嵌入表示模型(deepdynamicnetworkembedding),该模型能够对动态网络的历史链接数据进行学习,得到每个节点的向量表示,再将该向量用于预测未来的链路状态。

为了实现上述目的,本发明提出了一种基于深度动态网络嵌入表示模型的链路预测方法,所述方法包括:

步骤1)构建深度动态网络嵌入表示模型;

步骤2)从互联网抓取大量的网络数据,对网络数据进行预处理;

步骤3)按一定时间长度将网络数据划分为时间片,每个时间片下构造网络图g={gt-n,…,gt-1,gt},将g用时序邻接矩阵表达为x={xt-n,…,xt-1,xt};

步骤4)将{xt-n,…,xt-1}输入深度动态网络嵌入表示模型,其中{xt-n,…,xt-2}作为训练样本的x,{xt-1}为训练样本的y值,多次迭代并用随机梯度下降法训练深度动态网络嵌入表示模型;

步骤5)时间窗往前移动一个单位,将{xt-n,…,xt-1}输入深度动态网络嵌入表示模型,输出为t时刻的网络连接矩阵xt

作为上述方法的一种改进,所述步骤1)的深度动态网络嵌入表示模型包括依次连接的编码器和解码器;所述编码器采用若干个门控递归单元,用于对历史连接矩阵进行迭代编码,所述解码器利用多层感知机网络对向量c进行解码,得到每个向量的嵌入表示,然后乘以一个权值矩阵得到下一个时刻的连接状态预测xt

作为上述方法的一种改进,所述步骤2)的预处理为删除包含孤立节点或节点对的网络数据。

本发明的优点在于:

1、本发明的方法有效地融合了所有的历史连接数据,通过深度学习方法敏锐地捕捉节点的演变规律,最终产生的节点向量包含了未来网络的信息。因此比静态网络嵌入方法和普通链路预测方法取得更好的预测效果;

2、本发明的ddne模型的解码器的输出(嵌入表示和预测向量)不仅可以用于链路预测,通过进一步的优化损失函数,还可以用于节点分类,社区发现,网络可视化等实际应用;

3、本发明的链路预测方法不仅对不同网络具有普适性,而且对不同网络特性,不同大小的网络都有很好的鲁棒性。

附图说明

图1为本发明的用于链路预测的动态网络嵌入方法的示意图;

图2为本发明的用于链路预测的动态网络嵌入方法的流程图;

图3为本发明的深度动态网络嵌入表示模型的结构图;

图4为本发明的门控递归单元结构图以及运算公式。

具体实施方式

下面结合附图和具体实施例对本发明进行详细的说明。

为了更好地理解本方法,其流程图如图1所示。通过对n个历史连接数据(t-n,t-1)进行学习,得到每个节点的嵌入表示(embedding),然后将学习到的嵌入表示预测未来链路(t时刻)。

该深度学习结构由本申请首次提出,并成功用于链路预测领域。模型在现实网络数据中表现优异,相比当前最优的链路预测模型有很大的性能提升。

如图2所示,本发明的方法包括以下步骤:

步骤s1)从互联网或其它多媒体中抓取大量的网络数据,对网络数据进行预处理,使网络数据不包含孤立节点或节点对;

步骤s2)按一定时间长度将网络数据划分为时间片,每个时间片下构造网络图g={gt-n,…,gt-1,gt},将g用时序邻接矩阵表达为x={xt-n,…,xt-1,xt},然后确认{gt-n,…,gt-3,gt-2}为历史网络图,{gt-1}为现有网络图,{gt}是将要预测的网络图;

本发明的核心部分ddne模型是指深度动态网络嵌入表示模型(deepdynamicnetworkembedding),其主要框架图3所示。整个编码(encoder)部分是采用gru对历史连接矩阵进行迭代编码,将所有历史连接和变化信息压缩到向量c;解码器(decoder)将对c进行解码:将向量c作为输入,经过多层感知机(multiplelayerperception,mlp)网络之后,得到每个向量的嵌入表示(embeddings)以及下一个时刻的连接状态预测xt

其中,gru(gatedrecurrentunit)单元是门控递归单元,是属于递归神经网络rnn(recurrentneuralnetwork)的改进版本。单元内部结构如图4:

在任一时刻t下,输入gru单元的是当前时刻t下第i个节点的链接向量xt(i,:),以及gru的上一个状态ht-1。在图4中多个gru单元进行串联,因而输入分别对应xt-n(i,:)、…xt-1(i,:)和串联单元中的上一时刻gru的输出。最后,gru单元的输出是经过图4右式多个门计算后的向量ht。由于多个门函数的计算,gru单元比传统rnn模型具有更强的时序编码能力,可将多时序下的信息进行迭代融合,最后压缩至低维空间。在ddne模型中,vi,vj代表节点i,,j,xt(i,:)表示t时刻下序邻接矩阵x的第i行向量,即节点vi的链接相量。

gru单元相较于普通递归神经单元具有更强的拟合能力,相比于长短时记忆单元有更低的计算复杂度。因此可以将所有历史连接和变化信息有效地压缩到向量c;对于网络中的每一个节点,其链接变化不是独立的,而是受周边节点影响的。通过向量c之间的相似度比较,将联系紧密的节点映射到相近的向量空间,使得历史中互动频繁的节点在未来的连接概率增大,符合现实中动态网络的演化规律。

步骤s3)将历史数据和现有数据{xt-n,…,xt-1}输入ddne(deepdynamicnetworkembedding)模型,其中{xt-n,…,xt-2}作为训练样本的x,{xt-1}为训练样本的y值,多次迭代并用随机梯度下降法训练模型;

步骤s4)时间窗往前移动一个单位,历史数据变成{xt-n,…,xt-1},输入ddne模型,模型的输出是每个节点在时刻t的嵌入表示(embedding),再将模型的输出乘以一个权值矩阵(该矩阵已由训练部分得到),最后得到t时刻的网络连接矩阵;

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1