本发明涉及链路预测领域,特别涉及一种动态社交网络中的链路预测方法。
背景技术:
随着海量数据在社交、通信、生物等网络中不断聚集,这种网络结构化的数据非常有效地模拟了现实世界中各种类型的链接数据。其中,节点表示实体,边表示实体之间的链接。对网络信息尤其是链接信息的挖掘成为了一个新兴的研究方向。链接预测是根据社会网络现有的结构,预测隐含的链接或将来可能产生的链接。链接预测除了具有很高的学术研究价值,还具有许多重要的商业应用。例如,facebook等社交网站中推荐朋友;淘宝等电子商务网站中给用户推荐感兴趣的商品;医学研究者根据基因网络中的不规则联系找到导致疾病的基因;网络安全领域,链接预测亦可实现对垃圾邮件的检测,对实际的舆情监控系统中有着十分重要的作用。
提高应用价值的关键是如何有效的挖掘到网络结构中隐含的丰富信息,提高链接预测的准确性。网络信息的有效学习方法之一是网络表示学习,旨在根据相关的优化目标,将大规模、高维度的网络嵌入到低维度的空间中,用低维稠密的向量表示网络中的节点,并且这些节点表示隐含着丰富的网络信息。利用这种网络嵌入的方法被证明在链接预测中非常有效,但目前的研究大多关注于静态网络,忽略网络的动态演化。
但是,现实世界的网络是实时动态更新的,其节点和边时刻发生变化。例如,社交网络中新用户的加入、新好友关系的产生,会导致网络中出现新的节点和边;用户离开表现为节点的消失。这些时序信息是网络的重要部分,是网络的演化机制和其动力学的体现。动态网络表示学习需要同时对网络的结构及时序信息进行建模,尽可能挖掘出网络中隐含的丰富信息,是一项困难但十分重要的任务。
链接预测的本质是预测节点之间是否存在链接。目前研究大多忽略网络的时间信息,获得的节点向量表示仅捕捉到当前时刻下网络的结构信息,无法捕捉到网络结构中隐含的演化趋势信息,这大大降低了链接预测的准确性。
技术实现要素:
本发明所要解决的技术问题是针对现有技术的现状,提供一种数据存储空间更小且链路预测准确性更高的动态社交网络中的链路预测方法。
本发明解决上述技术问题所采用的技术方案为:一种动态社交网络中的链路预测方法,用于根据动态社交网络中1到t时刻的网络信息预测t+1时刻的网络信息,将动态社交网络中t个时刻的网络用g表示,g={g1,...,gt},t时刻的网络表示为gt=(v,et,wt),1≤t≤t,其中v表示t时刻网络中的节点集,et为t时刻网络中任意两节点之间存在的边的集合,wt为t时刻网络中任意两节点之间存在的边之间的权重集合,其特征在于:包括以下步骤:
步骤1、将t时刻网络中的节点vi映射到低维嵌入空间中,表达式为:ft:vi→rd;
其中,vi∈v,d为预设的低维嵌入空间的维数,d远小于节点集v中节点的个数,rd为d维实数空间;
步骤2、将t时刻网络中任意节点vi的低维表示向量记为
步骤3、选择出t时刻网络中任意两节点间具有边的所有节点对,并计算出所有节点对之间的局部特征对应的损失函数
步骤4、在t时刻网络中选择出满足以下条件的节点m和节点n:任意两个不同节点m和节点n之间没有边,节点m和节点n之间具有一个或多个共同的邻居节点,则计算满足该条件的所有节点m和节点n之间的二阶相似性对应的损失函数;具体包括以下步骤:
步骤4-1、在t时刻的网络中,假设任意两个不同节点m和节点n之间没有边,节点m和节点n之间具有一个或多个共同的邻居节点,将其中一个共同邻居节点记为k,计算t时刻网络中节点m和节点n受共同邻居节点k的影响程度,记为
其中,
步骤4-2、计算t+1时刻,节点m和节点n受其共同邻居节点k的影响建立新边的概率,以及不受其共同邻居节点k的影响,继续保持原来社交状态的概率,并将t+1时刻,节点m和节点n受其共同邻居节点k影响的概率记为
其中,σ(.)为逻辑回归函数,即
步骤4-3、合并步骤4-2中的两个公式,得到:
其中
步骤4-4、当节点m和节点n之间具有多个共同邻居节点,将节点m和节点n在t时刻网络中的所有共同邻居节点集记为nt(m,n);将节点m和节点n是否受某个共同邻居节点k1的影响在未来时刻是否建立新边的函数记为
步骤4-5、根据步骤4-3中的计算公式,计算出t+1时刻的网络中,节点m和节点n受所有共同邻居节点的影响建立新边的概率
其中,ii为连乘符号,
以及计算出t+1时刻的网络中,节点m和节点n不受所有共同邻居节点的影响未建立新边的概率
步骤4-6、在t+1时刻网络中,分为两种情况,分别对应为:节点m和节点n在t时刻的网络中无连接,在t+1时刻网络中建立连接,将满足上述条件的节点m和节点n的集合记为
步骤4-7、计算t时刻网络中对应的损失函数
步骤5、计算保持网络演化平滑性对应的损失函数
其中1≤t≤t;
步骤6、计算节点特征对应的总损失函数l,并根据最小化总损失函数得到最佳的实数参数θd和节点最佳的低维表示向量
其中,a、b和λ均为预设的权值;
步骤7、找出所有从
步骤8、将t时刻网络中每个节点对的低维表示向量输入到训练完成的逻辑回归分类器中,得到t+1时刻的网络信息。
具体的,所述步骤3中具体包括以下步骤:
步骤3-1、计算t时刻网络中任意两节点vi和vj之间的相似度分布p1(vi,vj);计算公式为:
其中,
步骤3-2、计算t时刻网络中任意两节点vi和vj之间的边权重分布
其中,eij为t时刻网络中节点vi和节点vj之间的边,wij为t时刻网络中节点vi和节点vj之间边的权重;
步骤3-3、计算步骤3-1中任意两节点vi和vj之间的相似度分布与步骤3-2中该两节点之间的边权重分布之间的距离;并将该距离记为o;
步骤3-4、将步骤3-3中计算出的距离o作为权值,计算t时刻网络中局部特征的损失函数
其中,eik为t时刻网络中节点vi和节点vk之间的边,
具体的,所述步骤3-3中将相似度分布和边权重分布之间kl散度的最小值作为相似度分布和边权重分布之间的距离。
与现有技术相比,本发明的优点在于:一方面,通过将节点映射到低维嵌入空间中,降低了网络中的数据存储空间;另一方面,计算节点对的拓扑相似性使在节点在嵌入空间中保存网络结构的近邻性,计算节点的二阶相似性用来捕捉网络动态演化特性以及计算网络的时间演化平滑性保持网络的平稳演化特性,最后根据最小化总损失函数计算出节点最佳的低维表示向量,从而该方法能够有效的对网络的动态变化过程中的结构特征进行学习和表示,因此该方法的链路预测准确性更高。
附图说明
图1为本发明实施例中链路预测方法的流程图;
图2为本发明实施例中t时刻和t+1时刻的动态网络示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1所示,一种动态社交网络中的链路预测方法,用于根据动态社交网络中1到t时刻的网络信息预测t+1时刻的网络信息,其中,预测t+1时刻的网络信息中的节点之间存在边即对应在动态社交网络中存在链路,所以预测t+1时刻的网络信息中包括节点之间边的信息,将动态社交网络中t个时刻的网络用g表示,g={g1,...,gt},t时刻的网络表示为gt=(v,et,wt),1≤t≤t,其中v表示t时刻网络中的节点集,et为t时刻网络中任意两节点之间存在的边的集合,wt为t时刻网络中任意两节点之间存在的边之间的权重集合,包括以下步骤:
步骤1、将t时刻网络中的节点vi映射到低维嵌入空间中,表达式为:ft:vi→rd;
其中,vi∈v,d为预设的低维嵌入空间的维数,d远小于节点集v中节点的个数,rd为d维实数空间;
步骤2、将t时刻网络中任意节点vi的低维表示向量记为
步骤3、选择出t时刻网络中任意两节点间具有边的所有节点对,并计算出所有节点对之间的局部特征对应的损失函数
步骤3-1、计算t时刻网络中任意两节点vi和vj之间的相似度分布p1(vi,vj);计算公式为:
其中,
步骤3-2、计算t时刻网络中任意两节点vi和vj之间的边权重分布
其中,eij为t时刻网络中节点vi和节点vj之间的边,wij为t时刻网络中节点vi和节点vj之间边的权重;
步骤3-3、计算步骤3-1中任意两节点vi和vj之间的相似度分布与步骤3-2中该两节点之间的边权重分布之间的距离;并将该距离记为o;本实施例中,将相似度分布和边权重分布之间kl散度的最小值作为相似度分布和边权重分布之间的距离;
步骤3-4、将步骤3-3中计算出的距离o作为权值,计算t时刻网络中局部特征的损失函数
其中,eik为t时刻网络中节点vi和节点vk之间的边,
步骤4、在t时刻网络中选择出满足以下条件的节点m和节点n:任意两个不同节点m和节点n之间没有边,节点m和节点n之间具有一个或多个共同的邻居节点,则计算满足该条件的所有节点m和节点n之间的二阶相似性对应的损失函数;具体包括以下步骤:
步骤4-1、在t时刻的网络中,假设任意两个不同节点m和节点n之间没有边,节点m和节点n之间具有一个或多个共同的邻居节点,将其中一个共同邻居节点记为k,计算t时刻网络中节点m和节点n受共同邻居节点k的影响程度,记为
其中,
步骤4-2、计算t+1时刻,节点m和节点n受其共同邻居节点k的影响建立新边的概率,以及不受其共同邻居节点k的影响,继续保持原来社交状态的概率,并将t+1时刻,节点m和节点n受其共同邻居节点k影响的概率记为
其中,σ(.)为逻辑回归函数,即
步骤4-3、合并步骤4-2中的两个公式,得到:
其中
步骤4-4、当节点m和节点n之间具有多个共同邻居节点,将节点m和节点n在t时刻网络中的所有共同邻居节点集记为nt(m,n);将节点m和节点n是否受某个共同邻居节点k1的影响在未来时刻是否建立新边的函数记为
步骤4-5、根据步骤4-3中的计算公式,计算出t+1时刻的网络中,节点m和节点n受所有共同邻居节点的影响建立新边的概率
其中,ii为连乘符号,
以及计算出t+1时刻的网络中,节点m和节点n不受所有共同邻居节点的影响未建立新边的概率
步骤4-6、在t+1时刻网络中,分为两种情况,分别对应为:节点m和节点n在t时刻的网络中无连接,在t+1时刻网络中建立连接,将满足上述条件的节点m和节点n的集合记为
步骤4-7、计算t时刻网络中对应的损失函数
步骤5、计算保持网络演化平滑性对应的损失函数
其中1≤t≤t;
步骤6、计算节点特征对应的总损失函数l,并根据最小化总损失函数得到最佳的实数参数θd和节点最佳的低维表示向量
其中,α、β和λ均为预设的权值;
由于总损失函数中的每个变量复杂,因此为了减少计算量,可以先分别对损失函数
根据扩展结构平衡理论,对于任意节点组(vi,vj,vk)∈v,为了尽量满足平衡理论,且对于有连接的节点对根据权重分布使用kl散度度量其相似度,对于
对损失函数
由于在t+1时刻网络中,节点m和节点n在t时刻的网络中无连接,在t+1时刻网络中受共同邻居节点的影响建立连接的可能性较大,因此,
进一步的,
步骤7、找出所有从g1,
步骤8、将t时刻网络中每个节点对的低维表示向量输入到训练完成的逻辑回归分类器中,得到t+1时刻的网络信息。
为了方便理解和描述本发明中链路预测过程,如图2所示,在t时刻的网络中,节点1与9以及节点1与3之间有边相连接,节点1与4之间无边;所以节点1与9以及1与3具有比节点1与4具有更高的拓扑相似性,即在嵌入空间中的位置接近。更近一步来说,节点1与节点9之间边上的权重大于节点1与节点3之间边上的权重,因此节点1与节点9比节点1与节点4具有更高的相似性。因此,在嵌入空间中,节点1和9的位置最接近,节点1和3的位置次之,节点1和4的位置相对较远。另一方面,尽管节点1和6之间没有边,但是他们拥有许多共同的邻居(如节点2、7),他们具有高的二阶相似性,在嵌入空间中的位置接近。同时受这些共同邻居的影响,在t+1时刻中心节点1和6更倾向于建立连接关系,并且这些邻居节点对链接形成的影响由其与中心节点的链接强弱程度决定。
对于一个节点个数为|v|的大规模网络来说,其存储空间为|v|×|v|,由于本发明中采用的是存储网络中节点的低维表示的d维向量,所以需要的存储空间为|v|×d,对于大规模网络来说,d《|v|,这样可以大大减少数据存储空间。
另外本方法中保存了原始网络中节点对之间的相似性,量化节点对邻域内节点的影响程度,使用动态逻辑回归分类器从节点的二阶相似性捕捉网络的动态演化模式,从过去时间戳的快照网络中获得网络的时间信息和结构特征联合学习网络中节点低维表示向量。在提出的方法中,目标损失函数结合网络的内部结构以及动态演化结构,最小化嵌入空间中相似节点的近邻性。此外,实验证明所提出的模型在许多真实动态网络上的链接预测性能明显优于现有的链接预测方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。