MRR
MRR的全称是Mean Reciprocal Ranking,其中Reciprocal是指“倒数的”的意思。具体的计算方法如下:
其中S是三元组集合,i 是三元组集合个数,rank_i 是指第i个三元组的链接预测排名。
该指标越大越好。
我的理解:
对于每个 testing triple,以预测tail entity为例,我们将(h,r,t)中的t用知识图谱中的每个实体来代替,然后通过fr(h,t)【1】函数来计算分数,这样我们可以得到一系列的分数,之后按照降序将这些分数排列。
例如,对于三元组(Jack,born_in,Italy),链接预测的结果可能是:
【1】例如:transE的fr(h,t)为:
我们需要知道的是,d越小,说明两者关系越接近,分数也越高,所以f函数值是越大越好,那么在上个排列中,排的越前越好。
现在重点来了,我们去看每个 testing triple中正确答案,也就是真实的t到底能在上述序列中排多少位,比如说t1排100,t2排200,t3排60…,(上边的例子里这一条三元组t1排第二名)之后对这些排名求倒数再求平均,MRR就得到了。
MR
Mean rank 具体计算方式如下:
上述公式涉及的符号和MRR计算公式中涉及的符号一样。该指标越小越好。
我的理解:
对于每个 testing triple,以预测tail entity为例,我们将(h,r,t)中的t用知识图谱中的每个实体来代替,然后通过fr(h,t)函数来计算分数,这样我们可以得到一系列的分数,之后按照升序将这些分数排列。
Hit@n
该指标是指在链接预测中排名小于n的三元组的平均占比。具体的计算方法如下:
我的理解:
比如hit@10
还是按照上述进行f函数值排列,然后去看每个testing triple正确答案是否排在序列的前十,如果在的话就计数+1
最终 排在前十的个数/总个数 就是Hit@10
该指标越大越好
注意
MRR和HITS@10是两个重要指标,不可缺少。MR则不被认为是一个好的指标。