链路预测算法的评价指标

衡量链路预测算法的精确度的指标有三种:AUC、Precision、Ranking Score。

定义(G, V, E)为一个无向网络,其中V为节点集合,E为边的集合。网络中总的节点数为N,边数为M,则该网络中不考虑相连关系的话共有N(N-1)/2个节点对,即全集U。
将网络中已知的连边E分为训练集ET和测试集EP两部分,EP是在E的范围内随机选取的连边,并将选取后的Ep从E中删掉变成ET。此时ET∪EP=EET∩EP= ∅ \emptyset 。网络中还有E中不包含的连边的集合(两个节点之间没有边),我们将此集合定义为不存在的边。

一、AUC

一个算法经过训练得到网络中每一对节点之间的相似值,AUC指标就是比较测试集中的边的相似值和不存在的边的相似值的大小。
在这里插入图片描述

若Sim测试 > Sim不存在,则数值的分子加1(此时证明预测效果良好);

若 Sim测试 = Sim不存在 ,则数值的分子加0.5(此时相当于随机选择);

若Sim测试 < Sim不存在,则数值的分子加0。
(Sim表示相似值)
数值的分母是测试集中的边的相似值与不存在的边的相似值比较的次数。比如测试集中2条边,不存在中3条边,那么比较次数就是6次。
AUC指标即为数值分子与数值分母的比值,AUC大于0.5的程度衡量了算法在多大程度上优于随机选择的算法。

注:

  1. 链路预测只能预测边,不能预测节点。
  2. 更多AUC的内容,请参考:https://blog.csdn.net/Queen0911/article/details/109693384

二、Precision

Precision只考虑前L位的边是否预测准确。链路预测算法经过训练后会得到节点对之间的相似值,去除训练集ET中的边,仅将测试集EP和不存在的边集合中的边的相似值进行排序,排序后取前L个。假设L个中有N个属于测试集,那么Precision值为N/L
L的值如何设定,这是一个好问题!阅读其他论文,有的研究者选择了L=50,100,150,200,250都计算一遍,然后画了个折线图,不论L等于多少,你提出的算法的精确度比其它算法好就行。

三、Ranking Score

Ranking Score只考虑所测试的边的排序。令H = U-ET为未知边的集合(即测试集中的边和不存在的边的集合构成的集合), γ \gamma γi 表示未知边 i∈EP 在排序中的排名,则该条未知边的Ranking Score(RS)值为:
在这里插入图片描述

|H|为H中的元素个数。遍历所有在测试集中的边,得到算法的RS值为:
在这里插入图片描述

注:
1、AUC是最常用的,它从整体上衡量算法;精确度只考虑前多少位是否预测正确。
2、在AUC基本相同的情况下,可以再以Precision作为标准衡量算法精确度。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值