From RankNet to LambdaRank to LambdaMART: An Overview

别人的总结

1. Point-wise模型

一般的ctr,cvr预估就是point-wise的模型。

2. Pair-wise模型

2.1 Ranking SVM

这种思想可以用于各种线性分类模型中,把svm换成logistic regression也是可以的。

根据样本的相关度将样本进行排序,然后进行组队,例如x1的相关度大于x2的,可以有两个样本生成(x1,x2)=1,与(x2,x1)=-1.利用这样的样本使用SVM进行分类,这时候的分类算法可以采用各种不同的分类算法。

其中比较重要的就是样本的生成,具体可以看这里,简要来说就是因为本来用户点击文档就受到排列顺序的干扰,因此根据用户点击的结果,我们能够确定的样本就是:本来排在后面的,结果用户点击了,这样这篇文档的相关度就大于排在文档前面但是没有被点击的文档。

2.2 RankNet

RankNet同上面的RankSVM是一样的,都是利用了pair-wise来生成训练数据。不同的是,在这个算法里,利用了神经网络来对文档的相关度进行了评分,然后以两个文档的相关度比较的排序概率来作为学习目标。

实际上,就是对两个文档的相关度之差使用sigmiod函数做了[0,1]映射。这个函数的损失函数,使用了交叉熵:

3. List-wise模型

3.1 LambdaRank

上面raknnet的缺点在于只关注了文档排序的相对位置,而在实际的应用场景中,关于information retrieval meause, 有很多其他的指标(NDGG, MAP等等),交叉熵的指标并不符合这些指标。因此,LambdaRank做了两点工作:

1.抽象出了lambda的概念

2.在ranknet的基础上,对梯度lambda做了修正,加上了information retrieval measure的因子。

3.2 LambdaMART

既然已经抽象出梯度,那么就是在对梯度进行学习,因此lambdamart利用回归树对梯度进行学习。

你可能感兴趣的:(From RankNet to LambdaRank to LambdaMART: An Overview)