LambdaMART的源码分析:二(LambdaMART的流程)

参考论文:
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的方式校验数据和退出

你可能感兴趣的:(LambdaMART的源码分析:二(LambdaMART的流程))