基于贝叶斯理论的时变网络链路预测方法与流程

文档序号:17162628发布日期:2019-03-20 00:58阅读:283来源:国知局
基于贝叶斯理论的时变网络链路预测方法与流程

本发明属于数据挖掘算法领域,被用于在复杂网络之中预测未来信息,尤其适用于社交网络的推荐系统。



背景技术:

现实生活中存在着无数复杂网络,如社交网络,通信网络,交通网络等,这些网络与人们的生活有着千丝万缕的联系,但有些网络难以观测,另一些网络则是时刻变化,难以预测的。链路预测(linkprediction)致力于探索网络系统中个体之间缺失的或将要产生的关联,这会对人们的生活大有帮助,因此这一领域受到了研究者们广泛的关注。链路预测是网络科学研究的基础问题之一,其目标是基于已知的网络拓扑结构以及节点属性信息,利用复杂网络、机器学习等理论方法预测网络中缺失的或将要出现的链接。目前主流的链路预测方法主要分为基于网络拓扑结构和基于机器学习方法两大类。基于网络拓扑结构的链路预测方法根据两点间的结构相似性以及网络演变的趋势推断节点间产生连接的可能性。基于机器学习的预测方法涵盖非常广泛,似然分析的方法、马尔科夫链、传统机器学习方法、深度学习等都被涵盖在内。这些方法主要依据节点的属性信息估计节点间的相似程度,判断节点之间是否会产生连接。

基于网络拓扑结构的链路预测方法认为节点间的共性越多,在未来越可能产生链接。这很符合一般生活中的常识,比如两个共同邻居越多的人,越有可能被介绍成为朋友。不同的相似性标准刻画了网络中节点不同的交互方式,包括基于共同邻居的节点相似性(cn、aa、ra)、基于路径的节点相似性(katz)、基于网络信息熵的节点相似性等等。这些相似性指标要么关注局部拓扑信息,要么关注全局拓扑信息,没有将所有信息综合考虑,不能很好地抓住目标网络的结构特征,故预测精度有待提高。

传统预测方法中,相同长度的通路通常被认为是等价的,且长度不同的通路在网络中的重要程度是事先未知的。本文认为即使是相同长度的不同路径对形成链接的贡献也有差异,并且不同长度的路径的重要程度应由实际观测到的网络拓扑结构决定。利用统计学的方法,我们可以得到路径对特定节点对之间产生链接的贡献。但是,这种估计没有充分利用网络的拓扑信息。路径实际的贡献受到局部拓扑结构,全局拓扑结构以及网络演变趋势的影响。目前为止的大多数链路预测算法都只是基于单层网络,即只考虑了单一时刻的网络拓扑信息,而忽视了不同时间点网络结构的关联性。



技术实现要素:

本发明的目的在于提供一种预测性能高、计算复杂度相对较低、应用于时变网络的链路预测方法。

实现本发明目的的技术解决方案为:一种基于贝叶斯理论的时变网络链路预测方法,包括如下步骤:

步骤1,在不同时间点对真实网络进项采样,得到时变网络的时序序列g=<g0,g1,...,gn>;

步骤2,选择时间戳t将该时刻的网络gt分为训练集和测试集,训练集将被用来训练算法,测试集将被用来验证预测效果;

步骤3,利用路径的信息对链接的产生进行初步评分;

步骤4,通过贝叶斯方法,使用全局信息分别对不同长度路径的权重进行修正;

步骤5,使用时变网络其他时刻的拓扑结构估计网络应有的拓扑特征,再次通过贝叶斯方法,利用估计的拓扑特征分别对不同长度路径的权重进行修正;

步骤6,应用训练后的预测方法预测网络的未来信息。

本发明与现有技术相比,其显著优点为:(1)定义了路径的聚类系数,更科学地对路径进行评分。(2)不仅用到了局部信息,还通过贝叶斯理论用全局信息对路径的贡献进行了修正。(3)在多个时间点对网络进行采样,充分利用时变网络中其它时刻网络提供的拓扑信息,对当前的预测进行修正,进一步提高了预测精度。

附图说明

图1是路径uv的核心mn的图示。

图2是求mn的聚类系数时,寻找mn邻居的图示。

图3是利用多层网络拓扑信息对单层网络进行修正的图示。

图4是本发明的算法模型的图示。

具体实施方式

本发明的预测方法的原理如下:

计算节点对的节点相似性是衡量节点对间相连概率的主要方法之一。基于节点相似性的链路预测方法都基于相似性假设,该假设认为若节点对之间的相似性越大,则这两个节点相连接的概率就越大。传统的基于路径的预测方法中,相同长度的通路通常被认为是等价的,且长度不同的通路在网络中的重要程度是事先未知的。本方法旨在通过统计学方法确定每条路径自身的评分,再基于贝叶斯方法,用当前时刻的全局拓扑信息和时变网络中其它时刻的拓扑信息对路径的评分进行修正,使预测更加精确。下文将首先给出路径的聚类系数的概念,它被用在确定初步确定路径评分的部分,然后给出算法在时变网络中的应用方法。

一种基于贝叶斯理论,将时变网络丰富的信息应用到预测中的链路预测方法,下面阐述方法的框架模型。

在复杂网络理论框架中,图模型被用来分析和处理真实网络。根据图论,图中的节点代表网络中的个体,图中的连边描述个体之间的关系。在网络g(v,e)中,v代表可以产生关系的节点,e代表主体之间的关系。在不同的时间点对网络的拓扑结构进行采样,可以得到一连串具有相关性的网络,这些网络的集合即时变网络n',n'的每一层都表示网络某一时刻的拓扑结构。n'被定义为:

其中,v是节点集合,ek表示k时刻网络中边的集合。α表示采样的时间点的个数,即时变网络n'的层数。本发明方法涉及的相关概念定义如下:

①g是t时刻的网络拓扑信息,是t1时刻的网络拓扑信息;

②n(m)表示节点m的度,n(n)表示节点n的度;

③a1表示节点对间存在链接;

④ωk表示节点对间存在一条长度为k的路径;

⑤p(a1|ωk)表示t时刻,在已知存在一条长度为k的路径的情况下,节点对间存在链接的可能性;

⑥nlinked表示由路径成功促成的链接数量,nunlinked表示未由路径成功促成的链接数量;

⑦p(a1)表示t时刻节点对间存在链接的可能性,p(ωk)表示t时刻网络中存在长度为k的路径的可能性;

⑧n(ωk)表示网络中长度为k的路径的数量,nmax(ωk)表示网络中可能出现的长度为k的路径的最大数量;

⑨e(p(a1))表示由时变网络拓扑信息估计的网络中节点对间存在链接的可能性的期望,e(p(ωk))表示由时变网络拓扑信息估计的网络中存在长度为k的路径的可能性的期望。

下面结合附图及具体实施例对本发明作进一步说明。

本发明为时变网络中的一种基于贝叶斯理论的链路预测方法,包括如下步骤:

步骤1,在不同时间点对真实网络进项采样,得到时变网络的时序序列g=<g0,g1,...,gn>,具体如下:

选取真实网络发展过程中的若干个时刻,将每一个时刻的网络抽象为静态网络,具体思路是将真实网络中的个体抽象为节点,将个体间的关系抽象为层中的连边;

步骤2,选择时间戳t将该时刻的网络gt分为训练集和测试集,具体如下:

将t时刻网络的邻接矩阵a按照90%和10%的比例拆分为训练集at和测试集ar,at作为已知的拓扑结构,用其训练链路预测算法,ar作为被预测的结构,用其衡量链路预测算法的预测精度。

步骤3,利用路径的信息对链接的产生进行初步评分,具体如下:

为了确定路径的先验p(a1|ωk)作为路径的贡献,我们需要定义路径的聚类系数。路径的聚类系数基于路径去除两端链接的剩余部分,这一部分可称为路径的“核心”,如图1所示,路径两端节点为节点u与节点v,其路径上的邻居分别为节点m与节点n,路径的核心即为路径中节点m与节点n之间的部分。按照此定义,长度为k的路径的核心可以用ak-2(k≥2)表示,a表示网络的邻接矩阵。在路径长度为2的情况下,节点m与节点n重合。

在一条长度为k的路径确定存在的情况下,为了确定它对其连接的节点u与节点v的贡献,需要使用统计学的方法,假定初始情况下由路径成功促成的链接数量nlinked以及未成功促成的链接数量nunlinked都是1,此时贡献为50%。如图2所示,由路径的核心出发,检测核心两端的邻居,从两端的邻居中各取一个组成邻居对,对于每一个节点对,若节点对相连,则成功促成的链接数量加1,反之则未成功促成的链接数量加1,路径的聚类系数即为促成的链接所占的比值网络中路径的贡献都可以如此计算,但每一条路径都有其特定拓扑结构,它们之间并不完全相同,通过利用ra的思想可以利用局部信息修正路径的贡献,此时路径的贡献与核心两端节点的度之和成反比n(m)表示节点m的度,n(n)表示节点n的度。

步骤4,通过贝叶斯方法,使用全局信息分别对不同长度路径的权重进行修正,具体如下:

相同长度的路径在网络中存在的越多,说明网络中节点的联系更多地通过此种路径完成,权重应当更大。在知道两点间存在通路的情况下,通过贝叶斯法则,可以利用全局的网络结构信息对路径的贡献进行修正,即网络中的p(ωk|a1)后验:

p(a1)表示网络中一条链接存在的概率。由于我们预测的节点对并不相连,文章用统计学的方式,忽略链接之间的差异,计算网络中出现一条链接的概率并以此概率表示p(a1)。n(a1)表示网络中长度为1的链接的数量,nmax(a1)表示网络中可能出现的长度为1的链接的最大数量。这样做能够有效减少计算的复杂程度。p(ωk)表示两点间一条长度为k的链接存在的概率,相似地,用处理p(a1)的方式处理它。n(ωk)表示网络中长度为k的路径的数量,nmax(ωk)表示网络中可能出现的长度为k的路径的最大数量。

步骤5,使用时变网络其他时刻的拓扑结构估计网络应有的拓扑特征,再次通过贝叶斯方法,利用估计的拓扑特征分别对不同长度路径的权重进行修正,具体如下:

网络在整体上是有一个活跃程度的,这个活跃度决定了系统中路径数量的期望,网络越活跃,网络中路径的容量就越大。这个期望表现的是网络的一种稳态,是当前网络结构的演变趋势,应当用它对路径的贡献进行修正:

p'(a1|ωk)表示已知节点对间存在一条长度为k的路径时,该路径对节点对间产生链接的贡献。

p'(a0|ωk)表示已知节点对间存在一条长度为k的路径时,该路径对节点对间不产生链接的贡献。

即使是同一个网络,不同层次的信息也可能体现节点不同的属性,比如人类在业余的社交网络中和工作的社交网络中的表现往往是不同的,它们之间的关联性并不强。与之相对的,同一网络在不同时间段的表现就要更为紧密,时变网络中,时间上与被预测时间越接近的网络,与被预测网络的关联性就越大。假设要预测t时刻的一个网络,有t1时刻与t2时刻的网络作为参考,在e(p(a1))上两个网络提供的参考信息可以表示为:

在e(p(ωk))上两个网络提供的参考信息可以表示为:

由上式可以看出,由于网络在一段时间内的活跃度很少产生突变,所以时间上距离被预测时间点网络越近的网络参考价值越高。根据此思路化简公式可得:

步骤6,应用训练后的预测方法预测网络的未来信息,具体如下:

当我们知道了每条边的真实贡献,节点对间产生链接的倾向,由各边贡献之和表示:

计算所有不相连的节点对的分数,并对分数从大到小排序。如图4所示,根据算法模型,分数最高的前几个实例就是预测所得结果。

实施例1

本发明的方法测试:

本仿真实验采取visualstudio2013软件,使用c++语言编写。实验中采用了复杂网络研究领域公开的真实网络测试数据。在本发明的仿真实验之中,为了兼顾预测性能和计算复杂度,考虑的最大路径长度为3。

本实验在多个真实网络数据上做了仿真测试,共对比了三类经典预测方法在模拟环境下的表现:基于局部拓扑的预测方法(如cn,ra等)、基于全局拓扑的预测方法(如katz等)、基于简单贝叶斯的预测方法(如lnb-ra等)。实验结果证明本发明提出的预测方法在保证合理计算复杂度的同时比经典预测方法的预测性能更好。

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