讀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