Pairwise ranking methods: RankNet与LambdaRank

本文介绍了RankNet排序算法的核心概念及实现原理,包括预测相关性概率、真实相关性概率及代价函数等内容。RankNet通过最小化错误排序对的数量来优化模型参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://blog.youkuaiyun.com/u014374284/article/details/49385065, 感谢分享!

LamdaMart 介绍见博客http://blog.youkuaiyun.com/huagong_adu/article/details/40710305,感谢分享!

在使用搜索引擎的过程中,对于某一Query(或关键字),搜索引擎会找出许多与Query相关的URL,然后根据每个URL的特征向量对该URL与主题的相关性进行打分并决定最终URL的排序,其流程如下:

这里写图片描述

排序的好坏完全取决于模型的输出,而模型又由其参数决定,因而问题转换成了如何利用带label的训练数据去获得最优的模型参数w。Ranknet提供了一种基于Pairwise的训练方法,它最早由微软研究院的Chris Burges等人在2005年ICML上的一篇论文Learning to Rank Using Gradient Descent中提出,并被应用在微软的搜索引擎Bing当中。

相关性概率

Cost function是RankNet算法的核心,在介绍Cost function前,我们先定义两个概率:预测相关性概率、真实相关性概率。

  • 预测相关性概率
    对于任意一个URL对(Ui ,Uj ),模型输出的score分别为sisj ,那么根据模型的预测,UiUj 与Query更相关的概率为:

     

    Pij=P(Ui>Uj)=11+eσ(sisj)

     

    由于RankNet使用的模型一般为神经网络,根据经验sigmoid函数能提供一个比较好的概率评估。参数σ 决定sigmoid函数的形状,对最终结果影响不大。

  • 真实相关性概率
    对于训练数据中的UiUj ,它们都包含有一个与Query相关性的真实label,比如Ui 与Query的相关性label为good,Uj 与Query的相关性label为bad,那么显然UiUj 更相关。我们定义p¯ijUiUj 更相关的真实概率,有

     

    p¯ij=12(1+Sij)

     

    如果UiUj 更相关,那么Sij=1 ;如果Ui 不如Uj 相关,那么Sij=1 ;如果UiUj 与Query的相关程度相同,那么Sij=0

代价函数

对于一个排序,RankNet从各个URL的相对关系来评价排序结果的好坏,排序的效果越好,那么有错误相对关系的pair就越少。所谓错误的相对关系即如果根据模型输出Ui 排在Uj 前面,但真实label为Ui 的相关性小于Uj ,那么就记一个错误pair,RankNet就是以错误的pair最少为优化目标。对于每一个pair,我们使用交叉熵来度量其预测代价,即:

 

Cij=P¯¯¯ijlogPij(1P¯¯¯ij)log(1Pij)

 

化简

 

Cij=12(1+Sij)log11+eσ(sisj)12(1Sij)logeσ(sisj)1+eσ(sisj)=12(1+Sij)log11+eσ(sisj)12(1Sij)[σ(sisj)+log11+eσ(sisj)]=12(1Sij)σ(s

转载于:https://www.cnblogs.com/baiting/p/8073090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值