信息检索指标直接优化的通用近似框架

1、直接优化信息检索指标的背景 

1.1、存在问题

直接优化信息检索的指标是信息检索的一大方向。主要包含两类方法,一类是将IR指标作为上界进行优化;另一类是使用平滑函数近似表示IR指标进行优化。

  • 直接优化IR指标方式很自然,但没有提供理论支持。
  • 代理函数与IR指标之间的关系未充分得到论证,代理函数是否能够表述IR指标的度量在优化过程中很有必要。
  • 现有代理函数不容易优化,很难扩展到其他的指标。例如SVM^{map}SVM^{ndcg}采用结构化的SVM来优化ap和ndcg指标。

1.2、提出优化框架解决问题

提出了一个优化框架来直接优化IR指标,可以有效避免下列3个问题

  • 基于统计学的一致性理论,在大量数据情况下,IR指标有界代理函数不是很复杂时,直接优化IR指标有较好的表现。基于泛化理论,进一步论证了直接优化IR指标的效果。
  • 提出的框架可以准确近似地表示任何基于位置的IR指标,并将IR的优化转换为代理函数的优化。直接优化IR 度量指标的难点在于,度量是基于位置的,基于位置的指标不连续也不可微。如果可以连续可微地表示基于位置的度量,则可以优化任何基于位置的度量指标。实验表明,高精度近似表示,高效率。
  • 很容易导出学习算法来优化框架中的代理函数

1.3、主要贡献

  • 为直接优化IR 指标提供了理论依据
  • 提供了一个基于位置的IR指标度量框架
  • 给出了ap和ndcg两个指标优化的示例

2、相关工作

2.1、常见IR 指标

2.1.1、p@k

top k个doc中相关doc的比例

2.1.2、ap

两级相关性判断的标准,位置平均的p@k

2.1.3、map

所有query的ap均值

2.1.4、NDCG@k

NDCG@k是多级相关性评估标准的IR评估指标

2.2、直接优化IR指标的常见方法

SVM^{map}直接优化1-ap的上界

SVM^{ndcg} 直接优化1-ndcg的上界

AdaRank设定为指数函数,该函数可以设定为1-ap、1-ndcg的上界

SoftRank将随机性引入相关性分数来平滑ndcg指标

3、理论论证

3.1、效果度量

M(f,q)为针对指标M的预期度量(测试度量),M_{m}(f,q)为针对指标M的经验度量(训练度量),具体公式表示如下:

3.2、两个理论

3.2.1、理论1:一致性理论

如果排序函数空间F不复杂,并且IR度量M(q, f) 在函数空间 F 上一致有界,则训练
学习排序算法的效率M(f)一致收敛于测试效率M(f)。

对ndcg、map、p@k其范围为[0,1]之间,IR度量M(q, f)在函数空间上是一致有界的

3.2.2、理论2:泛化性理论

测试效率和最佳测试效率有上界,表述如下:

当query量足够大时,直接优化排序指标是最佳的优化方式

3.3、remarks

像DCG无界的指标,不满足理论1的一致有界条件,代理函数不能保证取得较好的效果。

两个理论只在大样本条件下成立

代理函数和IR指标的关系没有论证,无法保证直接优化的方式优于其他方式 

4、IR指标代理框架

4.1、重要4步

  • 1、重新定义IR指标,将IR指标按照依据位置索引的变更为依据doc索引。新定义的公式中包含位置函数和可选的截断函数,其中位置函数和截断函数不可导。
  • 2、用rank score的平滑函数来近似位置函数
  • 3、用位置平滑函数近似截断函数
  • 4、应用优化技术来优化近似指标(代理函数)

4.2、IR指标定义

X为q的一系列doc,x为X中的一个,f为x的排序打分函数,x的分数记为s_{x},其表述如下:

 s_{x}=f(x,\theta ),x\in X

根据s_{x}可以得到一个排序\pi (x),根据label会有一个原始的相关度排序r(x),\pi (x)和r(x)之间可以通过IR指标进行度量,公式化表示如下:

I(A)=\left\{\begin{matrix} 1 & if A is true\\ 0& otherwise \end{matrix}\right.

4.3、IR指标重新定义

4.3.1、ap指标重定义

4.3.2、ndcg指标重定义 

重定义中的位置函数和截断函数均不可导

4.4、位置近似函数

4.4.1、排序分位置表示

位置可视为排序分的产出,位置和截断函数均不连续可导

4.4.2、平滑函数替代位置表示

用逻辑回归函数表示指示函数I(s_{x,y}<0)

sigmiod函数预测为0的部分

逻辑函数是sigmoid函数的特例,其他的sigmiod函数也满足要求

4.4.3、替换后的位置表示

用平滑函数替代后的位置表示

4.4.4、位置表示与近似位置表示对比

位置近似表示和真实表示几乎接近

4.5、截断函数近似

截断函数为两个分数的差值,可以将位置的差值直接进行sigmiod,引入截断函数表示后的ap指标表示如下所示:

4.6、代理函数优化

指标函数使其变得连续可微,简单的优化方法就能直接进行优化,使其最大。

5、理论分析

5.1、位置近似理论分析

正值最小差距表示

理论3:给定一个包含n个doc集的X,当\alpha>0时,近似位置表示可以以如下精度接近真实位置表示

\delta _{x}\alpha很大时,位置表示和近似位置表示接近

理论3证明

理论4:给定一个包含n个doc集的X,当\alpha >0时,近似位置表示接近真实位置表示的精度在如下区间中

5.2、度量近似理论分析

理论5:误差\varepsilon <0.5时,近似ap度量和真实ap度量精度上界如下:

理论6:ndcg度量的精度上界如下所示:

5.3、精度近似的理由

直接指标优化表现良好,近似指标精度高,能达到同等的效果。

理论7:近似度量在测试集上的表现和最优表现有上界

6、实验结论

6.1、数据集

采用LETOR5数据集来进行实验结果验证,LETOR上的TD2003 (50个query,每个对应1000个doc)和 TD2004(75个query,每个对应1000个doc,2个相关性等级(相关/不相关),44维query-doc对特征表示)去测试ApproxAP算法。LETOR上的OHSUMED(106个query,16,140个query-doc pair样本,3个相关性档位(完全相关、部分相关、不相关),25维特征表示)被用来去测试ApproxNDCG算法。

6.2、IR指标近似度量

IR指标近似和真实IR指标之间的差距,AP、NDCG指标之间差距公式表示

固定超参\beta=10,ap error随\alpha超参变化的曲线图

\alpha=100时,近似IR指标估计和真实指标估计准确率高达98%

固定超参\alpha=100,ap error随\beta超参变化的曲线图

ndcg度量精度和精度随超参变化的曲线

ndcg和ap能得出一样的结论

6.3、approxNDCG和approxAP的实验对比

6.3.1、approxAP指标

approxAP和AdaRank.MAP、SVMmap结果对比,AdaRank.MAP从论文中引用,SVMmap结果为论文作者提供参数跑出

6.3.2、approxNDCG指标

NDCG@n指标在SoftRank、 AdaRank.NDCG 、 ApproxNDCG中的表现分别为0.6680, 0.6589 、 0.6698。

不同位置的表现,3种算法随位置的变化曲线如下:

6.4、讨论

选择哪个指标更加合适?

论文中给出,只有两个相关性等级时,使用MAP指标比较合适;当有多个相关性档位时,选择NDCG指标比较合适。

在训练时,就M指标,直接优化M指标是否比直接优化M'指标更好?

如果指标M'包含了M,优化M'可能比优化M更好

在TD2003数据集上approxAP和approxNDCG表现相当,在TD2004数据集上approxAP较approxNDCG表现好。直接优化M指标是否比直接优化M'指标无法定论,还有待调研论证。

7、总结

此paper为直接优化IR指标提供了理论依据;在一定条件下,直接优化IR指标是合理的;直接优化指标可能是排序学习最优的方法之一。

提出了基于位置IR指标直接优化的整体框架,核心思想在于使用排序分近似表述IR指标。主要有3个优点,1)近似估计法简单通用;2) 许多现有技术可以直接用于优化,且优化本身是与测量无关的;3)设置合理的参数可以获得较高的近似逼近。以ap和ndcg为例,展示了如何优化框架,在公开数据集上验证了理论分析的正确性和有效性。

8、参考文献

https://arxiv.org/pdf/2102.07831.pdf   NeuralNDCG

排序学习-4.ApproxNDCG与NeuralNDCG - 知乎

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2008-164.pdf ApproxNDCG

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

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

相关文章

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob

版本&#xff1a; Unity&#xff1a;2019.4.35f1gradle plugin: 4.2.0 &#xff08;实际要7.0 对应build_tools:34.0.0) gradle: 6.7.1 &#xff08;实际要7.0 对应build_tools:34.0.0) jdk: 1.8.0_241build_tools: 34.0.0 ndk: android-ndk-r19 文档&#xff1a; 6.0.1(Andro…

基于springboot+Web实现社区医院管理服务系统项目【项目源码+论文说明】计算机毕业设计

基于springbootWeb实现社区医院管理服务系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括社区医院管理服务系统的网络应用&#xff0c;在外国线上管理系统已经是很普遍的方式&#xff0c;不过国内的管理系统可…

Redis分片集群

文章目录 Redis分片集群搭建分片集群散列插槽插槽原理小结 集群伸缩需求分析创建新的redis实例添加新节点到redis转移插槽 故障转移自动故障转移手动故障转移 RedisTemplate访问分片集群 Redis分片集群 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两…

KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网

目录 一、简介 2.1 芯片的硬件 2.2 测试的方法 一、简介 KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网 在线下载的mp3语音芯片ic&#xff0c;通过KT404A的uart直接更换内部的语音文件&#xff0c;从而实现动态的更新语音内容 物联网大潮的来袭。随着智能家居、…

3.2 CPU的自动化

CPU的自动化 改造1-使用2进制导线改造2根据整体流程开始改造指令分析指令MOV_A的开关2进制表格手动时钟gif自动时钟gif 根据之前的CPU内部结构改造,制造一个cpu控制单元 改造一 之前的CPU全由手动开关自己控制,极度繁琐,而开关能跟二进制一一对应, 开:1, 关:0图1是之前的, …

【网络】DNS协议、ICMP协议、NAT技术

DNS协议、ICMP协议、NAT技术 一、DNS协议1、产生背景2、域名简介3、域名解析的工作流程4、使用dig工具分析DNS过程 二、ICMP协议1、ICMP介绍2、ICMP协议格式3、ping命令4、traceroute命令 三、NAT技术1、NAT技术背景2、NAT IP转换过程3、地址转换表4、NAPT技术5、重新理解路由器…

2023年亚太杯数学建模A题——深度学习苹果图像识别(思路+模型+代码+成品)

Image Recognition for Fruit-Picking Robots 水果采摘机器人的图像识别功能 问题 1&#xff1a;计数苹果 根据附件 1 中提供的可收获苹果的图像数据集&#xff0c;提取图像特征&#xff0c;建立数学模型&#xff0c;计算每幅图像中的苹果数量&#xff0c;并绘制附件 1 中所有…

佳易王各行业收银管理系统软件,企业ERP管理软件,企业或个体定制开发软件以及软件教程资源下载总目录,持续更新,可关注收藏查阅

系统简介 1、佳易王软件功能实用、操作简单、软件绿色免安装&#xff0c;解压即可使用&#xff0c;软件已经内置数据库&#xff0c;不需再安装其他数据库文件。 2、佳易王软件&#xff0c;已经形成系列&#xff0c;上百款管理系统软件涵盖多个行业。 3、已为多个企业个体定制…

在 Go 中使用 Protocol Buffers

各位准备好了吗&#xff01;这一次&#xff0c;我们将深入探讨 Protocol Buffers&#xff08;protobuf&#xff09;及其在数据序列化中的超能力所在。 介绍 Protocol Buffers&#xff0c;也被称为 protobuf&#xff0c;是由谷歌开发的一种语言无关的二进制序列化格式。其主要…

MySQL日期函数sysdate()与now()的区别,获取当前时间,日期相关函数

select sleep(2) as datetime union all select sysdate() -- sysdate() 返回的时间是当前的系统时间&#xff0c;而 now() 返回的是当前的会话时间。 union all select now() -- 等价于 localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,curre…

PyTorch-ReID重识别算法库与数据集资料汇总

Torchreid 是一个用于深度学习人员重新识别的库&#xff0c;用 PyTorch 编写&#xff0c;为我们的 ICCV’19 项目 Omni-Scale Feature Learning for Person Re-Identification 开发。 PyTorch-ReID的特点是 多GPU训练支持图像和视频 REID端到端培训和评估极其轻松地准备 Rei…

图书管理系统源码,图书管理系统开发,图书借阅系统源码三框架设计原理和说明

TuShuManger项目简介和创建 这里一共设计了6个项目,主要是借助三层架构思想分别设计了主要的三层,包括model实体层,Dal数据库操作层,Bll业务调用层,其他有公共使用项目common层,DButitly提取出来的数据库访问层,下面我们分别创建每个项目和开始搭建整个过程 TuShuManger…

nodejs+vue+python+PHP+微信小程序-书吧租阅管理系统的设计与实现-安卓-计算机毕业设计

在当今高度发达的信息中&#xff0c;信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展&#xff0c;信息时代日益更新&#xff0c;书吧租阅管理系统仍在蓬勃发展。同时&#xff0c;随着信息社会的快速发展&#xff0c;各种管理系统面临着越来越多的数据需…

柑橘病害数据集(四类图像分类,没有打yolo标签)

1.文件夹分为训练集和测试集 在这个数据集中&#xff0c;有一类是新鲜柑橘&#xff0c;还有另外三种疾病&#xff0c;溃疡病、黑斑病和绿化病。 2.train文件夹 2.1.blackspot&#xff08;黑斑病&#xff09; 文件夹 206张照片 2.2.canker&#xff08;溃疡病&#xff09; 文…

STM32 配置中断常用库函数

单片机学习 目录 一、配置AFIO相关库函数 1.1函数GPIO_AFIODeInit 1.2函数GPIO_EventOutputConfig 1.3函数GPIO_EventOutputCmd 1.4函数GPIO_EXTILineConfig 二、配置EXTI相关库函数 2.1函数EXTI_DeInit 2.2函数EXTI_Init 2.3函数EXTI_StructInit 2.4函数 EXTI_Gener…

超越噪音,让音乐重获新生:iZotope RX 10音频降噪修复软件

在音乐制作或者音频处理的过程中&#xff0c;噪音往往是一个让人头痛的问题。无论是环境噪音&#xff0c;还是设备产生的噪音&#xff0c;都会对音频质量产生重大影响。而现在&#xff0c;我们有了iZotope RX 10&#xff0c;这款专业的音频降噪修复软件&#xff0c;可以将你从噪…

C# 使用NPOI操作Excel的工具类

写在前面 NPOI是POI项目的.NET迁移版本。POI是一个开源的Java 读写 Excel、Word 等微软Ole2组件文档的项目&#xff1b;使用NPOI可以在没有安装Office或者相应环境的机器上对Word或Excel文档进行读写操作。 NPOI类库中操作EXCEL有两个模块分别是&#xff1a; 1️.HSSF模块&a…

【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL

文章目录 前言前馈神经网络数据组织Dataset网络结构训练超参设置 RNN数据组织&Dataset网络结构训练超参设置 注意力网络数据组织&Dataset网络结构Attention部分完整模型 训练部分超参设置 结果与分析训练集Loss测试集PPL 前言 本次实验主要针对前馈神经网络&#xff0…

#define例题

我们已经学了#define的所有知识&#xff0c;让我们来看这道题&#xff0c;可不要又陷入陷阱 题目要求&#xff1a; #define N 4 #define Y(n) ((N2)*n) int main() {int z 2 * (N Y(5 1));printf("z%d\n", z);return 0; } 求这个z的值是多少&#xff1f; 我们直接…

机器学习算法——主成分分析(PCA)

目录 1. 主体思想2. 算法流程3. 代码实践 1. 主体思想 主成分分析&#xff08;Principal Component Analysis&#xff09;常用于实现数据降维&#xff0c;它通过线性变换将高维数据映射到低维空间&#xff0c;使得映射后的数据具有最大的方差。主成分可以理解成数据集中的特征…