CN107623586B - 网络链路预测方法及装置 - Google Patents
网络链路预测方法及装置 Download PDFInfo
- Publication number
- CN107623586B CN107623586B CN201710595993.5A CN201710595993A CN107623586B CN 107623586 B CN107623586 B CN 107623586B CN 201710595993 A CN201710595993 A CN 201710595993A CN 107623586 B CN107623586 B CN 107623586B
- Authority
- CN
- China
- Prior art keywords
- edges
- existing
- edge
- similarity
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络链路预测方法及装置,该方法包括:利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
Description
技术领域
本发明属于数据挖掘领域,尤其涉及一种网络链路预测方法及装置。
背景技术
网络中的链路预测(Link Prediction)是指通过获取的已知网络节点和网络拓扑结构,预测网络中尚未产生连边的两个节点之间的链接的可能性。链路预测包括未知链接(exist yet unknown links)的预测以及未来链接(future links)的预测。传统的链路预测方法有多种,一般使用相似度算法对网络链路进行预测。基于相似度算法的链路预测包括:共同邻居(CN,Common neighbor)算法、杰卡德系数(Jaccarb coefficient)算法、资源分配(RA,Resource allocation) 算法、局部路径指标(LP,Local path)算法以及结构微扰法(SPM,Structural Perturbation Method)。
上述的相似度算法,均是计算两个节点间的相似度得到相似度值,并将相似度值高的边,即相似度高的边,作为预测存在的边。但是在复杂网络中,相较于相似性大的边,一些相似性低的两个节点所形成的边能够有着更稳定的链接。通过现有的相似度算法只能算出两个节点的相似度,若算出的相似度低,也无法确定相似度低的两个节点所形成的边是否为预测存在的边。
发明内容
本发明提供一种网络链路预测方法及装置,旨在解决现有的链路预测方法中相似度算法无法预测相似度低的两个节点所形成的边的问题。
本发明提供的一种网络链路预测方法,包括:获取网络的网络拓扑结构;
将所述网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从所述存在的边中选取多个边组成训练集;
计算所述训练集中每一条存在的边的两个节点的相似度,得到所述训练集中各存在的边对应的相似度值,以及计算每一条所述非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值;
将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布;
根据预置转换函数、所述存在的边的概率分布和所述非存在的边的概率分布,对得到的所述各存在的边对应的相似度值进行调整;
在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为所述网络拓扑结构中预测的边。
本发明提供的一种网络链路预测装置,包括:
获取模块,用于获取网络的网络拓扑结构;
设置模块,用于将所述网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从所述存在的边中选取多个边组成训练集;
计算处理模块,用于计算所述训练集中每一条存在的边的两个节点的相似度,得到所述训练集中各存在的边对应的相似度值,以及计算每一条所述非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值;
以及,将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布;
以及,根据预置转换函数、所述存在的边的概率分布和所述非存在的边的概率分布,对得到的所述各存在的边对应的相似度值进行调整;
预测模块,用于在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为所述网络拓扑结构中预测的边。
本发明提供的网络链路预测方法及装置,利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1是本发明第一实施例提供的网络链路预测方法的实现流程示意图;
图2是一个网络的星型网络拓扑结构的示意图;
图3是本发明第二实施例提供的网络链路预测方法的实现流程示意图;
图4是现有的链路预测方法和本发明实施例提供的网络链路预测方法的预测出边的准确率的比对结果的示意图;
图5是本发明第三、四实施例提供的网络链路预测装置的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明第一实施例提供网络链路预测方法的实现流程示意图,可应用于计算机,图1所示的网络链路预测方法,主要包括以下步骤:
S101、获取网络的网络拓扑结构。
该网络可以为社交网络、蛋白质网络或神经网络等现有的网络中。网络拓扑结构为网络的拓扑结构,是指网上计算机或设备与传输媒介形成的节点,与线的物理构成模式。网络拓扑结构中的节点分为两类:一类是转换和交换信息的转接节点,如交换机、集线器和终端控制器;另一类是访问节点,如计算机主机、终端。网络拓扑结构有多种形状,如总线型、星型、环型、树型以及网状型。如图2所示,图2为一个网络的星型网络拓扑结构的示意图。图2中每一个空心图形为节点,两个节点间的连线为链路,也可以称为网络拓扑结构的边。
S102、将该网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从该存在的边中选取多个边组成训练集。
预先定义网络拓扑结构中哪些边作为存在的边,哪些边作为非存在的边,然后按照预先定义的划分方式划分网络拓扑结构中的边。在获取的网络拓扑结构中,若任意两个节点间具有连接关系,则该具有连接关系的两个节点所形成的链路称为存在的边;反之,则为非存在的边。
从存在的边中选取多个边组成训练集中的选取方式为随机选取,且不限数量。
S103、计算该训练集中每一条存在的边的两个节点的相似度,得到该训练集中各存在的边对应的相似度值,以及计算每一条该非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值。
计算两个节点的相似度的方式不做限定,可以为共同邻居算法、杰卡德系数算法、资源分配算法、局部路径指标以及结构微扰法中的任意一种算法,或者其他适用于链路预测的相似度算法。其中,相似度值越大,表示两个节点的相似度越高。
S104、将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布。
集合的划分的方式为随机划分,集合中包含的元素的个数为大于或者等于 0。
S105、根据预置转换函数、该存在的边的概率分布和该非存在的边的概率分布,对得到的该各存在的边对应的相似度值进行调整。
该训练集中边为集合中存在的边。依据各集合中存在的边的概率分布和非存在的边的概率分布,对各集合中包含的存在的边对应的相似度值进行调整。其中,每个集合中存在的边对应的调整后的相似度值是相同的。
S106、在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为该网络拓扑结构中预测的边。
该预置数值的取值不做限定,该预置数值可以等于调整后的相似度值,也可以不等于调整后的相似度值。当该预置数值等于调整后的相似度值时,可以选取大于该预置数值的相似度值,或者等于该预置数值的相似度值;当预置数值不等于调整后的相似度值时,可以选取大于该预置数值的相似度值。例如调整后的相似度值为1和2,与相似度值1对应的边为边a和边b,相似度值为2 对应的边为边c,若该预置数值为1,则将大于或等于1的相似度值对应的边a、边b和边c作为预测的边,或者将大于1的相似度值对应的边c作为预测的边。
本发明实施例中,利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
请参阅图3,图3为本发明第二实施例提供的网络链路预测方法的实现流程示意图,可应用于计算机,图3所示的网络链路预测方法,主要包括以下步骤:
S301、获取网络的网络拓扑结构。
该网络可以为社交网络、蛋白质网络或神经网络等现有的网络中。网络拓扑结构为网络的拓扑结构,是指网上计算机或设备与传输媒介形成的节点,与线的物理构成模式。网络拓扑结构中的节点分为两类:一类是转换和交换信息的转接节点,如交换机、集线器和终端控制器;另一类是访问节点,如计算机主机、终端。网络拓扑结构有多种形状,如总线型、星型、环型、树型以及网状型。图2中每一个空心图形为节点,两个节点间的连线为链路,也可以称为网络拓扑结构的边。
S302、将该网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从该存在的边中选取多个边组成训练集。
预先定义网络拓扑结构中哪些边作为存在的边,哪些边作为非存在的边,然后按照预先定义的划分方式划分网络拓扑结构中的边。在获取的网络拓扑结构中,若任意两个节点间具有连接关系,则该具有连接关系的两个节点所形成的链路称为存在的边;反之,则为非存在的边。
从存在的边中选取多个边组成训练集中的选取方式为随机选取,且不限数量。训练集中选取的数量越多,预测的结果就越准确。
进一步地,将该网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从该存在的边中选取多个边组成训练集具体为:
设置该网络拓扑结构的邻接矩阵A=(aij)N×N,其中aij表示节点i和节点j 间边的权重值,N为该网络拓扑结构中节点的数量,并将aij=1的边作为该存在的边,以及将aij=0的边作为该非存在的边,节点i和节点j属于该网络拓扑结构中的节点;
从该存在的边中选取多个边组成训练集ET,其中,ET={(i,j)|aij≠0}。
进一步地,从该存在的边中选取多个边组成训练集之后还包括:
一般地,该训练集中边的数量占整个网络拓扑结构中存在的边的数量的80%-90%,则该测试集中边的数量占整个网络拓扑结构中存在的边的数量的 20%-10%。
S303、计算该训练集中每一条存在的边的两个节点的相似度,得到该训练集中各存在的边对应的相似度值,以及计算每一条该非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值。
计算两个节点的相似度的方式不做限定,可以为共同邻居算法、杰卡德系数算法、资源分配算法、局部路径指标以及结构微扰法中的任意一种算法,或者其他适用于链路预测的相似度算法。
以共同邻居算法为例,该共同邻居算法中计算两个节点i和j的相似度的表达式为:
其中,Γ(i)表示节点i的邻居节点的集合,Γ(j)表示节点j的邻居节点的集合,|…|表示集合中节点的集合,节点i和j属于该训练集中边两端的节点,或者非存在的边的两端的节点。
S304、将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布。
进一步地,将经过相似度计算的各边划分为多个集合具体为:
将得到的相似度值划分为多个组,并将每一组中的相似度值对应的边划分为一个集合。
每一个组中可以包括一个相似度值,也可以包括多个相似度值。因此,每个集合中包含的元素的个数为大于或者等于0。
以一个实际例子对边的数量的概率统计过程进行说明,具体如下:
经过相似度计算的各边为边A、边B、边C、边D和边F,其中边A对应的相似度值为1,边B和边C对应的相似度值为4,边D对应的相似度值为6,边F对应的相似度值9。
令划分为三个组,组1中包含1,组2包含4和9,组3包含6,则边A属于集合1,边B、边C和边F属于集合2,边D属于集合3,假设边A、B、D 为存在的边,边C和F为非存在的边,则集合1中存在的边的概率分布为1,非存在的边的概率分布为0;集合2中存在的边的概率分布为1,非存在的边的概率分布为2;集合3中存在的边的概率分布为1,非存在的边的概率分布为0。
S305、根据预置转换函数、该存在的边的概率分布和该非存在的边的概率分布,对得到的该各存在的边对应的相似度值进行调整。
该训练集中边为集合中存在的边。依据各集合中存在的边的概率分布和非存在的边的概率分布,对各集合中包含的存在的边对应的相似度值进行调整。
进一步地,根据预置转换函数、该存在的边的概率分布和该非存在的边的概率分布,对得到的该各存在的边对应的相似度值进行调整具体为:
根据各集合中存在的边的概率分布和非存在的边的概率分布之间的比值计算预置转换函数,其中,
将各集合算出的比值PNR(s)分别作为各集合中存在的边对应的调整后的相似度值。
当在步骤S303中算出的相似度值为0,则PNR(s)=0。设调整后的相似度值为s′,则s′=PNR(s)。
其中每个集合中存在的边对应的调整后的相似度值是相同的。设集合A算出的PNR(s)为1,集合B算出的PNR(s)为3,则集合A中各存在的边对应的调整后的相似度值为1,集合B中各存在的边对应的调整后的相似度值3。
S306、在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为该网络拓扑结构中预测的边。
该预置数值的取值不做限定,该预置数值可以等于调整后的相似度值,也可以不等于调整后的相似度值。当该预置数值等于调整后的相似度值时,可以选取大于该预置数值的相似度值,或者等于该预置数值的相似度值;当预置数值不等于调整后的相似度值时,可以选取大于该预置数值的相似度值。例如调整后的相似度值为1和2,与相似度值1对应的边为边a和边b,相似度值为2 对应的边为边c,若该预置数值为1,则将大于或等于1的相似度值对应的边a、边b和边c作为预测的边,或者将大于1的相似度值对应的边c作为预测的边。
进一步地,先对调整后的相似度值由大到小或者由小到大进行排列,然后从相似度值大起,选取第L位的相似度值所对应的存在的边作为预测的边。L 为大于或等于1的整数。若限制预测的边的个数,则L可以为测试集中边的个数。
S307、根据选取的预测的边对应的调整后的相似度值,计算网络链路预测的准确率,得到准确率pF。
计算网络链路预测的准确率的公式为:
其中,α是一个常数,|EP|为该测试集中边的集合的数量,|U-ET|为该非存在的边和该测试集中边的集合的数量, S=(s1,s2)∪(s3,s4)...∪(s2m-1,s2m),且满足s1<s2,s3<s4,…,s2m-1<s2m的条件。
未知的边表示两个节点之间的连接关系不清楚,需要待验证。
下面说明计算准确率pF的公式的推导过程,具体说明如下:
假设测试集和训练集具有完全相同的概率分布情况,则基本的准确率的公式为:
其中,c0为常数,若s>c0,且pr(s)<<pn(s),则pF预测的准确率就会很低;若s<c0,且pr(s)>>pn(s),则预测准确率就会很高。
由于上述基本的准确率的公式只能选取在步骤S303中算出的相似度值高的边,这个将上述基本的准确率的公式进行变形,变形的过程是:
进一步地,根据基本的准确率,得到计算网络链路预测的准确率的公式:
如图4所示,图4为现有的链路预测方法和本发明实施例提供的网络链路预测方法的预测出边的准确率的比对结果的示意图。选取2个真实的网络:美国电网(US PowerGrid)和神经网络(Neural network),现有的链路预测方法包括:1组条形图比对使用的现有的链路预测方法为CN算法、2组条形图比对使用的现有的链路预测方法为Jaccarb算法、3组条形图比对使用的现有的链路预测方法为RA算法、4组条形图比对使用的现有的链路预测方法为LP算法以及5组条形图比对使用的现有的链路预测方法为SPM。图4中空心阴影的条形图为现有的链路预测方法的预测准确率,黑色条形图为本发明实施例提供的网络链路预测方法的预测准确率,纵轴坐标表示预测准确率,从图4中可以看出,本发明实施例提供的网络链路预测方法的准确率大于现有的链路预测方法的准确率。因此,相较于现有的链路预测方法,本发明实施例提供的网络链路预测方法的预测效果更好,准确率更好。
本发明实施例中,利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
请参阅图5,图5是本发明第三实施例提供的网络链路预测装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的网络链路预测装置可以是前述图1所示实施例提供的网络链路预测方法的执行主体。图5示例的网络链路预测装置,主要包括:获取模块501、设置模块502、计算处理模块503和预测模块504。以上各功能模块详细说明如下:
获取模块501,用于获取网络的网络拓扑结构;
设置模块502,用于将该网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从该存在的边中选取多个边组成训练集;
计算处理模块503,用于计算该训练集中每一条存在的边的两个节点的相似度,得到该训练集中各存在的边对应的相似度值,以及计算每一条该非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值;
以及,将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布;
以及,根据预置转换函数、该存在的边的概率分布和该非存在的边的概率分布,对得到的该各存在的边对应的相似度值进行调整;
预测模块504,用于在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为该网络拓扑结构中预测的边。
从存在的边中选取多个边组成训练集中的选取方式为随机选取,且不限数量。
计算两个节点的相似度的方式不做限定,可以为共同邻居算法、杰卡德系数算法、资源分配算法、局部路径指标以及结构微扰法中的任意一种算法,或者其他适用于链路预测的相似度算法。其中相似度值越大,表示两个节点的相似度越高。
集合的划分的方式为随机划分,集合中包含的元素的个数为大于或者等于 0。
该训练集中边为集合中存在的边。依据各集合中存在的边的概率分布和非存在的边的概率分布,对各集合中包含的存在的边对应的相似度值进行调整。其中每个集合中存在的边对应的调整后的相似度值是相同的。
本实施例未尽之细节,请参阅前述图1所示实施例的描述,此处不再赘述。
需要说明的是,以上图5示例的网络链路预测装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将上述装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本发明实施例中,计算处理模块503利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
请同样参阅图5,本发明第四实施例提供的网络链路预测装置是前述图1 和图3所示实施例提供的网络链路预测方法的执行主体。为了便于说明,仅示出了与本发明实施例相关的部分。本发明第四实施例提供的网络链路预测装置,主要包括:获取模块501、设置模块502、计算处理模块503和预测模块504。以上各功能模块详细说明如下:
获取模块501,用于获取网络的网络拓扑结构。
该网络可以为社交网络、蛋白质网络或神经网络等现有的网络中。网络拓扑结构为网络的拓扑结构,是指网上计算机或设备与传输媒介形成的节点,与线的物理构成模式。网络拓扑结构中的节点分为两类:一类是转换和交换信息的转接节点,如交换机、集线器和终端控制器;另一类是访问节点,如计算机主机、终端。网络拓扑结构有多种形状,如总线型、星型、环型、树型以及网状型。图2中每一个空心图形为节点,两个节点间的连线为链路,也可以称为网络拓扑结构的边。
设置模块502,用于将该网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从该存在的边中选取多个边组成训练集。
预先定义网络拓扑结构中哪些边作为存在的边,哪些边作为非存在的边,然后按照预先定义的划分方式划分网络拓扑结构中的边。
从存在的边中选取多个边组成训练集中的选取方式为随机选取,且不限数量。训练集中选取的数量越多,预测的结果就越准确。
进一步地,设置模块502还用于执行以下步骤:
设置该网络拓扑结构的邻接矩阵A=(aij)N×N,其中aij表示节点i和节点j 间边的权重值,N为该网络拓扑结构中节点的数量,并将aij=1的边作为该存在的边,以及将aij=0的边作为该非存在的边,节点i和节点j属于该网络拓扑结构中的节点;
从该存在的边中选取多个边组成训练集ET,其中,ET={(i,j)|aij≠0};
一般地,训练集中边的数量占整个网络拓扑结构中存在的边的数量的 80%-90%,则测试集中边的数量占整个网络拓扑结构中存在的边的数量的 20%-10%。
计算处理模块503,用于计算该训练集中每一条存在的边的两个节点的相似度,得到该训练集中各存在的边对应的相似度值,以及计算每一条该非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值。
计算两个节点的相似度的方式不做限定,可以为共同邻居算法、杰卡德系数算法、资源分配算法、局部路径指标以及结构微扰法中的任意一种算法,或者其他适用于链路预测的相似度算法。
以共同邻居算法为例,该共同邻居算法中计算两个节点i和j的相似度的表达式为:
其中,Γ(i)表示节点i的邻居节点的集合,Γ(j)表示节点j的邻居节点的集合,|…|表示集合中节点的集合,节点i和j属于该训练集中边两端的节点,或者非存在的边的两端的节点。
计算处理模块503,还用于将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布。
进一步地,计算处理模块503,还用于将得到的相似度值划分为多个组,并将每一组中的相似度值对应的边划分为一个集合。
每一个组中可以包括一个相似度值,也可以包括多个相似度值。因此,每个集合中包含的元素的个数为大于或者等于0。
以一个实际例子对边的数量的概率统计过程进行说明,具体如下:
经过相似度计算的各边为边A、边B、边C、边D和边F,其中边A对应的相似度值为1,边B和边C对应的相似度值为4,边D对应的相似度值为6,边F对应的相似度值9。
令划分为三个组,组1中包含1,组2包含4和9,组3包含6,则边A属于集合1,边B、边C和边F属于集合2,边D属于集合3,假设边A、B、D 为存在的边,边C和F为非存在的边,则集合1中存在的边的概率分布为1,非存在的边的概率分布为0;集合2中存在的边的概率分布为1,非存在的边的概率分布为2;集合3中存在的边的概率分布为1,非存在的边的概率分布为0。
计算处理模块503,还用于根据预置转换函数、该存在的边的概率分布和该非存在的边的概率分布,对得到的该各存在的边对应的相似度值进行调整。
该训练集中边为集合中存在的边。依据各集合中存在的边的概率分布和非存在的边的概率分布,对各集合中包含的存在的边对应的相似度值进行调整。
进一步地,计算处理模块503还用于执行以下步骤:
根据各集合中存在的边的概率分布和非存在的边的概率分布之间的比值计算预置转换函数,其中,
将各集合算出的比值PNR(s)分别作为各集合中存在的边对应的调整后的相似度值。
当计算处理模块503算出的相似度值为0,则PNR(s)=0。设调整后的相似度值为s′,则s′=PNR(s)。
其中每个集合中存在的边对应的调整后的相似度值是相同的。设集合A算出的PNR(s)为1,集合B算出的PNR(s)为3,则集合A中各存在的边对应的调整后的相似度值为1,集合B中各存在的边对应的调整后的相似度值3。
预测模块504,用于在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为该网络拓扑结构中预测的边。
该预置数值的取值不做限定,该预置数值可以等于调整后的相似度值,也可以不等于调整后的相似度值。当该预置数值等于调整后的相似度值时,可以选取大于该预置数值的相似度值,或者等于该预置数值的相似度值;当预置数值不等于调整后的相似度值时,可以选取大于该预置数值的相似度值。例如调整后的相似度值为1和2,与相似度值1对应的边为边a和边b,相似度值为2 对应的边为边c,若该预置数值为1,则将大于或等于1的相似度值对应的边a、边b和边c作为预测的边,或者将大于1的相似度值对应的边c作为预测的边。
进一步地,预测模块504,还用于先对调整后的相似度值由大到小或者由小到大进行排列,然后从相似度值大起,选取第L位的相似度值所对应的存在的边作为预测的边。L为大于或等于1的整数。若限制预测的边的个数,则L 可以为测试集中边的个数。
计算处理模块503,还用于根据选取的预测的边对应的调整后的相似度值,计算网络链路预测的准确率,得到准确率pF。
计算网络链路预测的准确率的公式为:
其中,α是一个常数,|EP|为该测试集中边的集合的数量,|U-ET|为该非存在的边和该测试集中边的集合的数量, S=(s1,s2)∪(s3,s4)…∪(s2m-1,s2m),且满足s1<s2,s3<s4,…,2m-1<s2m的条件。
本实施例未尽之细节,请参阅前述图1和图3所示实施例的描述,此处不再赘述。
本发明实施例中,计算处理模块503利用算出的存在的边的概率分布和非存在的边的概率分布,重新调整训练集中每条边对应的相似度值,从而考虑到非存在的边对应的相似度情况,然后依据调整后的相似度值预测可能存在的边,不但可以预测出相似度高的两个节点间存在的边,还可以预测出相似度低的两个节点间存在的边,进而提高了链路预测的准确性。
在本申请所提供的多个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,装置或模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的网络链路预测方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种网络链路预测方法,其特征在于,包括:
获取网络的网络拓扑结构;
将所述网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从所述存在的边中选取多个边组成训练集;
计算所述训练集中每一条存在的边的两个节点的相似度,得到所述训练集中各存在的边对应的相似度值,以及计算每一条所述非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值;
将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布;
根据各集合中存在的边的概率分布和非存在的边的概率分布之间的比值计算预置转换函数,其中,
将各集合算出的比值PNR(s)分别作为各集合中存在的边对应的调整后的相似度值;
在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为所述网络拓扑结构中预测的边。
2.根据权利要求1所述的方法,其特征在于,所述将所述网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从所述存在的边中选取多个边组成训练集包括:
设置所述网络拓扑结构的邻接矩阵A=(aij)N×N,其中aij表示节点i和节点j间边的权重值,N为所述网络拓扑结构中节点的数量,并将aij=1的边作为所述存在的边,以及将aij=0的边作为所述非存在的边,节点i和节点j属于所述网络拓扑结构中的节点;
从所述存在的边中选取多个边组成训练集ET,其中,ET={(i,j)|aij≠0};
则所述从所述存在的边中选取多个边组成训练集之后还包括:
3.根据权利要求2所述的方法,其特征在于,所述将经过相似度计算的各边划分为多个集合包括:
将得到的相似度值划分为多个组,并将每一组中的相似度值对应的边划分为一个集合。
5.一种网络链路预测装置,其特征在于,所述装置包括:
获取模块,用于获取网络的网络拓扑结构;
设置模块,用于将所述网络拓扑结构中各节点间所形成的边,划分为存在的边和非存在的边,并从所述存在的边中选取多个边组成训练集;
计算处理模块,用于计算所述训练集中每一条存在的边的两个节点的相似度,得到所述训练集中各存在的边对应的相似度值,以及计算每一条所述非存在的边的两个节点的相似度,得到各非存在的边的对应的相似度值;
以及,将经过相似度计算的各边划分为多个集合,并分别对各集合内存在的边和非存在的边的数量进行概率统计,得到各集合中存在的边的概率分布和非存在的边的概率分布;
所述计算处理模块,还用于根据各集合中存在的边的概率分布和非存在的边的概率分布之间的比值计算预置转换函数,其中,
以及,将各集合算出的比值PNR(s)分别作为各集合中存在的边对应的调整后的相似度值;
预测模块,用于在调整后的相似度值中,选取大于或等于预置数值的相似度值,并将选取的相似度值对应的存在的边,作为所述网络拓扑结构中预测的边。
7.根据权利要求6所述的装置,其特征在于,
所述计算处理模块,还用于将得到的相似度值划分为多个组,并将每一组中的相似度值对应的边划分为一个集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710595993.5A CN107623586B (zh) | 2017-07-20 | 2017-07-20 | 网络链路预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710595993.5A CN107623586B (zh) | 2017-07-20 | 2017-07-20 | 网络链路预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107623586A CN107623586A (zh) | 2018-01-23 |
CN107623586B true CN107623586B (zh) | 2021-06-04 |
Family
ID=61088765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710595993.5A Active CN107623586B (zh) | 2017-07-20 | 2017-07-20 | 网络链路预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107623586B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019014894A1 (zh) * | 2017-07-20 | 2019-01-24 | 深圳大学 | 网络链路预测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490858A (zh) * | 2015-12-15 | 2016-04-13 | 北京理工大学 | 一种网络结构的动态链路预测方法 |
EP3073776A1 (en) * | 2015-03-24 | 2016-09-28 | Alcatel Lucent | Method and apparatus for predicting wireless link states |
CN106817251A (zh) * | 2016-12-23 | 2017-06-09 | 烟台中科网络技术研究所 | 一种基于节点相似度的链路预测方法及装置 |
-
2017
- 2017-07-20 CN CN201710595993.5A patent/CN107623586B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3073776A1 (en) * | 2015-03-24 | 2016-09-28 | Alcatel Lucent | Method and apparatus for predicting wireless link states |
CN105490858A (zh) * | 2015-12-15 | 2016-04-13 | 北京理工大学 | 一种网络结构的动态链路预测方法 |
CN106817251A (zh) * | 2016-12-23 | 2017-06-09 | 烟台中科网络技术研究所 | 一种基于节点相似度的链路预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107623586A (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8275866B2 (en) | Assigning telecommunications nodes to community of interest clusters | |
US10103942B2 (en) | Computer processing method and system for network data | |
WO2019014894A1 (zh) | 网络链路预测方法及装置 | |
US20120020242A1 (en) | Methods and apparatus to determine and implement multidimensional network topologies | |
CN115358487A (zh) | 面向电力数据共享的联邦学习聚合优化系统及方法 | |
CN111181792B (zh) | 基于网络拓扑的sdn控制器部署方法、装置及电子设备 | |
CN113254669B (zh) | 基于知识图谱的配电网cim模型信息补全方法及系统 | |
EP4131871A1 (en) | Method and apparatus for generating network topology | |
CN112149967A (zh) | 基于复杂系统理论的电力通信网脆弱性评估方法和系统 | |
CN112272102A (zh) | 边缘网络业务卸载和调度方法及装置 | |
CN111160661B (zh) | 一种电力通信网可靠性优化方法、系统以及设备 | |
CN115277115A (zh) | 一种用于解决网络上鲁棒信息传播问题的方法及系统 | |
CN114519306B (zh) | 一种去中心化的终端节点网络模型训练方法及系统 | |
CN107623586B (zh) | 网络链路预测方法及装置 | |
CN113228059A (zh) | 面向跨网络的表示学习算法 | |
CN108075967A (zh) | 一种链路选取方法及装置 | |
CN111600752B (zh) | 一种电力通信业务可靠性优化方法及相关装置 | |
CN109033603B (zh) | 基于源流路径链的智能变电站二次系统仿真方法 | |
CN103200034B (zh) | 一种基于谱约束和敏感区划分的网络用户结构扰动方法 | |
CN104022928B (zh) | 一种高密度服务器的拓扑构建方法及系统 | |
CN113704750A (zh) | 分布式发电系统的网络攻击检测方法、装置及终端设备 | |
Li et al. | Evolutionary algorithm for multiobjective optimization based on density estimation ranking | |
Lu et al. | Vertex centrality of complex networks based on joint nonnegative matrix factorization and graph embedding | |
CN113824802B (zh) | 一种去中心化分布式训练拓扑结构、训练系统及方法 | |
CN105681099B (zh) | 电力通信网的拓扑结构图的确定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |