learning to rank list wise

listwise 的方法考虑了一次查询结果中所有文档的关系,根据损失函数的使用,可以将listwise分成两个大类,第一类是损失函数直接关系到评价指标,这些方法又称为直接优化方法。另一类是间接关系到评价指标。

相似listwise的方法中,结果的label直接关系到排结果的排列。

常用的排序指标如MAP,NDCG ,将在另一篇文章中讲解。

1.直接优化评价函数损失

1.1 评价近似

1.1.1 softrank

在 softrank 中,文章的排序不是直接又评价函数的结果来排序,而是通过引入了一个随机变量。将排序结果认为是随机变量的均值。在这种方式中,一个文章可以被排列在任意位置。对于每个可能的排序计算NDCG值,然后得到NDCG的期望值。

Step1:定义一个得分的分布,x的得分被认为是一个高斯分布。

Step2:定义rank的分布, 比排名靠前的概率可以表示为:

可以被排在位置r的概率 可以表示为:

计算NDCG的期望,使用1-softNDCG作为损失函数:

1.2 边界优化

1.2.1 SVM

使用SVM的方法优化AP指标 average precision,

通过最大化的正确和错误的结果来得到训练模型,正确和错误分别为1和0.

1.3非平滑优化

1.3.1 AdaRank

也是使用了boost 框架,将rank的结果转化为连续和可微的评价标准。使用exponential loss 来更新目标的值

2.间接优化评价函数损失

2.1 listnet

在 listnet中,损失函数使用排序的概率分布。给定一个排序函数f,对于所有可能的文章排序的概率:

Listnet 使用K-L 散度来计算预测结果和真实值的差异,作为损失函数:

2.2 listMLE

listMLE 使用K-L 散度来作为损失函数。

你可能感兴趣的:(learning to rank list wise)