LambdaMART的思想

转载 2016年06月01日 18:43:06

LambdaMART的思想
469人阅读 评论(0) 收藏 举报
本文章已收录于:
分类:
LambdaRank如何跟MART结合在一起的。
MART是一个经典的集成思想,多个弱分类器可以生成一个比他们都好的分类器。
MART思想:
主要来自这篇论文:
GREEDY FUNCTION APPROXIMATION:A GRADIENT BOOSTING MACHINE1
其思路来源于数值优化---梯度下降。在使用梯度下降时,更新函数的参数是,w= w-δw
从数值优化推广到函数空间的优化,可以得到δf, f= f-δf.
新生成的每个树h(x,m)需要跟-δf(f的梯度)之差最小(如果为0,则新生成的树就是所要求的梯度),第4行。
F(x) =F(x) + ρmh(x,m),针对排序问题,F(x)代表x的评分,也就是y。
因此可以通过前面已生成的树(m-1),就可以生成一棵新树δf(m).

LambdaRank的思路:
1.MART的F(xi)等价于LambdaRank的o(i)
F(xi)m=F(xi)m-1+newTree。
2.MART的L(yi,F(xi))等价于
之和。
指定的i,对应多个j,而yi,则根据输入的数据j,指定为1,或者-1.
这里的目标是求C的最大值。
输入某个si的具体计算过程:
lambdai就是si从newTree中获取的值,表示si的值如何调整才能满足C最大(类似梯度)。
将si= si+lambdai,代入到C中,并对Si求导,
公式里没有lambdai的原因:lambdai的初始值为0,并且只迭代一次。
 备注:
根据Newton-Raphson,求函数最小值为:
这里求最大值,则用加。

根据输入(xi,lambdai),其中lambdai表示xi的调整方向(梯度)(例如:让排名最前的值越来越大,让排名最后的值越来越小),生成一棵指定节点个数的树,并给相应叶子节点赋予γkm的值,就可完成新树的生成。




个人总结:
1.LambdaMART 与LambdaRank和NetRank的训练方式不同
   LambdaMART是通过boosting的方式,其score(xi)m = socre(xi)m-1 + newTree。
   LambdaRank和NetRank则是通过训练神经网络的方式,直接通过对输出求到,然后再一层层求参数。
   LambdaMART 和LambdaRank采用了相同的梯度lambdaij,并且都是为了求DNCG的最大值。
 但是由于F(xi)的形式不一样,两者的训练方式不同,一个是神经网络的方式(LambdaRank),一个是回归树+梯度boosting的方式(LambdaMART )。

LambdaMART是采用了Lambda的梯度形式和评估函数(NDCG),并用树的方式来计算。

LambdaMART简介——基于Ranklib源码(二 Regression Tree训练)

 LambdaMART简介——基于Ranklib源码(二 Regression Tree训练) 上一节中介绍了 λ λ 的计算,lambdaMART就以计算的每个doc的 λ ...
  • starzhou
  • starzhou
  • 2016年06月01日 18:04
  • 495

LambdaMART简介——基于Ranklib源码(一 lambda计算)

 LambdaMART简介——基于Ranklib源码(一 lambda计算) 学习Machine Learning,阅读文献,看各种数学公式的推导,其实是一件很枯燥的事情。有的时候...
  • starzhou
  • starzhou
  • 2016年06月01日 18:00
  • 1084

LambdaMART的源码分析:一(MART:回归树)

LambdaMART的源码分析:一(MART:回归树) 2014-12-31 17:39 491人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ...
  • starzhou
  • starzhou
  • 2016年05月21日 11:51
  • 785

LambdaMART的源码分析:一(MART:回归树)

参考论文: From RankNet to LambdaRank to LambdaMART: An Overview(公式主要引用这个) GREEDY FUNCTION APPROXIMATIO...
  • guoguo881218
  • guoguo881218
  • 2014年12月31日 17:39
  • 1215

求解LambdaMART的疑惑?

 求解LambdaMART的疑惑? 研究这个LambdaMART好久了,无奈自己在这瞎研究,脑子实在不够用,网上也看了博客,到最后还是看不懂,我明白的是MART是一个学习打分的算法,通过让...
  • starzhou
  • starzhou
  • 2016年05月17日 18:28
  • 1137

【转载】Learning To Rank之LambdaMART的前世今生

原文地址:http://blog.csdn.net/huagong_adu/article/details/40710305 1.       前言          我们知道...
  • xceman1997
  • xceman1997
  • 2016年03月10日 19:31
  • 5185

GBDT(MART) 迭代决策树算法 深入浅出

GBDT(MART) 迭代决策树
  • lipengcn
  • lipengcn
  • 2016年02月29日 11:17
  • 1612

自学成才秘籍!机器学习&深度学习经典资料汇总

转自:  https://www.52ml.net/18994.html 《Brief History of Machine Learning》 介绍:这是一篇介绍机器学习历史...
  • mmmmmttttff
  • mmmmmttttff
  • 2016年10月28日 15:00
  • 1875

【原创】GBDT(MART)概念简介

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种用于回归的机器学习算法,该算法由...
  • suranxu007
  • suranxu007
  • 2015年11月18日 17:51
  • 1583

编程思想与技术总结

不是天才,但我相信,通过有效的方法和训练,以及持之以恒地积累,完全是可以成为一名出色的开发者的。那么,到目前为止,掌握了多少思想、方法和技术可以用于开发程序、处理软件开发过程中所遇到的问题呢?不妨作下...
  • shuqin1984
  • shuqin1984
  • 2016年05月29日 21:35
  • 3878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LambdaMART的思想
举报原因:
原因补充:

(最多只允许输入30个字)