参考论文:
From RankNet to LambdaRank to LambdaMART: An Overview(公式主要引用这个)
GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE (MART的思想)
Adapting boosting for information retrieval measures
ciir.umass.edu.learning.tree.LambdaMART类:
1.init方法
a .设置训练数据,为每个训练数据i设置初值(0),为每个训练数据的y设置初值(0),为每个训练数据的w设置初值(0)
b. 按照每个feature的大小重新排训练数据,为方便后面的计算。
c. 每个feature都设置一批值以供后续做回归树split时的切分点。
d. 初始化一个回归树(该树未进行分裂)
2.learn方法
生成指定数目的tree,以下为生成一个树的流程。
1. 清空以前生成的pseudoResponses(yi),weights(wi).
2. computePseudoResponses函数中根据以下公式生成新的
pseudoResponses(yi),weights(wi)
先求lambdaij,然后再叠加求出lambdai即(yi)
3.用新生成的
pseudoResponses(yi)来更新回归树
4.生成一棵新的回归树,并保存结果,参考上一节。
5.求得γlk。
6.重新计算modelScores,即每个训练数据的评分
7.通过early stop的方式校验数据和退出