learning to rank评价指标

文章目录

  • 1 准确率Mean average precision
    • 1.1 定义
    • 1.2 计算
  • 2 NDCG(Normalized Discounted Cumulative Gain)
    • 2.1定义
    • 2.2 例子

1 准确率Mean average precision

1.1 定义

Precision at position k (P@k)是一个衡量排名前k位的方法,使用两个级别(相关的和不相关)的相关性判断。公式:
P@k=1k∑j=1krjP@k=\dfrac{1}{k}\sum^{k}_{j=1}r^jP@k=k1j=1krj
k是一个截断位置
rj=1r_j=1rj=1,如果第j个位置的文档是相关的。
rj=0r_j=0rj=0,否则。

平均准确率 average precision

AP=1∣D+∣∑j=1NrjP@jAP = \dfrac{1}{|D_+|}\sum^{N}_{j=1}r_j P@jAP=D+1j=1NrjP@j

∣D+∣|D_+|D+是关于查询的相关文档的数量,也可以认为相当于相当查询的标准答案的相关文档数量。
j是排序后的文档结果。
一般来说会有很多个query参与到训练集中。所以要取平均值: Mean average precision。
这个评价指标是基于二维的:相关、不相关。

1.2 计算

举个例子,现有一个query,与之相关的文档有4——D1,D2,D3,D4,用rank方法检索后,D2,D3,D4的排序分别是1,3,5,D1没有搜索到。也就是说rank后的结果:D2,D5,D3,D6,D4。D5,D6是不相关文档。
那么AP = 14\dfrac{1}{4}41(P@1+P@3+P@5)
P@1=11=1P@1=\dfrac{1}{1}=1P@1=11=1

P@3=23P@3=\dfrac{2}{3}P@3=32,k=3,从1到3,相关文档有2个。

P@5=35P@5=\dfrac{3}{5}P@5=53,k=5,从1到5,相关文档有3个。

那么AP = (1/1 + 2/3 + 3/5)/ 4=0.57

2 NDCG(Normalized Discounted Cumulative Gain)

2.1定义

NDCG(Normalized Discounted Cumulative Gain) 归一化折损累计增益。

NDCG@k=DCG@kIDCG@kNDCG@k=\dfrac{DCG@k}{IDCG@k}NDCG@k=IDCG@kDCG@k

DCG@K=∑j=1kg(rj)d(j)DCG@K=\sum^k_{j=1}g(r_j)d(j)DCG@K=j=1kg(rj)d(j), g(rj)=2rj−1g(r_j)=2^{r_j}-1g(rj)=2rj1,
d(j)=1,2d(j)=1,2d(j)=1,2,j=1,2
d(j)=1log2(j)d(j)=\dfrac{1}{log_2(j)}d(j)=log2(j)1,其他情况
也有一种写法是:DCG@K=∑j=1k2rj−1log2(j+1)DCG@K=\sum^k_{j=1}\dfrac{2^{r_j}-1}{log_2(j+1)}DCG@K=j=1klog2(j+1)2rj1

这个计算公式可以针对多种分类级别。例如rj=3,2,1,0r_j=3,2,1,0rj=3,2,1,0。而且是包含了位置影响因素。相关性高的,排在前面会使得整体NDCG分值变大。

IDCG@k为理想情况下最大的DCG值:
IDCG@k=∑j=1k2ideali−1log2(j+1)IDCG@k=\sum^{k}_{j=1}\dfrac{2^{ideal_i}-1}{log_2(j+1)}IDCG@k=j=1klog2(j+1)2ideali1

2.2 例子

假设对于某一个query,本次搜索召回5个文档,其关联分数分别为 3、2、3、0、1、2。

j2rj−12^{r_j}-12rj1log2(j+1)log_2(j+1)log2(j+1)res
1313
221.581.26
3321.5
402.320
512.580.38
622.80.71

所以 DCG = 3+1.26+1.5+0+0.38+0.71 = 6.86

接下来计算IDCG。假设这个query的相关文档有6个,相关性分数为:3、3、3、2、2、1。

jg(rj)g(r_j)g(rj)d(j)res
1313
231.581.89
3321.5
422.320.86
522.580.77
612.80.35

所以IDCG = 3+1.89+1.5+0.86+0.77+0.35 = 8.37
最终 NDCG@6 = 6.86/8.37 = 81.96%

参考链接:https://www.cnblogs.com/by-dream/p/9403984.html https://blog.csdn.net/zimohuakai/article/details/6847453
《LETOR: A benchmark collection for research on learning to rank for information retrieval》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Re: 社团改革还让不让人活了?

好,说到换位思考,说到服务, 我说一个学校应该给我们社团(跑步爱好者协会)做的一项最基本的服务── 体检! 马拉松年年报名年年体检,但是校医院从来就没有肯为我们做过体检。 马拉松的体检并不复…

spring mvc学习(55):简单异常处理二

引入jar包 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

深入学习linux socket编程之select

很多天之前都说学习关于select和poll的知识了&#xff0c;但是由于既要工作&#xff0c;又要准备论文。都忙不过来&#xff0c;今天终于能抽出一天的时间把select的相关知识和程序给实现了一遍。 select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化…

Jelinek-Merer与Absolute discounting 平滑方法

Jelinek-Merer Jelinek-Merer平滑方法的基本思想是利用低元n-gram模型对高元n-gram模型进行线性插值。 PML(wi∣wi−1)c(wi,wi−1)c(wi−1)P_{ML}(w_i|w_{i-1})\dfrac{c(w_i,w_{i-1})}{c(w_{i-1})}PML​(wi​∣wi−1​)c(wi−1​)c(wi​,wi−1​)​ c(wi,wi−1)c(w_i,w_{i-1}…

超级实用且不花哨的js代码大全

****************************************************************&#xff08;一&#xff09;常用元素&#xff0c;对象&#xff0c;事件&#xff0c;技巧事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcEl…

phpMyAdmin 配置

下载&#xff1a;http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.2/phpMyAdmin-4.0.2-all-languages.tar.bz2?rhttp%3A%2F%2Fsourceforge.net%2Fprojects%2Fphpmyadmin%2F&ts1370058054&use_mirrorncu 输入用户名和密码后点击“执行”&#xff…

三种平滑方法

为了理解《LETOR: A benchmark collection for research on learning to rank for information retrieval》中提出的数据特征中的三个&#xff1a;LMIR.ABS、LMIR.DIR、LMIR.JM的计算方法&#xff0c;我查阅了很多资料。前面一篇博客是理解。这一篇也是。这篇博客的内容来自《A…

控制台读写

program Project1;{$APPTYPE CONSOLE}varstr: string; beginWriteln(请输入&#xff1a;);Readln(str);Writeln(你输入的是&#xff1a; str);Readln; end.转载于:https://www.cnblogs.com/del/archive/2007/11/21/967013.html

基于Chromium构建Chrome WebBrowser for .net 控件(还有点心得体会)

http://blog.csdn.net/lllllllllluoyi/article/details/8540054 首先向360说句sorry&#xff0c;在2011年360极速浏览器出现的时候我去他们论坛里骂过。为什么要到歉呢&#xff0c;因为2012年我把我们公司使用IE WebBrowser改为Chrome控件了&#xff0c;中间遇到的辛酸使我明白…

我们“老实”么?

我们“老实”么&#xff1f; 不知道现在的人&#xff0c;对老实这个词语是怎样的看法。“聪明”的人应该觉得那是个贬义词吧&#xff0c;因为他们总是在利用那些他们认为的“老实”人&#xff0c;有好事的时候他们想到的是那些他们畏惧或者讨好自己的人&#xff0c;有麻烦的时候…

从决策树到xgboost(一)

文章目录1 决策树1.1决策树定义1.2信息增益1.3 信息增益的算法1.4 信息增益比2 决策树ID32.1 ID3树的构建2.2 决策树的剪枝2.2.1 损失函数定义与计算2.2.2 剪枝过程2.3 CART树2.3.1 CART回归树2.3.2 CART分类树2.3.3 CART树剪枝1 决策树 1.1决策树定义 决策树的基本组成&…

网络媒体的赢利模式

首先我们先确定几个概念&#xff0c;网络媒体本质上是媒体的一种&#xff0c;它具有媒体的一切共性&#xff0c;同时它的经营也具有媒体经营的一切共性&#xff0c;而媒体除网络媒体以外&#xff0c;我们把其余的统称为传统媒体&#xff0c;其中又把电视、电台和报刊称之为传统…

从决策树到xgboost(二)

文章目录3 集成学习4 Adaboost4.1 Adaboost算法4.1.1 初始化训练数据的起始权值分布4.1.2 对m个弱分类器m1,2,3...M4.1.3 构建弱分类器的线性组合4.1.4 得到最终的分类器5 Boosting5.1 加法模型5.2 前向分布算法6 提升决策树BDT6.1 BDT算法6.2 回归问题提升树7 梯度提升决策树G…

[伤了昨天的心 裂成碎片和沙一起飞]五香里脊

今晨3点挂的电话&#xff0c;6点睁开的眼。困到头痛&#xff0c;但还是烧了道肉菜。…**…**…**…**…**…**…**…*分隔 五香里脊*…**…**…**…**…**…**…**…五香里脊 材料&#xff1a;1&#xff0e;里脊肉、油、麻油。2&#xff0e;蒜末、辣椒末、水、生抽、老醋、糖、…

python 字符串format使用

python字符串的格式化输出 格式化字符串是程序设计语言中用于指定输出参数的格式化与相对位置的字符串参数。其中的转换说明用于把随后的对应一个或多个函数参数转换为相应的格式输出&#xff1a;格式化字符串中转换说明以外的其他字符原样输出。 1>>>"I like %s…

MOTOMAN-SV3X运动学建模验证图

以下是正解&#xff0c;逆解 结果 转载于:https://www.cnblogs.com/wqj1212/archive/2008/01/01/1022177.html

极客时间算法练习题总结

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 在极客时间《数据结构和算法之美》最后&#xff0c;王争老师加餐了7天训练内容&#xff0c;对每一部分需要掌握的数据结构与算法做了总结。现在我把这些题目放在一起&…

小程序·云开发实战 - 迷你微博

0. 前言 本文将手把手教你如何写出迷你版微博的一行行代码&#xff0c;迷你版微博包含以下功能&#xff1a; Feed 流&#xff1a;关注动态、所有动态发送图文动态搜索用户关注系统点赞动态个人主页使用到的云开发能力&#xff1a; 云数据库云存储云函数云调用没错&#xff0c;几…

看看自己08年的基金是否能赚钱

你的机器人已通过审核&#xff0c; 机器人名称&#xff1a;天才小猪仔-基金定投 机器人帐号&#xff1a;sharetop.cnhotmail.com 机器人地址&#xff1a; http://contest.xiaoi.com/listRobot.do?actionshowDetail&id61 欢迎进入 http://contest.xiaoi.com 为你的机器人…

spring mvc学习(60):ssm项目整合

SSM整合 建立springmvc项目&#xff0c;先跑起来&#xff0c;再整合spring和mybatis 一.SpringMVC建立 1.新建maven工程&#xff0c;安装tomcat 2.导入pom <!-- springmvc --><dependency><groupId>org.springframework</groupId><artifactId>…