GBDT 简述

GBDT 全称 Gradient Boosting Decision Tree,梯度提高决策树。算法

梯度加强决策树的思想来源于两个地方,首先是加强算法(Boosting),而后是梯度加强(Gradient Boosting)的想法。机器学习

加强算法是一种试图用弱学习器提高为强学习器的算法。这种算法中比较成熟、有表明性的是 AdaBoost 算法。加强算法的工做机制比较相似,先从初始训练集学习出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使前面作错的训练样本后续获得更多关注,再从调整后的训练样本上训练下一个基学习器。如此重复进行,直到基学习器的数目达到事先指定的值,最终将全部基学习器进行加权结合。函数

AdaBoost 提出后不久,机器学习和统计学家 Friedman 从统计视角解释 AdaBoost 其实是基于加性模型以相似牛顿迭代法来优化指数损失函数,受此启发,杰米姆提出了梯度加强的想法。学习

梯度加强也是但愿用一系列的弱学习器来达到一个强学习器的效果,从而逼近目标变量的值。根据加性模型的假设,这种逼近效果是这些弱学习器的加权平均。优化

如何构造这些弱学习器和加权平均的权重呢?排序

梯度加强采用了优化理论的视角,使得构造这些部分变得更加直观。ci

首先这是个迭代算法,每一轮迭代,把当前全部学习器的加权平均结果做为这一轮的函数值,而后求得针对某一个损失函数对于当前全部学习器的参数的一个梯度,而后利用某个弱学习器算法来拟合这个梯度,这个弱学习器算法能够是线性回归模型,逻辑斯特回归模型等。最后,利用线查找的方式找到权重。说白了,就是利用简单模型拟合不一样迭代轮数的梯度。io

梯度加强可跟梯度降低对比,梯度降低的最终预测式也可写成加和的形式,每一轮梯度的值和学习率共同叠加造成最终结果。这和构造弱学习器的加权平均联系起来看,每一个梯度的值能够认为是个弱学习器,学习速率就是权重。变量

理解了梯度加强,梯度加强决策树就容易理解了,就是用决策树来看成弱学习器,去拟合梯度加强过程当中的梯度。而后融合到整个梯度加强的过程当中。统计

最终,梯度加强决策树就是每一轮迭代都拟合一个新的决策树,来表达当前的梯度,而后跟前面全部的决策树进行叠加。在这个过程当中,决策树的形状,如多少层、总共有多少节点等,都是超参数。总共有多少决策树,也就是有多少轮迭代,是重要的调节参数,也是防止过拟合的重要手段。

 

参考资料

  • 洪亮劼,机器学习排序算法经典模型:GBDT
相关文章
相关标签/搜索