背景
SoftRank是一种listwise的建模方法,listwise建模的难点在于损失函数的选取。在排序中常用NDCG作为评价指标,最直接的想法是NDCG作为损失函数,这样优化目标和评价指标是一致的,没有gap,但是NDCG是不可以微的(需要排序的IR评价指标都是不可微),没法用梯度下降法来优化。SoftRank采用了一种软化的方法,让NDCG变成可微的损失函数,论文中称为SoftNDCG
技术方案
score的表示
在以往的研究中,都是把一个doc的score当作一个确定的值的,在SoftRank中用一个概率分布来表示score(如上图1所示):
论文中假定了文档j的score sj服从均值为sj的高斯分布(所有doc的score分布的方差都是一个值)
从score到rank分布
当一个doc的score用一个概率分布来表示后,这个doc的rank也是一个概率分布(上图2所示),下面介绍具体的计算过程
首先doc i 排在 doc j 前的概率可以表示为:
doc j 的 rank的期望可表示为:
接下来我们来计算doc j排在各个位置上的概率:
1. 假设doc j刚开始排在第0位
2. 可以采用动态规划的思想得到doc j排在任意一个位置的概率(时间复杂度位O(n2)):
SoftNDCG
先看一下NDCG的计算公式:
标签:Non,概率分布,doc,SoftRank,Smooth,rank,score,NDCG From: https://www.cnblogs.com/xumaomao/p/17399077.html