知识图谱论文中模型指标MRR,MR,HITS@1,HITS@3,HITS@10的含义

知识图谱论文中模型指标MRR,MR,HITS@1,HITS@3,HITS@10的含义

本文将介绍用于衡量知识图谱嵌入(Knowledge Graph Embedding,KGE)模型性能中最常用的几个指标:MRR,MR,HITS@1,HITS@3,HITS@10。

一、MRR

MRR的全称是Mean Reciprocal Ranking(排名的倒数),其中Reciprocal是指“倒数的”的意思。具体的计算方法如下:

其中S是三元组集合,|S|是三元组集合个数,rank_i是指第i个三元组的链接预测排名。该指标越大越好。例如,对于三元组(Jack,born_in,Italy),链接预测的结果可能是

s        p         o            score   rank
Jack   born_in   Ireland        0.789      1
Jack   born_in   Italy          0.753      2  *
Jack   born_in   Germany        0.695      3
Jack   born_in   China          0.456      4
Jac
### 关于MRMRRHits@N 的定义及计算方法 #### 平均排名 (Mean Rank, MR) 平均排名是一种用于衡量链接预测任务性能的评估指标。它通过计算测试集中所有样本的预测排名的平均值来反映模型的整体表现。具体来说,对于每一个三元组 \((h, r, t)\),模型会为其分配一个预测分数,并基于此分数对其进行排序。如果目标实体 \(t\) 被正确预测,则其对应的排名会被记录下来。最终,所有这些排名的平均值即为 MR。 \[ MR = \frac{1}{|T|} \sum_{(h,r,t) \in T} rank(h, r, t)[^1] \] 这里,\(rank(h, r, t)\) 表示针对特定头实体 \(h\) 和关系 \(r\) 正确尾实体 \(t\) 的预测排名,而 \(T\) 是测试集中的所有三元组集合。 尽管简单直观,但 MR 对异常值非常敏感——即使只有一个错误预测具有极低的概率也会显著拉高整体评分[^2]。 --- #### 倒数平均排名 (Mean Reciprocal Rank, MRR) 为了缓解 MR 受极端情况影响较大的问题,引入了倒数平均排名这一替代方案。该度量方式不仅考虑到了每个实例的具体位置信息,还赋予较高优先级给那些接近首位的结果。因此,在实际应用当中往往能够提供更为稳健可靠的评判依据: \[ MRR = \frac{1}{|T|} \sum_{(h,r,t) \in T} \frac{1}{rank(h, r, t)}[^3] \] 相比起单纯依赖绝对位次的传统做法而言,采用这种方式可以更好地体现系统检索能力的真实水平;不过需要注意的是,由于涉及到分母运算的缘故,当某些条目完全未能匹配成功时可能会导致数值趋于无穷大或者零的情况发生。 --- #### 击中率 @ N (Hits@N) 击中率是一个二分类性质的统计量,用来判断在前 N 个推荐项里是否存在至少一次成功的预测。通常情况下我们会关注几个固定阈值下的表现如何变化趋势,比如 Top-10 或者 Top-50 等常见选项设置。形式化表达如下所示: \[ Hits@N = \frac{1}{|T|} |\{(h,r,t) \in T : rank(h, r, t) \leq N\}| \] 这意味着只要真实标签出现在指定范围之内就算作有效命中事件之一计入总数之中去累加起来形成比例估计值作为最终输出结果呈现出来供进一步分析比较之用。 ```python def calculate_metrics(ranks): mr = sum(ranks) / len(ranks) mrr = sum([1/rank for rank in ranks]) / len(ranks) hits_at_1 = sum([1 if rank <= 1 else 0 for rank in ranks]) / len(ranks) hits_at_3 = sum([1 if rank <= 3 else 0 for rank in ranks]) / len(ranks) hits_at_10 = sum([1 if rank <= 10 else 0 for rank in ranks]) / len(ranks) return {"mr": mr, "mrr": mrr, "hits@1": hits_at_1, "hits@3": hits_at_3, "hits@10": hits_at_10} ``` 上述代码片段展示了如何根据一组预测排名列表 `ranks` 来计算 MRMRRHits@N 这些重要评估指标的实际实现过程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值