RankNet -> LambdaRank -> LambdaMART

Ranking 问题的常见的评价指标如NDCG、MAP等,都是不平滑、不连续、无法求梯度,因此不能直接用梯度下降法求解。
RankNet、LambdaRank 和 LambdaMART 是由微软提出的LTR的三个算法。它们将排序问题转化为 pairwise 的分类或者回归问题,使用梯度下降进行求解。

RankNet

RankNet最初是用神经网络开发的,但底层模型可以不局限于神经网络。**RankNet的损失函数旨在最小化排序中的逆序数量。**这里的逆序代表一对结果之间不正确的顺序,比如我们在排序列表中将较低评级的结果排在较高评级结果之上。RankNet使用随机梯度下降算法优化损失函数。
RankNet 的创新之处在于,它将不适宜用梯度下降求解的Ranking问题,转化为对概率的交叉熵损失函数的优化问题,从而适用梯度下降方法。RankNet 的梯度下降表现在结果的整体变化中是逆序对的下降。
RankNet 的目标是得到一个打分函数:s=f(x;w)s=f(x;w)根据这个算法函数,我们可以计算文档xix_i和文档xjx_j的得分sis_isjs_j si=f(xi;w),sj=f(xj;w)s_i=f(x_i;w), s_j=f(x_j;w)
然后根据得分计算二者的偏序概率Pij=P(xixj)=exp(σ(sisj))1+exp(σ(sisj))=11+exp(σ(sisj))P_{ij} = P(x_i \rhd x_j) = \frac{\exp\bigl(\sigma\cdot(s_i - s_j)\bigr)}{1 + \exp\bigl(\sigma\cdot(s_i - s_j)\bigr)} = \frac{1}{1 + \exp\bigl(-\sigma\cdot(s_i - s_j)\bigr)}
再定义交叉熵为损失函数Lij=PˉijlogPij(1Pˉij)log(1Pij)=12(1Sij)σ(sisj)+log{1+exp(σ(sisj))}L_{ij} = -\bar{P}_{ij}\log P_{ij} - (1 - \bar{P}_{ij})\log (1 - P_{ij}) = \frac12 (1 - S_{ij})\sigma\cdot(s_i - s_j) + \log\Bigl\{1 + \exp\bigl(-\sigma\cdot(s_i - s_j)\bigr)\Bigr\}
进行梯度下降wkwkηLwkw_k \to w_k - \eta\frac{\partial L}{\partial w_k}
RankNet -> LambdaRank -> LambdaMART

LambdaRank

RankNet 告诉我们如何绕开 NDCG 等无法求导的评价指标得到一个可用的梯度。
后来发现在训练 RankNet 的过程中,其实是不需要损失函数的,只需要损失函数的梯度,可以通过交换每对文档后 NDCG 的变化来衡量梯度。LambdaRank 的核心思想是不通过显示定义损失函数的方式来求梯度,而是分析排序问题需要的梯度的意义,直接定义梯度。实验显示它在速度和准确度上都比原始 RankNet 要好。
RankNet -> LambdaRank -> LambdaMART
如上图所示,每条线表示一个文档,蓝色表示相关文档,灰色表示不相关文档。RankNet以pairwise error的方式计算cost,左图的cost为13,右图通过把第一个相关文档下调3个位置,第二个文档上调5个位置,将cost降为11,但是像NDCG等指标只关注Top k个结果的排序,在优化的过程中下调前面相关文档的位置并不是我们想要的结果。右图左边黑色的箭头表示RankNet下一轮的调序方向和强度,但我们真正需要的是右边红色箭头代表的方向和强度,即更关注靠前位置的相关文档的排序位置的提升。LambdaRank正是基于这个思想演化而来,其中Lambda指的就是红色箭头,代表下一次迭代优化的方向和强度,也就是梯度λ\lambda

LambdaMART

LambdaMART 组合了 LambdaRank 和 MART(Multiple Additive Regression Trees)。LambdaMART 使用 LambdaRank 里的损失函数和梯度提升决策树来求解 Rank 任务。 实验显示 LambdaMART 比 LambdaRank 和原始 RankNet 都要好。
RankNet -> LambdaRank -> LambdaMART

Reference:

https://www.microsoft.com/en-us/research/publication/from-ranknet-to-lambdarank-to-lambdamart-an-overview/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F132652%2Fmsr-tr-2010-82.pdf

相关文章:

  • 2021-09-26
  • 2021-11-15
  • 2022-12-23
  • 2021-12-20
  • 2021-09-22
  • 2022-01-14
  • 2021-07-03
  • 2022-12-23
猜你喜欢
  • 2021-05-01
  • 2022-02-25
  • 2021-06-05
  • 2022-02-24
  • 2022-01-15
相关资源
相似解决方案