Learning to Rank: From Pairwise Approach to Listwise Approach论文笔记

【ICML2007】Learning to Rank: From Pairwise Approach to Listwise Approach

原文链接

在这里插入图片描述


Abstract

学习排序多用于文件检索,collaborative filtering.以前学习排序的方法将object pairs作为instance,这里将ranking定为数据序列的预测任务,把list of objects当作instance,引入两个概率模型,排列概率和顶一概率,定义了列表损失函数进行学习。


intro

每个query对应一个score降序的最优排列(例如点击率),目标就是定义一个ranking function给document评分,达到近似的效果。

之前方法是用classification的思想解决的,从ranking list收集文档对,计算文档对的相关程度标签,进行分类。pairwise方法有以下优点:(1)现存有很多方法可以直接用(2)特定场景下pairwise feature很容易获得。

但也有以下缺点:(1)其学习的目标是最小化文档对的分类错误,而不是最小化文档排序的错误。学习目标和实际目标(MAE,NDCG)不符。(2)训练过程可能是极其耗时的,因为生成的文档对样本数量可能会非常多。(3)对于文档对iid的假设太过强。(4)生成的文档对由于query不同而不同,使结果更倾向对应更多文档对的query

本文解决方法:(1)提出listwise方法,在学习中把<query,document list>当作instance,与pointwise把<query,document>作为训练不考虑文档顺序关系,pairwise考虑了同一query的文档相关性排序不同.(2)用概率分布计算listwise损失,引入两个概率模型,排列概率和顶一概率,定义了列表损失函数进行学习。

probability models

Permutation Probability

对于每种排列都有其对应的最大似然值,定义某一种排列 π \pi π的概率,最大似然值
在这里插入图片描述
在这里插入图片描述
n个document有n!排列,这种计算排列的方式复杂度达到n!所以选用更有效率的top K计算,本文采用K=1对应n种排列情况,最简单

Top One Probability

在这里插入图片描述
本文将函数选为exp函数,进而变成了求softmax操作在这里插入图片描述
此时可以用top1 后形成的概率分布,运用cross entropy这样衡量分布差异的函数去计算loss,也就是将排列问题转化为分布拟合问题,同时top1实际上是将分布变得粗粒度抽样了,使得开头一样的很多排列对应一个值。
在这里插入图片描述
在这里插入图片描述
这里有个形象的解释图:
在这里插入图片描述

讨论为什么优于pairwise方法

  • pair方法的成对数据太多,训练的模型可能会倾向于拥有更多查询文档对的query。少量query拥有大量的document,每个样本对实际相当于一个输入输入,相当于数据集有引导偏差。

  • pairwsie的损失函数对于性能度量过于松散,这里文章通过loss与NDCG指标的图展示了pairwise loss并不是与NDCG是完全负相关。
    在这里插入图片描述


总结

把pairwise的问题换个思路重新建模,从而挖掘到数据中因为query对分布不平衡而导致训练效果没那么好的原因,思路在当时还是很有创新的,毕竟pairwise类似冒泡法,让人们直观感觉理想下是能学到最好排列的,但是实际上当时大家没有考虑到训练中样本的问题,毕竟训练的手段也只是一种对理想的近拟,而换成listwise的思想,跳出这个固有的思维框架,并且最终的负相关的曲线图也证明了作者想法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值