GBDT的⼩结(来⾃论⽂greedyfunctionapproximation:agrad。。。经典英文电影台词
Gradient Boosting Decision Tree,即梯度提升树,简称GBDT,也叫GBRT(Gradient Boosting Regression Tree),也称为Multiple Additive Regression Tree(MART),阿⾥貌似叫treelink。
⾸先学习GBDT要有决策树的先验知识。
Gradient Boosting Decision Tree,和随机森林(random forest)⼀样,也是通过组合弱学习器来形成⼀个强学习器。GBDT的发明者是Friedman,⾄于随机森林则是Friedman的好基友Breiman发明的。不过,GBDT算法中⽤到的决策树只能是回归树,这是因为该算法的每颗树学的是之前所有树结论之和的残差,这个残差就是⼀个累加预测值后能得到真实值。通过将每次预测出的结果与⽬标值的残差作为下⼀次学习的⽬标。
麻一铭其思路来源于数值优化—梯度下降。在使⽤梯度下降时,更新函数的参数是,w= w-δw
从数值优化推⼴到函数空间的优化,可以得到δf, f= f-δf.
新⽣成的每个树h(x,m)需要跟-δf(f的梯度)之差最⼩(如果为0,则新⽣成的树就是所要求的梯度)。发聋振聩
想看英⽂原⽂的:
清汤
greedy function approximation :a gradient boosting machine.–GBDT发明者Friedman的⽂章
Stochastic gradient boosting。还是Friedman的
Boosted Regression (Boosting): An introductory tutorial and a Stata plugin。
决策树
告别仪式
以CART决策树为例,简单介绍⼀下回归树的构建⽅法。
下⾯介绍gradient boost。
gradient boost
Boost是”提升”的意思,⼀般Boosting算法都是⼀个迭代的过程,每⼀次新的训练都是为了改进上⼀次的结果。我们熟悉的adaboost算法是boost算法体系中的⼀类。gradient boost也属于boost算法体系。
Gradient Boost其实是⼀个框架,⾥⾯可以套⼊很多不同的算法。每⼀次的计算都是为了减少上⼀次的残差,为了消除残差,我们可以在残差减少的梯度⽅向建⽴⼀个新的模型,所以说,每⼀个新模型的建⽴都为了使得之前的模型残差向梯度⽅向上减少。它⽤来优化loss function有很多种。
电大毕业自我鉴定下⾯是通⽤的gradient boost框架
赵雨桐
要学习的回归树的参数就是每个节点的分裂属性、最佳切点和节点的预测值。
GBDT算法流程
Friedman的⽂章greedy function approximation :a gradient boosting machine.中的least-square regression算法如下:日式炒面
⾥⾯yi-Fm-1求得的即是残差,每次就是在这个基础上学习。