一、问题描述与评价标准

刻画节点的相似性有很多种方法,最简单直接的就是利用节点的属性。近年来,基于网络结构信息的节点相似性刻画得到了越来越多的重视。
节点相似性分析的一个典型应用就是链路预测,它是指如何通过已知的各种信息预测给定网络中尚不存在连边的两个节点之间产生连接的可能性。这种预测包含了对未知连接,也称丢失连接的预测,也包含了对未来连接的预测。基于节点相似性进行链路预测的基本假设就是如果两个节点之间的相似性越大,它们之间存在连接的可能性就越大。链路预测还可以用于预测演化网络中未来可能出现的连接。
给定一个具有N个节点和M条边的无向网络G(V,E)。链路预测的基本思想是为网络中每一对没有连边的节点对(x,y)赋予一个分数Sxy_{xy}xy​,然后将所有未连接的节点对按照该值从大到小排序,排在最前面的节点对出现连边的概率最大。
为了测试链路预测算法的准确性,通常将网络中已知的连边集E分为训练集ET^TT和测试集EP^PP两部分:

在计算时只使用测试集的信息,并把不属于现有边集E的任意一对节点之间的可能连边称为不存在的边。衡量链路预测算法精准度的两种常用指标为AUC和Precision。
(1)AUC:AUC是从整体上衡量算法的精准度。它可以理解为,测试集中的边的分数值比随机选择的一个不存在的边的分数值高的概率。也就是说,每次随机从测试集中选取一条边与随机选择的不存在的边进行比较:如果测试集中的边的分数值大于不存在的边的分数值,那么就加1分,如果两个分数值相等就加0.5分。这样独立比较n次,如果有n′^{'}′次测试集中的边的分数值大于不存在的边的分数值,有n′′^{''}′′次两个分数值相等,那么AUC定义为

显然,如果所有分数都是随机产生的,那么AUC=0.5。因此AUC大于0.5的程度衡量了算法在多大程度上比随机选择的方法精确。
(2)Precision只考虑排在前L位的边是否预测准确,即前L个预测边中预测准确的比例。如果排在前L位的边中有m个在测试集中,那么Precision定义为:

显然,Precision越大预测越准确。如果两个算法AUC相同,而算法1的Precision大于算法2,那么说明算法1更好,因为它倾向于把真正连边的节点对排在前面。

二、基于局部信息的节点相似性指标

两个节点的共同邻居的数量越多,这两个节点就越相似,从而更倾向于相互连接。最简单的基于共同邻居的节点相似性指标定义如下:

其中,Γ\GammaΓ(x)为节点x的邻居节点的集合。
在相似性指标的基础上,还可以考虑两个节点的共同邻居的相对数量。

上图列出了10种基于节点局部信息的相似性指标。其中第2到7种相似性指标是直接基于共同邻居指标的不同的规范化而得到的,表中的k(x)=|Γ\GammaΓ(x)|为节点x的度。第8种指标PA是基于BA无标度网络模型中新加入节点倾向于和度大的节点相连的有限连接机制而提出的。第9种指标AA的基本思想是度小的共同邻居节点的贡献大于度大的共同邻居节点,因此根据共同邻居节点的度为每个节点赋予一个权重值。第10种指标RA是从网络资源分配的角度提出的。RA和AA指标最大的区别就是在于赋予共同邻居节点的权重分别是以1/k,1/logk的形式递减的。

三、基于全局信息的节点相似性指标

基于全局信息的节点相似性指标有以下3种:
(1)局部路径指标。它在共同邻居指标的基础上考虑了三阶邻居的贡献,定义如下:

其中α\alphaα为可调节参数,A为网络的邻接矩阵,(An^nn)xy_{xy}xy​给出了节点x和y之间长度为n的路径数。当α\alphaα=0时,LP指标就等于共同邻居指标。
(2)Katz指标。它考虑的是所有路径数,且对越短的路径赋予越大的权重,定义为:

其中β\betaβ为权重衰减因子。对应的相似性矩阵如下:

为了保证数列的收敛性,β\betaβ的取值必须小于邻接矩阵A最大特征值的倒数。
(3)LHN-II指标。它和Katz指标类似,也是考虑所有的路径,其基本想法是如果两个节点的邻居节点之间是相似的,那么这两个节点之间也是相似的。注意到(Al^ll)xy_{xy}xy​的期望值为:

其中λ1\lambda_1λ1​为矩阵A的最大特征值。LHN-II和Katz指标的主要区别是把Katz指标中的(An^nn)xy_{xy}xy​变为(An^nn)xy_{xy}xy​/E[(An^nn)xy_{xy}xy​]。
LHN-II指标的表达式如下:

其中δxy\delta_{xy}δxy​为Kroneckerδ\deltaδ函数,Φ\PhiΦ为取值小于1的参数。上式最后一个等式的第一项是可以去掉的对角阵,从而相似性矩阵可以写为:

其中D为度值矩阵,Dxy_{xy}xy​=δxy\delta_{xy}δxy​kx_xx​。

四、基于随机游走的相似性指标

基于随机游走的相似性指标有以下6种:
(1)平均通勤时间:设m(x,y)为一个随机粒子从节点x到节点y平均需要走的步数,那么节点x和y的平均通勤时间定义为:

其数值解可通过求该网络拉普拉斯矩阵L的伪逆L+^++获得,即

其中lxy+_{xy}^+xy+​表示矩阵L+^++中相应位置的元素。如果两个节点的平均通勤时间越小,那么两个节点越接近。由此,定义基于ACT的相似性为:

(2)基于随机游走的余弦相似性(Cos+ )。在由向量νx\nu_xνx​=Λ1/2\Lambda^{1/2}Λ1/2UT^TTe展开的欧式空间内,L+^++中的元素lxy+_{xy}^+xy+​可表示为两向量νx\nu_xνx​和νy\nu_yνy​的内积,即lxy+_{xy}^+xy+​=νxTνy\nu_x^T\nu_yνxT​νy​,其中U是一个标准正交矩阵,由L+^++特征向量按照对应的特征根从大到小排列,Λ\LambdaΛ为以特征根为对角元素的对角矩阵,ex_xx​表示一个一维向量且只有第x个元素为1,其他都为0。由此定义余弦相似性如下:

(3)重启的随机游走(RWR)。这个指标可以看成是PageRank算法的拓展应用。它假设随机游走粒子在每走一步的时候都以一定概率返回初始位置。设粒子返回概率为1-c,P为网络的马尔可夫概率转移矩阵,其元素Pxy_{xy}xy​=axy_{xy}xy​/kx_xx​表示节点x处的粒子下一步走到节点y的概率。某一粒子初始时刻在节点x处,那么t +1时刻该粒子到达网络各个节点的概率向量为:

其中ex_xx​表示初始状态。上式的稳定解为:

其中元素qxy_{xy}xy​为从节点x出发的粒子最终有多少概率走到节点y。由此定义RWR相似性如下:

(4)SimRank指标。它的基本假设是,如果两节点所连接的节点相似,那么这两个节点就相似。其定义如下:

其中假定sxx_{xx}xx​=1,C∈\in∈[0,1]为相似性传递时的衰减参数。SimR可以用来描述两个分别从节点x和y出发的粒子多久会相遇。
(5)局部随机游走指标(LRW)。 该指标与上述4种基于随机游走的相似性不同,它只考虑有限步数的随机游走过程。一个粒子t时刻从节点x出发,定义πxy_{xy}xy​(t)为t+1时刻这个粒子正好走到节点y的概率,那么可得到系统演化方程

其中πx_xx​(0)为一个Nx1的向量,只有第x个元素为1,其他为0,即πx_xx​(0)=ex_xx​。设定各个节点的初始资源分布为qx_xx​,那么基于t步随机游走的相似性为

(6)叠加的局部随机游定指标(SRW)。这个指标的想法就是与目标节点更近的节点更有可能与目标节点相连。在LRW的基础上将t步及其以前的结果求和便得到SRW值。即

节点相似性与链路预测相关推荐

  1. 使用PyG进行图神经网络的节点分类、链路预测和异常检测

    图神经网络(Graph Neural Networks)是一种针对图结构数据(如社交图.网络安全网络或分子表示)设计的机器学习算法.它在过去几年里发展迅速,被用于许多不同的应用程序.在这篇文章中我们将 ...

  2. 复杂网络链路预测的研究现状及展望(2010)

    前言:做链路预测这个方向有一年多的时间了,有一些收获和体会.一直想写一个综述进行总结,总是希望这个综述尽可能的包括更多更全面的信息,但是新的思想和结果源源不断的涌现,所谓的综述也就无限期的搁置了下来. ...

  3. 生物网络中基于节点相似度的链路预测图卷积

    生物网络中基于节点相似度的链路预测图卷积 前言 一.介绍 二.材料和方法 三.结果与讨论 四.结论 文章地址:https://https://academic.oup.com/bioinformati ...

  4. 链路预测 matlab,链路预测

    2.4评价指标 2.4.1AUC ROC曲线下的面积.信号探测理论中,ROC曲线用来评价某种分类器的分类效果.这种评价指标可以用来衡量链路预测算法的精确度 事实上,AUC可以理解为在测试集中随机选择一 ...

  5. 图学习中的链路预测任务(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 本文将对图学习中的链路预测任务进行系统性的介绍. 最近更新时间:2022.11.29 最早更新时间:2022.10.31 文章目录 1. 问题定义 2. 研究方法 ...

  6. 社交网络初探——链路预测

    社交网络可以用来描述现实社会中的实际网络,它包括人与人之间的社会关系,物种之间的捕食关系,科学研究中的合作关系等.大量研究已经表明在真实世界中各种不同社交网络具有许多共同的结构特征,例如小世界性质.无 ...

  7. 运用Jaccard Coefficient进行链路预测

    Jaccard系数是一种用于比较两个集合相似度的度量方法.它可以用来评估两个链接之间的相似性,从而用于链接预测. 计算Jaccard系数的公式为: J(A,B) = |A ∩ B| / |A ∪ B| ...

  8. 【论文翻译】基于分层关注和时间RNN的动态异构网络链路预测建模

    基于分层关注和时间RNN的动态异构网络链路预测建模 摘要 网络嵌入的目的是在获取网络结构信息的同时学习节点的低维表示.它在链路预测.节点分类等网络分析任务中取得了巨大的成功.现有的网络嵌入算法大多集中 ...

  9. 从信息传播角度来看链路预测

    标题 利用动态网络中的信息扩散过程来评估链路预测 文献 Vega-Oliveros, D. A., Zhao, L., & Berton, L. (2019). Evaluating link ...

最新文章

  1. 如何撰写将赢得客户青睐的自由职业者提案和免费模板
  2. 绝对简单,就是将我自己的工作量估算乘2!!!
  3. android 随机布尔值,在 Android 的某些机型,v1.2.2 v1.2.1 加密会导致 boolean 类型的值丢失的问题...
  4. [随记][asp.net基础]Page_Load和OnLoad
  5. 2个html文件顺序播放,CSS3两个动画顺序衔接播放
  6. php 两位小数包含0,PHP保留两位小数 - osc_8dm0sbbd的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. php socket 小程序,实例详解微信小程序如何使用Socket
  8. 先有电脑然后才有手机,为什么当时手机不叫“手脑”呢?
  9. 两行命令实现 ubuntu 上自动更新 Vscode
  10. AD20元件重叠绿色报错的解决方法,距离太近绿色报错
  11. YDOOK:Maxwell 电磁场仿真 最新版的 Maxwell 软件 使用什么软件进行电磁场仿真
  12. 大家一起学电脑之硬件版
  13. 与锤子手机HR的对话——创业没有联合创始人,CTO 等高管会把它当做自己的事业吗?...
  14. HTTP协议和web服务技术---Apche配置
  15. 软件测试的艺术_读书笔记(一)
  16. SDL入门教程(七):SDL抠色(Color Keying)
  17. oracle 存储过程中使用select 列 into 变量
  18. 手机APP开发之MIT Appinventor详细实战教程(九),工具箱的设计和MIT的基础知识讲解
  19. Python第五周作业
  20. 我的开源项目,趣享GIF源代码已正式公开

热门文章

  1. java for loop_Java for循环执行了两次
  2. node mysql limit_node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连接数的关系是什么?...
  3. 直播预告 | TCCI追问研讨会第二期:双向脑机接口如何实现?
  4. 今日arXiv精选 | 13 篇 ICCV 2021 最新论文
  5. 研发大佬组团带玩生成对抗网络(GAN),B站直播教学
  6. 上有硬核理论下能操刀AI落地,这里走出来的人都有“开挂人生”
  7. 商汤 AI TECH DAY丨见大咖、拿OFFER、体验AI,一次就够!
  8. 图像压缩哪家强?请看这份超详细对比
  9. CentOS系统中使用yum快速安装python3
  10. 【代码托管】如何使用Git工具托管本地代码到GitHub(也许是最简单易懂的图文教程)【含 Git+第三方工具TortoiseGit+中文语言包 百度云盘资源】