美文网首页
Learning to Rank评价指标:MAP nDCG

Learning to Rank评价指标:MAP nDCG

作者: _龙雀 | 来源:发表于2019-06-21 12:17 被阅读0次

1. MAP

image.png
  • Precision(P):
    准确率(精确度)是指检索得到的文档中相关文档所占的比例,公式如下:
    precision=\frac{|\{relevant\ documents\} \cap \{retrieved\ documents\}|}{|\{retrieved\ documents\}|}
    prcision@10表示检索10个文档中包含相关所占的比例,即:|{retrieved documents}| = 10。

  • Recall(R):
    召回率是指所有相关文档中被检索到的比例,公式如下:
    recall=\frac{|\{relevant\ documents\} \cap\{retrieved\ documents\}|}{|\{relevant\ documents\}|}

  • Average precision(AP):
    由前面可知,准确率和召回率都只能衡量检索性能的一个方面,最理想的情况肯定是准确率和召回率都比较高。当我们想提高召回率的时候,肯定会影响准确率,所以可以把准确率看做是召回率的函数,即:P=f(R),也就是随着召回率从0到1,准确率的变化情况。那么就可以对函数P=f(R)在R上进行积分,可以求PP的期望均值。公式如下:
    AP=\int_0^1 P(r)dr =\sum_{k=1}^n P(k) \Delta(k) =\frac{\sum_{k=1}^n (P(k)\times rel(k))}{number\ of\ relevant\ documents}其中rel(k)rel(k)表示第k个文档是否相关,若相关则为1,否则为0,P(k)表示前k个文档的准确率。 AvePAveP的计算方式可以简单的认为是:
    AP =\frac{1}{R}\times\sum_{r=1}^R \frac{r}{position(r)}
    其中R表示相关文档的总个数,position(r)表示,结果列表从前往后看,第r个相关文档在列表中的位置。比如,有三个相关文档,位置分别为1、3、6,那么AP=\frac{1}{3}\times (\frac{1}{1}+\frac{2}{3}+\frac{3}{6})。在编程的时候需要注意,位置和第i个相关文档,都是从1开始的,不是从0开始的。
    AP意义是在召回率从0到1逐步提高的同时,对每个R位置上的P进行相加,也即要保证准确率比较高,才能使最后的AP比较大。

  • Mean average precision(MAP):
    通常会用多个查询语句来衡量检索系统的性能,所以应该对多个查询语句的AP求均值(the mean of average precision scores),即公式:
    MAP=\frac{\sum_{q=1}^Q AveP(q)}{Q}

2. nDCG

image.png

在MAP计算公式中,文档只有相关不相关两种,而在nDCG中,文档的相关度可以分多个等级进行打分。

  • Cumulative Gain(CG):
    表示前p个位置累计得到的效益,公式如下:
    CG_p=\sum_{i=1}^p rel_i
    其中rel_i表示第i个文档的相关度等级,如:2表示非常相关,1表示相关,0表示无关,-1表示垃圾文件。

  • Discounted cumulative gain(DCG):
    由于在CG_p的计算中对位置信息不敏感,比如检索到了三个文档相关度依次是{3,-1,1}和{-1,1,3},显然前面的排序更优,但是它们的CG相同,所以要引入对位置信息的度量计算,既要考虑文档的相关度等级,也要考虑它所在的位置信息。假设每个位置按照从小到大的排序,它们的价值依次递减,如:可以假设第i个位置的价值是\frac{1}{log_2(i+1)},那么排在第i个位置的文档所产生的效益就是rel_i \times\frac{1}{log_2 (i+1)}=\frac{rel_i}{log_2 (i+1)}。公式如下:
    DCG_p =\sum_{i=1}^p \frac{rel_i}{log_2 (i+1)}=rel_1 +\sum_{i=2}^p \frac{rel_i}{log_2 (i+1)}

另一种比较常用的,用来增加相关度影响比重的DCG计算方式是:
DCG_p =\sum_{i=1}^p \frac{2^{rel_i} -1}{log_2 (i+1)}

  • Ideal DCG(IDCG):
    IDCG是理想情况下的DCG,即对于一个查询语句和p来说,DCG的最大值。公式如下:
    IDCG_p =\sum_{i=1}^{|REL|} \frac{2^{rel_i} -1}{log_2 (i+1)}

其中|REL|表示,文档按照相关性从大到小的顺序排序,取前p个文档组成的集合。也就是按照最优的方式对文档进行排序。

  • Normalize DCG(nDCG):
    由于每个查询语句所能检索到的结果文档集合长度不一,p值的不同会对DCG的计算有较大的影响。所以不能对不同查询语句的DCG进行求平均,需要进行归一化处理。nDCG就是用IDCG进行归一化处理,表示当前DCG比IDCG还差多大的距离。公式如下:
    nDCG_p = \frac{DCG_p}{IDCG_p}
    这样每个查询语句的nDCG_p就是从0到1,不同查询语句之间就可以做比较,就可以求多个查询语句的平均nDCG_p
    NDCG@10、NDCG@20分别表示求p为10和20的时候的nDCG。

参考:

  1. https://blog.csdn.net/u010138758/article/details/69936041
  2. msra刘铁岩博士关于learning to rank的系统性tutorial

相关文章

  • Learning to Rank评价指标:MAP nDCG

    1. MAP Precision(P):准确率(精确度)是指检索得到的文档中相关文档所占的比例,公式如下:prc...

  • 知识点

    梯度消失原因 lstm为什么可以解决梯度消失 评价指标 auc ndcg mrr hr(hit rate) rnn...

  • 【search】概述搜索排序算法的评价指标MAP,NDCG,MR

    【原文地址已失效,故粘贴于此】 ByEletva,eletva.com 我们知道,每个算法都有其评估的手段,借此用...

  • 站内搜索评价体系和评价指标:NDCG

    背景介绍 在站内搜索的开发中,随着功能迭代逐渐完善,便需要开始考虑搜索召回质量的判断。在最开始的评价方式会比较简陋...

  • 临时缓存

    Learning to rank基本算法小结

  • learning to rank

    title:learning to rankdate:2014-09-12category:机器学习 历史阶段 O...

  • learning to rank

    pointwise将问题转化为多分类或回归问题。对item和item之间的相似度打标签,标签分为有限的类别(多分类...

  • CG-DCG-NDCG 排序系统评价指标

    NDCG:Normalized Discounted cumulative gain,归一化折损累计增益 高关联度...

  • 信息检索评价指标

    信息检索评价指标可以对一个检索系统的性能进行评价,在信息检索的研究领域中,有很多的排名质量评价指标。例如 MAP,...

  • suffice

    For English learner of high-rank, learning one word every...

网友评论

      本文标题:Learning to Rank评价指标:MAP nDCG

      本文链接:https://www.haomeiwen.com/subject/yehyqctx.html