Learning to Rank学习笔记2:The Pairwise Approach

这一节主要介绍下Pairwise相关的算法,Pointwise其实跟平时的机器学习算法很相似了,没有什么独到之处,就不再介绍。

前面说过,pairwise主要的优化目标主要是排序对。那么我们去训练对应模型的时候,去定义排序对的损失函数就很重要了。我们常常希望损失函数是可微的,这样就更容易从梯度的角度去优化模型,而之前介绍的排序指标如MAP、NDCG均为不可微的。首先介绍ranknet模型,该模型为排序对定义了一个可微的损失函数,从而可以建立神经网络模型去学习优化。假设有两个文档,u与v,如果u比v好,我们定义

最后用交叉熵函数定义损失函数为,

然后就可以用梯度下降的方法去优化了f(x)里面的参数了。可以看出这个损失函数的定义形式跟逻辑回归很像,可以看作是把原问题抽象为了一个二分类问题。

Ranknet的不足之处在于,其损失函数没有考虑到不同排序位置的影响度不同。我们通常更关注前几条文档的排序情况,而非后面的。因此,LambdaRank在Ranknet的梯度上,乘上了排序对位置替换后NDCG的变化值,加上了排序位置变化的因素影响。

LambdaMART则是在GBDT的基础上,每棵树去拟合LambdaRank的梯度。在xgb中,设置 'objective': 'rank:pairwise'即可直接调用该方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近工作中需要调研一下搜索排序相关的方法,这里写一篇水文,总结一下几天下来的调研成果。包括 Learning to...
    y_felix阅读 14,321评论 3 16
  • 搜索排序跟自己的工作比较相关,最近打算仔细拜读一下刘铁岩老师的经典作品《Learning to Rank for ...
    Pierre_23e7阅读 4,153评论 0 1
  • L2R将机器学习的技术很好的应用到了排序中,并提出了一些新的理论和算法,不仅有效地解决了排序的问题,其中一些算法(...
    Yespon阅读 5,835评论 0 2
  • LTR 算法通常有三种手段,分别是:Pointwise、Pairwise 和 Listwise。Pointwise...
    全刚阅读 8,152评论 1 2
  • 为什么要用LTR 传统的检索模型靠人工拟合排序公式,并通过不断的实验确定最佳的参数组合,以此来形成相关性打分。这种...
    Yespon阅读 11,918评论 0 5

友情链接更多精彩内容