CN107018020A - 基于半懒惰学习的图流链路预测方法 - Google Patents
基于半懒惰学习的图流链路预测方法 Download PDFInfo
- Publication number
- CN107018020A CN107018020A CN201710205511.0A CN201710205511A CN107018020A CN 107018020 A CN107018020 A CN 107018020A CN 201710205511 A CN201710205511 A CN 201710205511A CN 107018020 A CN107018020 A CN 107018020A
- Authority
- CN
- China
- Prior art keywords
- summit
- vertex
- cryptographic hash
- adjacent vertex
- pond
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000005070 sampling Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000011160 research Methods 0.000 abstract description 3
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000007418 data mining Methods 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 abstract 1
- 230000004069 differentiation Effects 0.000 abstract 1
- 101150060512 SPATA6 gene Proteins 0.000 description 38
- 238000009826 distribution Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241001282153 Scopelogadus mizolepis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004898 kneading Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于半懒惰学习的图流链路预测方法,在数据挖掘、机器学习、深度学习和概率论等方向,链路预测问题已经有很多有深度和广泛研究,并取得了不错的结果。在真实环境中,图的规模非常巨大,并且图是一直快速的在变动与衍进,在最近几年的研究中称为图流模型。然而,由于算法与硬件的限制,目前的链路预测方法不能有效的解决在图流数据。因此在图流模型下迫切的需要一种能够在线的高效的链路预测方法。本文结合相对高效的基于局部信息相似性的链路预测方法,提出一种半懒惰学习的在线学习算法,在理论保证下,可以有效的解决图流的链路预测问题,并对真实环境中图流数据集做了实验,实验结果最后证明了本发明提出方法的准确性与高效性。
Description
技术领域
本发明属于大图数据处理领域,是一种在线的预测无向图中顶点之间将来发生链接概率的算法,属于计算机大规模图数据处理领域。本发明结合高效的基于局部信息 相似性的链路预测方法,提出一种半懒惰学习的在线预测算法,在理论保证下,可以 有效的解决图流数据的链路预测问题。
背景技术
随着互联网与移动互联网的快速发展,大量的图结构出现在各类应用中。例如社交网络,运输网络,网页与超链接等。链路预测是图领域里一项非常重要的研究方向, 是一种长期存在并且基础性的研究。
链路预测是指如何利用已知的网络节点属性以及网络结构等信息,预测网络中尚未产生或者尚未发现的连边的两个节点发生链接的可能性。链路预测的相关研究在生 物分子学,社交网络,推荐系统,网络重构,网络演化的评价等方面有着重要的应用。
目前链路预测在动态网络下用于在线预测时按照学习方法大致可以分为两类饥饿学习与懒惰学习。饥饿学习是指该学习方法只学习历史数据,不利用新到来的数据, 每次预测时只用从历史数据学习出的方法进行预测,一般有时间序列、机器学习模型、 深度学习等方法。懒惰学习则是指学习方法每次学习或者训练只利用每次新到来的数 据,不使用历史数据,一般有基于局部信息的相似性方法,基于路径相似性的方法等。 不论是饥饿学习还是懒惰学习大都是基于图快照的假设来采样的,这种方法可以降低 算法学习时间复杂度,通常都可以较容易的在内存中进行计算。
然而现在的图结构都是高度动态化的,像Twitter数据每天有1亿用户登录并 且会发布大约5亿条状态。图中的边往往都是由序列化的流的形式来更新的,称之为 图流模型。通常认为图流是一个无限的形如 i≥0,u,v∈V的序列,其中t表示时间戳,i表示边的标号。图流模 型表示存在的或者潜在的图在高速的交互变动,图中的边在动态的接收与更新。在图 流模型下,链路预测问题在现实中也有着非常广泛的应用,例如在社交网络中例如好 友之间的信息交互,视频文件的分享等都是非常快速且短暂的,数据量也随之会有很 大的规模,这种图流模型下在线链路预测可以用来进行好友、话题或者商品的推荐, 市场分析等,由此图流的链路预测问题将带来新的挑战。
现在的链路预测方法在图流模型下不能很好的解决问题主要是由于两点原 因。第一点原因是目前大部分的链路预测方法都是基于静态的图快照模型的。在快速 演进的图流中,目前存在的这些方法不能准确的捕捉到图的演进的模式和图变化的细 节,将会导致预测不准确。图流的链路预测问题本身就是一个在动态变化的数据中的 所要解决的问题,该问题应该支持实时在线预测,能够随着数据不断的动态变化而能 够预测出图流的演进;第二点原因是由于图流是一个无限的、不断接收的序列,而目 前基于图快照的假设模型的方法是根据每个时间段的图采样的结果做计算,因此无法 在线的计算图流;第三点原因是由于图流数据没有经过采样,数据量很大无法一次性 读入到内存中进行计算,因此无法支持需要将数据进行多次遍历的计算方法。举例来 说,假设一个网络中包含104个顶点,在链路预测问题中,求潜在的两两顶点之间的 链接的问题空间将会达到108以上。虽然由于图的稀疏性,在图流中的链接数据被证 明并不会这么大,但是对于在目前的效率较高基于局部信息相似性中共同邻居、 Jaccard评价指标,或者是基于路径相似性的方法中局部路径指标来说如何能够快速在 线的预测链路也将是一个非常大的挑战。总的来说,目前基于图快照假设的方法无法 很好的解决图流形式的数据集,这就迫切的需要用新的方法与技术来迎接图流中链路 预测问题的挑战。
发明内容
本发明的目的是提供一种基于半懒惰学习方法的在线图流链路预测方法。
为了弥补现有算法不能很好解决图流数据的在线预测问题,本发明设计了一种在线动态的semi—lazy方式的预测算法适应快速变化的流数据,并通过构建顶点的邻接 顶点的哈希值排序池的方法与通过邻接顶点的哈希值吃采样估计的方法优化算法的 效率。算法的总体流程如图12.
为实现本发明的目的采用的技术方案是:本发明采用的技术方案是:首先根据图流数据的特点,为每个顶点设计了一个动态的邻接顶点池来快速的、动态的接收与删 除该顶点的邻接顶点,达到高效处理流数据模型的要求;我们结合目前链路预测问题 中效率较高,适用范围较广的基于局部信息相似性的共同邻居方法作为评测方法,并 且该链路方法的准确性是有理论验证的;为了捕捉到图流的变化模式,我们采用semi-lazy方法来达到适应图流快速变化的特点;为了提高局部信息相似性方法的计 算时间,算法还设计了共同邻居的快速算法与共同邻居的估计法。
为了能够方便处理流数据,算法首先将每个顶点进行哈希处理,然后为每个顶点建立邻接顶点池用来存放不断变化的邻接顶点的哈希值,顶点相关度权重变化矩阵两 两顶点的权重值随着两个顶点的邻接顶点池中邻接顶点的变化而改变,之后将局部信 息相似性的方法结合到一起来作为两个顶点直接发生链接概率的计算结果。该方法用stacking方式将利用不断变化的有历史信息流数据揉捏到局部信息相似性方法中形 成了semi-lazy学习方法。
本发明的优点是:
1)首先将图流的链路预测问题进行了形式化的定义,根据目前存在的链路预 测方法不能很好的解决图流中的链路预测问题所带来的巨大挑战,针对图流模型 下链路预测问题提出了一种新的方法与技术;
2)算法为每个顶点设计了存储Tx-Ty个时间段的邻接矩阵池,其中Tx,Ty 随着流数据时间戳的变化而改变的变量,但时间段的大小保持不变,因此可以高 效的接收与处理图流;
3)本发明设计了顶点相关度权重变化矩阵,并与局部信息相似性方法通过线 性方式结合一起,动态的在线链路预测;
4)不仅如此,为了加快局部信息相似性方法的计算速度,我们设计了共同邻 居的快速计算法与共同邻居的估计法。这些方法都是经过理论验证和经验稳定性。
附图说明
图1将到达的顶点哈希映射。
图2新顶点到达邻接顶点哈希值存储池。
图3 r(v0)删除h(v3)并更新时间段。
图4在t=10时新顶点到达邻接顶点哈希值存储池。
图5主干索引可达性涵盖图可达性原理。
图6在t=16时r(v0)删除h(v30)。
图7游标指向的值比较后向下一个元素移动。
图8指向哈希值小的游标向下移动。
图9将顶点按照幂律分布分类。
图10大度结点采样。
图11算法总体流程图。
具体实施方式
结合附图1-11对本发明做进一步描述。
本发明分成三个部分——邻接顶点的哈希值存储池的建立,图中两两顶点预测分值的计算与算法的优化,其中的核心是邻接顶点的哈希值存储池的建立与图的两两顶 点预测分值的计算。
步骤1:图流的链路预测问题中的图流是一个不断到达的带有时间戳边的序列,形如i≥0,u,v∈V的序列,其中t表示时间戳, i表示边的标号。为了简单起见,我们假设边都是无向的。首先我们设计一个哈希函 数,将接收到的图流数据中的每个顶点进行哈希,哈希函数的映射可以是基于之前网 络中顶点的活跃度,或者共同邻居的数量,可以根据不同的网络进行不同的设置,每 个顶点对应唯一的值,。
步骤2:接着,由于边序列在快速不断的到达与更新迭代, 内存或者一台机器已经无法存储所有的数据,由此传统的方法一般采取基于时间点的 采样作为图的拓扑结构而容易忽略图中的很多链接信息,此外在线预测根据每次采样 只能计算一次数据,同样也不能获取图流的变化状况,如在社交网络中好友之间的关 注、加好友的请求、文件或图片的分享、信息的相互等都是快速且瞬息万变的;因此 我们为每个顶点设计了邻接矩阵池用来存储在Tx-Ty时间段内接受到的边的数据, 其中Tx-Ty表示时间戳Tx到Ty的时间段。由于边序列是大致是按照时间的顺序到达 的,所以当有新边到达时并且其时间戳大于Tx-Ty的范围后,Tx-Ty进行更新,Ty 变成最新的边的时间戳,Tx变成Ty-Γ,Γ>0,Γ为设置的时间间隔,Γ根据数据 集不同而设置成不同的值。
步骤3:表示两个顶点u和v之间的关系的动态变化的参数,称作活跃权重wuv(t),其表达式为:
wu,v(0)=0,Δ=1,Φ=0.5 (2)
式(1)edge(u,v)∈G(t)表示顶点u与v之间在时刻t存在连边。式(1)表示当两个顶点在时间t发生过链接时wu,v(t)的值会增加Δ,若没发生过链接则会减少为以前的Φ 倍,顶点的邻接顶点池每次更新时就会就会计算wu,v(t)的值,但始终wu,v(t)的值都会 大于0。Δ设为1的考虑是两顶点每发生一次链接wu,v(t)就会增加1,Φ值设为0.5是 考虑当两顶点连续Δ次发生链接后中断1天时的wu,v(t)与之前Δ次都为0后发生一次 链接的wu,v(t)值相等,当Φ=0.5时两顶点连续两次发生链接后中断一天与之前一直 wu,v(t)为0后发生链接的值相等;如此可使最近发生链接的权重较大。由此,式(1) 的意义是两个顶点联系的次数越多,并且最近联系的越频繁则参数wu,v(t)越大。式(1) 会随着时间的变化将以前两顶点的关系融合进来达到半学习式的改变。
本专利将两两顶点的活跃权值wu,v(t)与共同邻居值CNuv表示成线性关系作为最后的相似度评分,既
CNuv={i|i∈r(u)∩r(v)}α,β<1 (4)
其中wu,i,wv,i分别表示顶点u与顶点i,顶点v与顶点i的活跃权重。α,β 控制着wu,v(t)与CNuv对得分贡献所占的比重,α、β值应根据网络的不同而设置不同 的值,CNuv表示顶点u的邻接顶点池r(u)与顶点v的邻接顶点池r(v)的交集。
如当CNuv的均值相比wu,v(t)的均值来说非常大,wu,v(t)的贡献就显现不出来,此时β的值应该小于α的值以此来提高wu,v(t)的作用。相似性评分反应两顶点发生链接 的概率大小,评分越高发生链接的概率越大。当图在演进时,顶点之间的发生链接的 概率也会发生变化,并不会像静态图的关系一样,因此Score(u,v;t)值可以很好反应 出顶点u和v之间在t时间发生链接概率的变化情况。
步骤4:为了使共同邻居方法能够适应图流数据,本文设计了一种为每个顶点建立哈希后排好序的邻接顶点池的方法来减少比较邻接顶点时间复杂度。给定一个图流 数据G(t),对数据中的每条边的两个顶点u和v,如果u没有邻接顶点池过则为其生成, 并将v的哈希值H(v)插入u的邻接顶点池中;如果顶点u有邻接顶点池,将v的哈希值 H(v)插入到u的邻接顶点池中的适当位置,邻接顶点池按照哈希值的大小从小到大进 行排序。同样的,如果v没有邻接顶点池过则为其生成,并将u的哈希值H(u)插入v的 邻接顶点池中;如果顶点v有邻接顶点池,将u的哈希值H(u)插入到v的邻接顶点池 中的适当位置,邻接顶点池按照哈希值的大小从小到大进行排序。
步骤5:要想快速的估计图流数据中的共同邻居,首先想到会是通过抽样来估计。即从每个顶点的共同邻居中抽取出一部分作为样本,通过求顶点样本之间的共同邻居 来估计总体中的共同邻居的数量。样本相对于总体数据来说要小了不少,因此可以提 高数据处理的速度使共同邻居法能够适应图流数据。但是问题来了,应该如何进行抽 样才能使样本更好的体现总体,才能使准确率不降低太多?首先想到的是按固定的比 例进行随机采样,这样样本最能反映总体。但是在现实环境中的图中度的分布很多时 候是一种幂律分布或者说是长尾分布,也就是说很少一部分的顶点却包含了大部分的 边,很多顶点只有一条边。如果按照20%比例采样,这些度大的顶点会可以取到很好 的样本,但是度为5以下的顶点根本采不到样本。根据长尾理论很多新链接的产生会 发生在这些度数很小的顶点,而事实也是如此。为了解决这种情况,本专利采用不等 比例采样与等比例采样相结合的方法。
本发明的一个示例,采用图7中一个有向图示例进行说明。图7中为一个为了测 试系统而设计的小的有向图数据。
本发明方法的具体实施步骤如下:
步骤1:首先为了便于计算,算法首先设计了一个哈希算法:H:u∈V→[0,1]。 输入顶点u,输出一个0到1的数作为顶点u的哈希值,哈希函数的映射可以是基于 之前网络中顶点的活跃度,或者共同邻居的数量,可以根据不同的网络进行不同的设 置,每个顶点对应唯一的值。如图1所示,顶点v1、v2通过哈希映射之后的哈希值变 为H(1)=0.234、H(2)=0.324
步骤2:由于边序列在快速不断的到达与更新迭代,内存或者一台机器已经无法存储所有的数据,由此传统的方法一般采取基于时间点的采样作 为图的拓扑结构而容易忽略图中的很多链接信息,此外在线预测根据每次采样只能计 算一次数据,同样也不能获取图流的变化状况;因此我们为每个顶点设计了邻接矩阵 池用来存储在Δt=Tx-Ty|时间段内接受到的边的数据,其中Tx-Ty表示时间戳Tx 到Ty的时间段。由于边序列是大致是按照时间的顺序到达的,所以当有新边到达时 并且其时间戳大于Tx-Ty的范围后,Δt=Tx-Ty|进行更新,Ty变成最新的边的时 间戳,Tx变成Ty-Γ,Γ>0,Γ为设置的时间间隔,Γ根据数据集不同而设置成不 同的值。如图2所示,顶点v0在2-8的时间段内存储了顶点v20、v3、v4、v11、v13的 哈希值,此时Δt=6,当顶点v0的时间戳t=9时,顶点v0与顶点v30发生了链接,因此 将顶点v30的哈希值存入顶点v0的邻接顶点哈希值存储池r(v0)中,由于此时r(v0)的时 间段间隔变成2-9,超出了设置的Δt=6的范围因此r(v0)将时间戳最早的t=2的h(v3) 删除掉如图3。
步骤3:本专利设计了一个表示两个顶点u和v之间的关系的动态变化的参数如 表3,称作活跃权重wuv(t),其表达式为:
wu,v(0)=0,Δ=1,Φ=0.5 (2)
式(1)edge(u,v)∈G(t)表示顶点u与v之间在时刻t存在连边。
步骤3-1:权重wuv(t)的变化分为三种情形,第一种例如图2中的顶点v0在其时间戳t=9时与顶点v30发生了链接,假设w0,30(9)=0.36,则此时w0,30(9)=0.36+1=1.36,并将结果保存到二维Mat中;第二种情况当t=10,如图4顶点v0的邻接矩阵哈希值存 储池中r(v0)发生了更新,并且顶点v30仍然在r(v0)中则w0,30(10)=2.36,第三种情况为 r(v0)删除顶点v30的哈希值h(v30)此时w0,30(16)=w0,30(15)·0.5=5.36×0.5=2.68。权重矩 阵的更新策略是为了增大在Δt范围内的与顶点v0相链接的顶点的权重,是为了在快 速演进的图流中使两顶点最近发生链接越多越可能在计算时获得更高的分数,并且总 体发生链接情况越多在计算时获得更高的分数,而分数越高增大两个顶点都共同相关 的概率。
步骤3-2:当需要在线的计算两顶点相似性得分时只需比较每个顶点的共同邻居哈希值存储池的相同个数来计算,计算公式为
CNuv=|r(u)∩r(v)| (5)
式(5)中r(u)与r(v)分别表示顶点u和v的邻接顶点集的总体,CNuv表示顶点u和 v的共同邻居得分。
步骤4:图流数据在以用共同邻居作为预测的评价指标时,需要计算两两顶点之间的共同邻居的个数,需要对两个顶点的邻接顶点一一进行比较,时间复杂度为O(n2), 在处理大量快速的图流数据并且进行在线预测时就显得太慢。为了使共同邻居方法能 够适应图流数据,本文设计了一种为每个顶点建立哈希后排好序的邻接顶点池的方法 来减少比较邻接顶点的时间复杂度。
表1.时间t的顶点相关度权重矩阵
步骤4-1:给定一个图流数据G(t),对数据中的每条边的两个顶点u和v,如果u 没有邻接顶点池则为其生成,并将v的哈希值H(v)插入u的邻接顶点池中;如果顶点 u有邻接顶点池,将v的哈希值H(v)插入到u的邻接顶点池中的适当位置,其中邻接 顶点池按照哈希值的大小从小到大进行排序。同样的,如果v没有邻接顶点池则为其 生成,并将u的哈希值H(u)插入v的邻接顶点池中;如果顶点v有邻接顶点池,将u的 哈希值H(u)插入到v的邻接顶点池中的适当位置,其中邻接顶点池按照哈希值的大小 从小到大进行排序。如图6,h(v56)按照折半查找的方式插入到顶点v1的邻接顶点池中
步骤4-2:当顶点的邻接顶点池都按照顺序排列好之后,再进行计算共同邻居时就会将时间复杂度降为O(n)。计算共同顶点的策略是利用两个游标,如图7.与 分别是顶点v0与v1的顶点哈希值存储池r(v0)与r(v1)指向池中元素的游标。开始 时游标都指向哈希值最小的元素,当两个游标指向的哈希值相同时记录下来共同的 顶点,两个游标一起指向下一个顶点哈希值如图8.,当两个游标指向的哈希值不相等 时,指向值较小的游标指向下一个哈希值接着进行比较,如图9.游标指向的h(v23) 值小于指向的h(v45)的值,因此将指向下一个哈希值h(v54),接着将h(v45)与 h(v54)进行比较,如此直至其中一个游标遍历完哈希值存储池。如此便可快速的找到 所有的共同邻居。然后按照步骤3-2所述的公式计算出两顶点的相似性得分。
步骤5:要想快速的估计图流数据中的共同邻居,首先想到会是通过抽样来估计。即从每个顶点的共同邻居中抽取出一部分作为样本,通过求顶点样本之间的共同邻居 来估计总体中的共同邻居的数量。样本相对于总体数据来说要小了不少,因此可以提 高数据处理的速度使共同邻居法能够适应图流数据。首先想到的是按固定的比例进行 随机采样,这样样本最能反映总体。但是在现实环境中的图中度的分布很多时候是一 种幂律分布或者说是长尾分布,也就是说很少一部分的顶点却包含了大部分的边,很 多顶点只有一条边。如果按照20%比例采样,这些度大的顶点会可以取到很好的样本, 但是度为5以下的顶点根本采不到样本。根据长尾理论很多新链接的产生会发生在这 些度数很小的顶点,而事实也是如此。
步骤5-1:为了解决这种情况,本文采用不等比例采样与等比例采样相结合的方法。为了方便采样,对顶点集V中的每个顶点建立一个邻接顶点池r(·),并获取r(·)的 长度li,并将li添加到邻接顶点池的长度集L中。从L中选出可以作为拐点的值ld, 将顶点分成V1={v∈V|lv≥ld},V2={v∈V|lv<ld}(其中lv为v的邻接顶点池的长度也 就是度的大小)的两个集合。如图10中将顶点分成了两类,左边一类为大度结点, 右边一类为小度结点。
步骤5-2:对于V1中的顶点,顶点之间的共同邻居计算采用等比抽样,利用定理 1可得估计的共同邻居值。
定理1.r(u)与r(v)分别表示顶点u和v的邻接顶点集的总体,p代表采样率,因 此两个大度顶点u和v的共同邻居的估计值CNuv,公式如下:
如图11对于大度结点v2,随机按照比率p随机挑选出|r(u)|·p个顶点作为参 与计算的邻接顶点。
步骤5-3:当两个顶点都是集合V2中的顶点,由于其邻接顶点电池并不会很大, 因此顶点之间的共同邻居可由共同邻居计算公式计算,即
CNuv=|r(u)∩r(v)|u,v∈V2 (7)
步骤5-4::对于顶点u∈V1,v∈V2采用不等比例采样估计。采样率p等于顶点v的 邻接顶点集的大小lv与顶点u的邻接顶点集大小lu的比值即从顶点u的邻接顶点集r(u)中取出与顶点v的邻接顶点集大小相等的采样集,通过求这两个集合的交集来达 到进行非等比例采样的目的。则顶点u和v的共同邻居可由定理2估计出。
定理2.r(u)与r(v)分别表示顶点u和v的邻接顶点集的总体,则顶点顶点u和v 的共同邻居估计值CNuv为,
如图10中的顶点v9和v68分别属于小度顶点集V2与大度顶点集V1,如果此时的 |r(9)|=10,|r(9)|=253,因此根据定理2可得出 |r(9)|}=10。值此便完成了对共同邻居的估计。
Claims (6)
1.一种基于半懒惰学习的图流链路预测方法,其特征在于,包括以下步骤:
步骤1:将图流中到达的顶点进行哈希映射;
步骤2:为每个顶点建立动态接收不断到达顶点的哈希值存储池;
步骤3:为两两顶点建立保存动态参数变化的矩阵,并计算共同邻居评分值;
步骤4:快速的两两顶点的共同邻居评分值计算方法;
步骤5:两两顶点的偏斜采样的共同邻居评分计算方法。
2.根据权利要求1所述的一种基于半懒惰学习的图流链路预测方法,其特征在于:
步骤1中:将图流中到达的顶点进行哈希映射;为了便于计算,算法首先设计了一个哈希算法:H:u∈V→[0,1];输入顶点u,输出一个0到1的数作为顶点u的哈希值,每个顶点对应唯一的值。
3.根据权利要求1所述的基于半懒惰学习的图流链路预测方法,其特征在于:
步骤2中:为每个顶点建立动态接收不断到达顶点的哈希值存储池包括设计了邻接矩阵池用来存储在Δt=|Tx-Ty|时间段内接受到的边的数据,其中Tx-Ty表示时间戳Tx到Ty的时间段;由于边序列是大致是按照时间的顺序到达的,所以当有新边到达时并且其时间戳大于Tx-Ty的范围后,Δt=|Tx-Ty|进行更新,Ty变成最新的边的时间戳,Tx变成Ty-Γ,Γ>0,Γ为设置的时间间隔,Γ根据数据集不同而设置成不同的值。
4.根据权利要求1所述的一种基于半懒惰学习的图流链路预测方法,其特征在于:
步骤3中:为两两顶点建立保存动态参数变化的矩阵,表示两个顶点u和v之间的关系的动态变化的参数,称作活跃权重wuv(t),具体情形如下:
wu,v(0)=0,Δ=1,Φ=0.5 (2)
式(1)edge(u,v)∈G(t)表示顶点u与v之间在时刻t存在连边;
步骤3-1:将权重wuv(t)的变化分为四种情形,第一种为顶点u的邻接顶点哈希值存储池r(u)中有的新的邻接顶点哈希值h(v)到达,这两个顶点之间的权重更新为wuv(t)+Δ,第二种情形h(v)在r(u)中两个顶点之间的权重更新为wuv(t)+Δ,第三种情形为r(u)将h(v)删除此时,此时两顶点的权重更新为Φ·wuv(t),第四种情形为h(v)不在r(u)中,此时两顶点的权重更新为Φ·wuv(t);
步骤3-2:当需要在线的计算两顶点相似性得分时只需比较每个顶点的共同邻居哈希值存储池的相同个数来计算两顶点的共同邻居的评分值,计算公式为:
CNuv={i|i∈r(u)∩r(v)} (4)
其中wu,i,wv,i分别表示顶点u与顶点i,顶点v与顶点i的活跃权重;α,β控制着wu,v(t)与CNuv对得分贡献所占的比重,α、β值应根据网络的不同而设置不同的值,CNuv表示顶点u的邻接顶点池r(u)与顶点v的邻接顶点池r(v)的交集。
5.根据权利要求1所述的一种基于半懒惰学习的图流链路预测方法,其特征在于:
步骤4中:快速的两两顶点的共同邻居评分值计算方法包括两个部分:
步骤4-1:构建排序的顶点哈希值存储池来接收到达的顶点哈希值,给定一个图流数据G(t),对数据中的每条边的两个顶点u和v,如果u没有邻接顶点池则为其生成,并将v的哈希值h(v)插入u的邻接顶点池中;如果顶点u有邻接顶点池,将v的哈希值h(v)插入到u的邻接顶点池中的适当位置,其中邻接顶点池按照哈希值的大小从小到大进行排序;
步骤4-2:为了找出两个顶点的共同邻居,为步骤4-1中的有序的邻接顶点哈希值存储池设立游标Curv,Curv指向存储池r(v0)的头部;当两个游标指向的哈希值相同时记录下来共同的顶点,两个游标一起指向下一个顶点哈希值,当两个游标指向的哈希值不相等时,指向值较小的游标指向下一个哈希值接着进行比较,直至其中一个游标遍历完哈希值存储池步骤计算完两个顶点的共同邻居之后,便可以按照步骤3-2中所述的评价公式计算两个顶点的共同邻居得分。
6.根据权利要求1所述的一种基于半懒惰学习的图流链路预测方法,其特征在于:
步骤5中:两两顶点的偏斜采样的共同邻居评分计算方法可以分为四个部分,
步骤5-1:为了方便采样,对顶点集V中的每个顶点建立一个邻接顶点池r(i),i∈V,并获取r(i)的长度li,并将li添加到邻接顶点池的长度集L中;从L中选出可以作为拐点的值ld,将顶点分成V1={v∈V|lv≥ld},V2={v∈V|lv<ld},其中lv为v的邻接顶点池的长度,也就是长度的大小的两个集合;
步骤5-2:对于V1中的顶点,顶点之间的共同邻居计算采用等比抽样,可得估计的共同邻居值为p为采样率;
步骤5-3:当两个顶点都是集合V2中的顶点,由于其邻接顶点电池并不会很大,因此顶点之间的共同邻居可由共同邻居计算公式计算,即得分为CNuv=|r(u)∩r(v)|u,v∈V2
步骤5-3:对于顶点u∈V1,v∈V2采用不等比例采样估计;采样率p等于顶点v的邻接顶点集的大小lv与顶点u的邻接顶点集大小lu的比值即从顶点u的邻接顶点集r(u)中取出与顶点v的邻接顶点集大小相等的采样集,通过求这两个集合的交集来达到进行非等比例采样的目的;r(u)与r(v)分别表示顶点u和v的邻接顶点集的总体,则顶点顶点u和v的共同邻居估计值CNuv为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710205511.0A CN107018020A (zh) | 2017-03-31 | 2017-03-31 | 基于半懒惰学习的图流链路预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710205511.0A CN107018020A (zh) | 2017-03-31 | 2017-03-31 | 基于半懒惰学习的图流链路预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107018020A true CN107018020A (zh) | 2017-08-04 |
Family
ID=59444895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710205511.0A Pending CN107018020A (zh) | 2017-03-31 | 2017-03-31 | 基于半懒惰学习的图流链路预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107018020A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506484A (zh) * | 2017-09-18 | 2017-12-22 | 携程旅游信息技术(上海)有限公司 | 运维数据关联审计方法、系统、设备及存储介质 |
CN109918543A (zh) * | 2019-02-26 | 2019-06-21 | 华中科技大学 | 一种图流中针对节点的链路预测方法 |
-
2017
- 2017-03-31 CN CN201710205511.0A patent/CN107018020A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506484A (zh) * | 2017-09-18 | 2017-12-22 | 携程旅游信息技术(上海)有限公司 | 运维数据关联审计方法、系统、设备及存储介质 |
CN107506484B (zh) * | 2017-09-18 | 2020-10-16 | 携程旅游信息技术(上海)有限公司 | 运维数据关联审计方法、系统、设备及存储介质 |
CN109918543A (zh) * | 2019-02-26 | 2019-06-21 | 华中科技大学 | 一种图流中针对节点的链路预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | Short-term load forecasting for electric vehicle charging stations based on deep learning approaches | |
Tsai et al. | Parallel cat swarm optimization | |
CN110889434B (zh) | 一种基于活动的社交网络活动特征提取方法 | |
CN110929161B (zh) | 一种面向大规模用户的个性化教学资源推荐方法 | |
CN103116639A (zh) | 基于用户-物品二分图模型的物品推荐方法及系统 | |
Zhou et al. | Movie recommendation system employing the user-based cf in cloud computing | |
CN104951518B (zh) | 一种基于动态增量更新的上下文推荐方法 | |
Zhao et al. | Participant selection for federated learning with heterogeneous data in intelligent transport system | |
CN110222883A (zh) | 基于风驱动优化bp神经网络的电力系统负荷预测方法 | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
CN106991614A (zh) | Spark下基于标签传播的并行重叠社区发现方法 | |
Qian et al. | An effective hybrid DE-based algorithm for flow shop scheduling with limited buffers | |
CN105550368A (zh) | 一种高维数据的近似最近邻检索方法及检索系统 | |
CN103559258A (zh) | 基于云计算的网页排序方法 | |
CN110119408A (zh) | 地理空间实时流数据下移动对象连续查询方法 | |
Ang et al. | A modified DEA-based approach for selecting preferred benchmarks in social networks | |
CN107018020A (zh) | 基于半懒惰学习的图流链路预测方法 | |
CN104036052A (zh) | 一种基于历史经验的谓词索引匹配方法 | |
Semero et al. | A GA-PSO hybrid algorithm based neural network modeling technique for short-term wind power forecasting | |
Zheng et al. | Public opinion prediction model of food safety events network based on BP neural network | |
CN116911683A (zh) | 一种数据处理方法、装置及存储介质 | |
CN107609194B (zh) | 一种面向云计算的时间冗余电力负荷数据的存储方法 | |
CN114218876A (zh) | 一种基于Apache Spark的分布式流体动力学计算方法 | |
Wang et al. | A resume recommendation model for online recruitment | |
CN106934064A (zh) | 基于elm的网络信息热点预测系统和方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170804 |