首页 > 其他分享 >排序

排序

时间:2022-09-28 16:35:13浏览次数:43  
标签:DCG 主题 rank NDCG 排序 LambdaMART

Learning to rank指标介绍

  • MAP(Mean Average Precision):
    假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1, 2, 4, 7;对于主题2检索出3个相关网页,其rank分别为1,3,5。对于主题1,平均准确率为(1/1+2/2+3/4+4/7)/4=0.83。对于主题2,平均准确率为(1/1+2/3+3/5+0+0)/5=0.45。则MAP= (0.83+0.45)/2=0.64。

  • NDCG(Normalized Discounted Cumulative Gain):


NDCG把相关度分为r个等级,如果r=5,等级设定分别文2^5-1,2^4-1等等

那么加入现在有一个query为abc, 返回如下图所示的列表,假设用户选择和排序结果无关,则累积增益值如右列所示:


考虑到靠前的位置点击概率越大,那么靠下的位置需要加上衰减因子

log2/log(1+j),求和就可以得到DCG的值,最后为了使得不同不搜索结果可以比较,用DCG/MaxDCG就可以得到NDCG的值了。
MaxDCG就是当前情况下最佳排序的DCG值。如图所示MaxDCG就是1、3、4、5、2的排序情况下的DCG的值(rank 2的gain较低,应该排到后面)

NDCG值

  • MRR(Mean Reciprocal Rank)
    给定查询q,q在相关文档的位置是r,那么MRR(q)就是1/R

LambdaMART算法:

LambdaMART是Learning to rank其中的一个算法,在Yahoo! Learning to Rank Challenge比赛中夺冠队伍用的就是这个模型。

LambdaMART模型从名字上可以拆分成Lambda和MART两部分,训练模型采用的是MART也就是GBDT,lambda是MART求解使用的梯度,其物理含义是一个待排序文档下一次迭代应该排序的方向。

但Lambda最初并不是诞生于LambdaMART,而是在LambdaRank模型中被提出,而LambdaRank模型又是在RankNet模型的基础上改进而来。所以了解LambdaRank需要从RankNet开始说起。

标签:DCG,主题,rank,NDCG,排序,LambdaMART
From: https://www.cnblogs.com/qiaoqifa/p/16738574.html

相关文章

  • csp模拟13[排序,Xorum, 有趣的区间问题,无聊的卡牌问题]
    排序对于这个题,它真的很妙,我们可以先考虑一下(如果\(a\)是排列)暴力怎么打。考虑两个数,他们互为逆序对,如果交换它们两个,如何让影响降到最小?那就是在他俩交换之后,他......
  • 1、python 基础知识-文件编号排序及指定后缀名文件删除
    问题描述:需要对一些文件进行删除和存在一对一的文件保存(1)自动删除指定文件后缀名文件:importsyscurrDir=sys.path[0]importosdefremoveFile(dir,postfix):ifos.pat......
  • 498排序查询和499聚合函数
    排序查询语法:orderby子句orderby排序字段一,排序方式一,排序字段二,排序方式二SELECT*FROMstudentORDERBYMATHASC;SELECT*FROMstudentORDERBYMATHDES......
  • 选择排序
    以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列: 初始序列:{49276597761238}第1趟:12与49交换:12{276597764938}第2趟:27不动:12......
  • java算法学习——选择排序算法
    研究生生活开始后,充分认识到算法的重要性,开始重拾java算法——视频参照哔哩哔哩左神——https://www.bilibili.com/video/BV13g41157hK/?p=4&spm_id_from=333.880.my_hist......
  • 19. 排序和搜索功能
    1.前言NumPy提供了多种排序函数,这些排序函数可以实现不同的排序算法。排序算法特征主要体现在以下四个方面:执行速度,最坏情况下的复杂度,所需的工作空间以及算法的稳定性......
  • 深入剖析堆原理与堆排序
    堆的介绍完全二叉树:完全二叉树是满二叉树去除最后N个节点之后得到的树(\(N\geq0,N\inN^*\))大根堆:节点的父亲节点比自身节点大,比如根节点的值为\(8\),比其子节点\(7\)......
  • CSP-S模拟13排序 Xorum 有趣的区间问题 无聊的卡牌问题
    T1【构造+规律】:给你一个排列,要你求逆序对数量,把原序列的逆序对位置当成交换,进行任意排列使得最后序列升序。(n<=1000)一:排列的实质是id[i]=i的一一对应,问题互相转化会更简......
  • 单链表的递增排序
    voiesort(LinkList&L){LNode*p=L->next;LNode*pre;LNode*r=p->next;p->next=NULL;p=r;while(p!=NULL){r=p......
  • 排序查询
    排序查询语法orderby子句orderby排序字段1排序方式1--排序字段n排序方式n排序方式ASC:升序,默认的DESC:降序注意如果有多个排序条......