Precision@K Recall@K MRR(平均倒数排名) nDCG(归一化折损累计增益 )四个指标

这四个指标都是衡量“信息检索系统好不好”的关键评估方式,尤其在 Dense Retriever 这种语义检索里常用。


① Precision@K —— 精准率@K(前 K 个里有几个是对的)

定义:在检索返回的前 K 个结果中,有多少是相关的?

举个例子:

用户问题:“孕妇可以吃头孢吗?”
我们返回前 5 个结果(K=5):

排名文档内容是否相关
1“头孢属于孕期常用抗生素之一”✅ 是
2“退烧药的分类”❌ 否
3“孕妇应在医生指导下用药”✅ 是
4“头孢拉定的说明书”✅ 是
5“关于维生素的摄入量”❌ 否

有 3 个是对的。

Precision@5 = 3 / 5 = 0.6


② Recall@K —— 召回率@K(应该找的都找到了几个)

定义:在所有应该被找出来的相关文档中,我们成功找到了多少个?

举个例子:

真实相关文档总共有 4 个:doc1、doc3、doc4、doc6
我们只在前 5 个返回结果里找到了 3 个(doc1, doc3, doc4)

Recall@5 = 3 / 4 = 0.75

Precision 看“找出来的对几个”,Recall 看“对的找到了几个”。


③ MRR —— Mean Reciprocal Rank 平均倒数排名

定义:每个查询的“第一个相关结果”排在第几位?越靠前越好,然后取倒数平均。

举个例子:

我们有两个用户查询:

  • Q1:我们第一个相关结果排在第 2 位 → Reciprocal rank = 1/2
  • Q2:我们第一个相关结果排在第 1 位 → Reciprocal rank = 1/1

MRR = (1/2 + 1/1) / 2 = 0.75

MRR 越高表示模型越擅长把“最相关的”放在最前面。


④ nDCG@K —— 归一化折损累计增益(考虑排序权重的评分)

定义:考虑排序越靠前越重要。越早看到相关文档越好。

  • 第1位相关 → 得分高
  • 第3位才相关 → 得分低一些(因为你要翻更久才看到)

举个例子(nDCG@3):

我们返回了前 3 个结果:

  • 第1位:相关(gain=3)
  • 第2位:无关(gain=0)
  • 第3位:相关(gain=2)

我们先计算 DCG(折损累计增益):

DCG = 3 / log2(1+1) + 0 + 2 / log2(3+1)
    = 3 / 1 + 2 / 2 = 3 + 1 = 4

再计算理想的 DCG(把最相关排在最前面):

IDCG = 3 / log2(1+1) + 2 / log2(2+1)
     = 3 + 2 / 1.5849 ≈ 3 + 1.26 ≈ 4.26

最后:

nDCG@3 = DCG / IDCG ≈ 4 / 4.26 ≈ 0.939

nDCG 越接近 1,表示模型排序越理想。


✅ 总结对比表

指标衡量什么举例说明
Precision@K前 K 个结果中正确率前5个结果中有3个是对的 → 0.6
Recall@K所有该找出的找到了几个应找4个,找到了3个 → 0.75
MRR第一个对的排在第几第1个在第2位 → 1/2 = 0.5
nDCG排名整体质量,越靠前越好第1个对的得高分,第3个得低分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值