一种链路预测模型的建立及链路预测方法与流程

文档序号:14914424发布日期:2018-07-11 00:19阅读:1110来源:国知局

本发明涉及互联网技术领域,具体涉及一种链路预测模型的建立及链路预测方法,该方法利用网络的拓扑特征和深度学习模型,对大规模网络进行链路预测。



背景技术:

伴随着互联网和移动通信技术的飞速发展,人们之间的联系变得越来越紧密。通过互联网和通信网,人与人之间组成了一个巨大的复杂网络。网络中的人与人之间的互动、交流和影响已融入到生活中的各个方面。对社会网络的研究也逐渐受到关注,并成为当前科学领域的研究热点之一。现实社会中,许多人希望通过分析社会网络的结构和变化,发现网络中节点之间的联系原理,知晓潜藏在一般现象下的规律,以及社会网络拓扑结构特征和节点属性特征与网络节点行为趋势之间的关系,进而发现社会网络的演变本质,利用这些信息帮助人们更有效的配置资源和信息处理,指导商业生产、人类生活、人口管理、自然规划等方面的管理、判读和决策。其中网络节点行为趋势的一个重要研究点就是链路预测。

链路预测方法用来描述网络未来的发展趋势,可以细化至节点之间的连接预测;也可以在现有的不完整网络中找出残缺的或者是隐藏的边。传统的链路预测方法一般利用网络拓扑特征和节点属性,采用机器学习的方法进行预测。然而这些方法都是从微观的角度,以节点对为对象进行链路预测,不利于对网络宏观结构的演化建模,因而其预测效果也存在一定瓶颈。



技术实现要素:

本发明的目的在于克服目前链路预测方法存在的上述缺陷,提出了一种基于深度学习的链路预测方法,该方法利用时序受限玻尔兹曼机模型对宏观时序下网络的邻接矩阵进行建模,然后将训练好的模型作为生成模型,对下一时序的网络链接状态进行宏观预测。另一方面,从微观角度对网络局部拓扑特征进行提取,采用机器学习模型(梯度提升决策树学习模型)预测网络结构的链接状态。最后将二者的预测结果加权融合,得到网络最终的链路预测结果。该方法从网络的宏观和微观两个角度描述网络的演化,以生成深度学习模型为基础,融合机器学习模型,提升了链路预测性能。

为了实现上述目的,本发明提供了一种基于深度学习的链路预测方法,所述链路预测模型包括:时序受限玻尔兹曼机模型和梯度提升决策树模型;所述方法包括:从互联网或其它多媒体中抓取大量的网络数据,对网络数据进行预处理,将网络数据划分为历史数据和现有数据,输入时序受限玻尔兹曼机模型,训练出模型参数;提取网络数据节点对的网络拓扑特征,形成特征集并输入梯度提升决策树模型,训练出模型参数;所述链路预测模型包括训练好的时序受限玻尔兹曼机模型和梯度提升决策树模型。

上述技术方案中,所述方法具体包括:

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

步骤S2)按一定时间长度将网络数据划分为时间片,每个时间片下构造网络图G={GK,GK-1,…,G1},将G用时序邻接矩阵表达为A={AK,AK-1,…,A1},然后确认时间窗为N,N<K,其中{AN,AN-1,…,A2}为历史数据,{A1}为现有数据;

步骤S3)将历史数据和现有数据输入时序受限玻尔兹曼机模型,训练出模型参数;

步骤S4)将{GK,…,G2}合并成基础网络G’;以G1为标准集,从G’中选出相距为一跳的节点对,形成正负样本;并使正负样本数量一致;提取节点对的网络拓扑特征,形成特征集并输入梯度提升决策树模型,训练出模型参数;

步骤S5)所述链路预测模型训练完毕,所述链路预测模型包括训练好的时序受限玻尔兹曼机模型和梯度提升决策树模型。

上述技术方案中,所述步骤S4)的网络拓扑特征包括基于邻居的特征和基于网络游走的特征。

基于上述方法建立的链路预测模型,本发明还提供了一种链路预测方法,所述方法包括:

步骤T1)抓取待预测的网络数据,并进行预处理,使网络数据不包含孤立节点或节点对;

步骤T2)按一定时间长度将待预测的网络数据划分为时间片,每个时间片下构造网络图G={GK,GK-1,…,G1,G0},其中{GN,GN-1,…,G2}为历史网络图,{G1}为现有网络图,{G0}为待预测的网络图;将G用时序邻接矩阵表达为A={AK,AK-1,…,A1,A0};时间窗为N,N<K,时间窗往前移动一个单位,历史数据变成{AN-1,AN-2,…,A1},待预测数据二值随机初始化为{A0},{A0}为现有数据,输入时序受限玻尔兹曼机模型,多次迭代后得到预测结果R1;

步骤T3)用{GK,GK-1,…,G1}构造基础网络,利用步骤S4)提取特征集,输入梯度提升决策树模型,预测{G0}下的节点连接状态,得到预测结果R2;

步骤T4)加权合并结果R1,R2,最后得到融合后的预测结果R。

上述技术方案中,所述步骤T4)的实现过程为:

如果R1和R2中有共同的节点对,则加权合并得到R=α·R1+(1-α)·R2,α取值在0.5-0.7之间;如果R1中存在R2中没有的节点对,则预测结果R=R1。

本发明的优点在于:

1、本发明的链路预测方法融合了深度学习和机器学习方法,从两个角度描述网络的变化,克服了单一模型的不足;而且预测的是网络下一状态的所有链接,因而预测效果更全面,更准确;

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

附图说明

图1为本发明的链路预测方法的时序图。

具体实施方式

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

一种链路预测模型的建立方法,所述链路预测模型包括:时序受限玻尔兹曼机(Temporal Restricted Boltzmann Machine,TRBM)模型和梯度提升决策树(Gradient Boosting Decision Trees,GBDT)模型;所述方法包括以下步骤:

步骤S1)从互联网或其它多媒体中抓取大量的网络数据,对网络数据进行预处理;

所述网络数据中包含边的时间信息;若所抓取的网络数据为不包含孤立节点或节点对的网络数据,则可直接使用,否则需要对所抓取的网络数据进行预处理,删除孤立节点和节点对;

步骤S2)按一定时间长度将网络数据划分为时间片(snapshot),每个时间片下构造网络图G={GK,GK-1,…,G1},将G用时序邻接矩阵表达为A={AK,AK-1,…,A1},然后确认时间窗为N(N<K),其中{AN,AN-1,…,A2}为历史数据,{A1}为现有数据;

步骤S3)将历史数据和现有数据输入TRBM模型,训练模型参数;

步骤S4)将{GK,…,G2}合并成基础网络G’;以G1为标准集,从G’中选出相距为一跳的节点对,形成正负样本;由于正负样本不均衡,需要对节点对进行采样,使得正负样本数量一致;提取节点对的网络拓扑特征,形成特征集并输入GBDT模型训练,训练模型参数;

在本实施例中网络拓扑特征包括基于邻居的特征和基于网络游走的特征;在本实施例中,邻居特征为Adamic-Adar;游走特征为RootedPagerank。

步骤S5)所述链路预测模型训练完毕,所述链路预测模型包括训练好的TRBM模型和GBDT模型。

如图1所示,基于上述方法建立的链路预测模型,本发明还提供了一种链路预测方法,所述方法包括:

步骤T1)抓取待预测的网络数据,并进行预处理,使网络数据不包含孤立节点或节点对;

步骤T2)按一定时间长度将待预测的网络数据划分为时间片,每个时间片下构造网络图G={GK,GK-1,…,G1,G0},其中{GN,GN-1,…,G2}为历史网络图,{G1}为现有网络图,{G0}为待预测的网络图;将G用时序邻接矩阵表达为A={AK,AK-1,…,A1,A0};时间窗为N(N<K),时间窗往前移动一个单位,历史数据变成{AN-1,AN-2,…,A1},待预测数据二值随机初始化为{A0},{A0}为现有数据,输入TRBM模型,多次迭代后得到预测结果R1;

步骤T3)用{GK,GK-1,…,G1}构造基础网络,利用步骤S4)提取特征集,输入GBDT模型,预测{G0}下的节点连接状态,得到预测结果R2;

步骤T4)加权合并结果R1,R2,最后得到融合后的预测结果R。

如果R1和R2中有共同的节点对,加权合并R=α·R1+(1-α)·R2,α取值在0.5-0.7之间;如果R1中存在R2中没有的节点对,以R1的结果为最终结果R=R1。

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