读paper笔记[Learning to rank]

读paper笔记[Learning to rank]

by Jiawang

选读paper:

[1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B. Kégl, T. Éltető & G. Szarvas; 14:37–48, 2011.
[2] Web-Search Ranking with Initialized Gradient Boosted Regression Trees, A. Mohan, Z. Chen & K. Weinberger; 14:77–89, 2011.

两篇paper都来自Yahoo! Learning to Rank Challenge 2010的优胜者队。

介绍

[1] 主要用pointwise的方法作为学习器,在最后做model combination的时候用listwise的方法。主要的几个创新点:1)做了querywise的feature normalization; 2)用了Adaboost的多分类(没有用回归); 3)对于分类结果做了回归校准; 4)在最后做model combination的时候用了指数权重的方法(listwise)。在训练model时,用了不同的label grouping的方法,同时用了decision tree和decision products[4]作为base learner, 增加了model的多样性。在这篇文章中,listwise的model combination是亮点。

[2] 主要将Random Forests(RF)和Gradient Boosted Regression Trees(GBRT)做了一个sequence的combine.他们用RF得到了非常不错的效果,甚至比GBRT还要好。他们最后所用的方法是先用RF学习一个ranking function, 用这个ranking function的输出去初始化GBRT,做一个sequence 的combine, combine的结果要比他们单独的结果都要好。他们最后分析也认为,分类能比回归得到更好的效果,这个结论和[7]相同,很值得尝试。从他们的结果看,RF和GBRT的combine还是很有意义的,RF的一些优点在最后的model中都有体现,比如对parameter choice不敏感,不容易过拟合等。RF和GBRT的combine也解决了一个GBRT的缺点,因为GBRT是一个gradient boosting的方法,这一类方法存在一个trade-off, 就是step size和迭代轮数之间。如果要达到真正的global minimum, step size就必须很小,迭代轮数就必须增大,通过与RF的combine,对这个问题有所缓解,RF给了GBRT一个接近终点的start point, 这样即使step size比较小,也能比较快的结束迭代。

几个point

[Preprocessing] Raw Feature Normalization

如果用基于tree的分类器,global的normalization是没有意义的,这一类的分类器对于任何单调的变化都不敏感。对于learning to rank,大多数feature都是一些计数型的值[3],比如tf, df之类,绝对值之间的比较意义不大,一些很popular的词可能值会非常大。所以经常用一些querywise的方法做raw feature normalization.

[Preprocessing] Label Grouping

对于query-document的label, 表明了document和query的相关性,不可避免的带有标注人员的主观性。但是document和query是否相关,还是相对容易判断的。为了减少label noise,可以将相邻的label合并,合并方法可以有多种,如果用boosting的方法,用不同的label grouping的方法,可以增加model的多样性,减少label noise的影响。

Pointwise VS. Pairwise VS. Listwise

一般认为,pairwise和listwise的方法效果要好于pointwise[5][6], 但是复杂度也更高,训练model对于时间和memory的开销也更大。从今年Yahoo LRT Challenge来看,前12名公布的方法中,pointwise占80%. [1] 也尝试用了一些pairwise的方法,但在他们的实验中效果并不好,但最后model-combination的方法是一个轻量级的listwise的方法,效果提升很明显。虽然这样,[1]也提到,如果有足够的计算资源,对所用的pairwise或者listwise方法足够精通的话,pairwise和listwise的方法仍然是最好的选择,但是pointwise的方法也有很多优点,比如简单,计算低廉,鲁棒性很好。

Classification VS. Regression

大多数pointwise的方法都是用回归算法预测label. [1]用Adaboost构造了一个多分类器,最后通过回归校准得到了一个实数,但是回归校准对最后的效果提升帮助并不大。[2]所用的所有算法都是回归算法,但是线下也做了分类算法的评估,在他们的评估中,RF, GBRT, RF和GBRT combine的model如果用分类,效果在Yahoo和Microsoft的大多数数据集上都要好于用回归算法,评估方法为ERR和nDCG. [7]也得到了类似的结论,分类的效果要好于回归。

Feature Selection

GBRT是一个非常适合做ranking的算法[8][9],实际上2010 Yahoo Learning to Rank Challenge中成绩比较好的team基本上都或多或少用到了GBRT的各种变换[10]。包括Adaboost也都宣称可以handle noisy featues, 但根据以往的经验,feature selection也许还是需要尝试做一下。[11]也做了一些尝试。在LTR问题中,不管是提升效果或者效率,还是分析feature, 分析case,feature selection都有必要尝试做一下,在做feature selection的过程中,fature ranking, feature contribution都能得到,对于feature的分析也有助于提升结果和解决bad case的能力,提升learning算法的可控性。

总结

[1]和[2]都用的pointwise的方法,而且效果并不比pairwise和listwise的方法差,pointwise的方法有很多优点,前面都已经提过。对于LTR,pointwise的方法大多数都用regression,但[1]用的classification,[2]线下的评估也证明classification能得到更好的结果。[1]最大的亮点是最后model combination的时候用了listwise的方法,在后面的评估中也能看到效果很明显。[2]主要是结合了RF和GBRT的优点,用RF的结果初始化GBRT,使GBRT能有一个较好的start point,解决了GBRT很尴尬的一个trade off( step size和迭代轮数).最后的结果也比两个model单独的效果都要好。从两篇文章中,得到的主要信息有:1) raw feature的normalization,对于单个model的效果提升有比较重要的影响,对于如何normalization,要视具体算法,如果是tree-based算法,querywise的normalization效果在[1]中体现的还不错;2) 对于pointwise, pairwise还是listwise,不必拘泥于到底用哪种方法,要综合考虑效率,内存,效果,pointwise也可以达到很好的效果;3) 用分类来解决LTR也是一个很值得尝试的方向(可以根据分类的结果做回归校准);4)RF和GBRT的combine是一个很好的启发,结合了两个算法的优点; 5)在用boosting的算法时,即便base learner是pointwise的,在最后的model combination还是可以尝试一些listwise的方法,效果在[1]中提升很明显。

References

[1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B. Kégl, T. Éltető & G. Szarvas; 14:37–48, 2011.
[2] Web-Search Ranking with Initialized Gradient Boosted Regression Trees, A. Mohan, Z. Chen & K. Weinberger; 14:77–89, 2011.
[3] http://research.microsoft.com/en-us/projects/mslr/feature.aspx
[4] Kegl and R. Busa-Fekete. Boosting products of base classifiers. In International Conference on Machine Learning, volumn 26, pages 497-504, Montreal, Canada, 2009
[5] Cao et al., Learning to rank: from pairwise approach to listwise approach. In Proceedings of the 24rd International Conference on Machine Learning, pages 129-136, 2007
[6] Valizadegan et al., Learning to rank by optimizing NDCG measure. In Advances in Neural Information Processing Systems 22, pages 1883-1891, 2009
[7] Li et al., Learning to rank using classification and gradient boosting. In Proceedings of the International Conference on Advances in Neural Information Processing Systems(NIPS), 2007
[8] Zheng et al., A general boosting method and its application to learning ranking functions for web search. Advances in Neural Information Processing Systems, 19, 2007
[9] Burges. From RankNet to LambdaRank to LambdaMART: An Overview. Microsoft Research Technical Report MSR-TR-2010-82, 2010
[10] http://learningtorankchallenge.yahoo.com/workshop.php
[11] http://jmlr.csail.mit.edu/papers/volume3/guyon03a/guyon03a.pdf

你可能感兴趣的:(rank)