美文网首页
提升方法之提升树模型

提升方法之提升树模型

作者: ShowMeCoding | 来源:发表于2020-09-14 15:55 被阅读0次

1 什么是提升树(Boosting Decision Tree-BDT)?

提升树模型是以分类树或回归树为基本分类器的提升方法,采用加法模型(即基函数的线性组合)和前向分步算法,对于分类问题的决策树是二叉分类树,对于回归问题的决策树是二叉回归树。

2 什么是加法模型?

提升树可以表示为决策树的加法模型:


image.png

其中,T表示决策树,M为树的个数。

3 什么是前向分步算法?

提升树算法采用前向分步算法。首先确定初始提升树f_0(x)=0,第m步的模型是:


image.png

其中,f_m-1(x)为当前模型,通过经验风险极小化确定下一棵决策树的参数:


image.png
针对不同问题的提升树学习算法,主要区别在于使用的损失函数不同:
  • 回归问题:使用平方误差损失函数
  • 分类问题:指数损失函数
  • 一般决策问题:一般损失函数

4 梯度提升(Gradient Boosting Decision Tree-GBDT)

利用最速下降法的近似方法,关键是利用损失函数的负梯度在当前模型的值:


image.png

作为回归问题提升树算法中的残差的近似值,拟合一个回归树。同时,使用梯度法可以使模型尽快收敛。

5 GBDT的算法过程中,为什么要把对残差的拟合,改进成对负梯度的拟合?

参考:http://aandds.com/blog/ensemble-gbdt.html

提升树(BDT)利用加法模型与前向分步算法实现学习的优化过程,当损失函数是平方损失和指数损失时,每一步的优化都很简单。但对一般损失函数而言,往往每一步优化都不那么容易。针对该问题,提出了梯度提升算法(GBDT),利用最速下降法的近似方法,关键是利用损失函数的负梯度在当前模型的值,作为回归问题提升树算法中的残差的近似值,拟合一个回归树。


image.png

从上表中可以看出平方差损失函数虽然容易计算,但是对异常值太敏感,模型过度拟合异常值,降低了模型整体的泛化能力。
采用Square loss为损失函数时,负梯度和残差相等。不过,当我们采用Absolute loss/Huber loss等其它损失函数时,负梯度只是残差的近似。
为什么不直接使用“残差”,而使用“负梯度”呢(注:也有一些实现直接使用“残差”)?因为使用“负梯度”有时能够减小异常点的影响。

5.1 GBDT的求解过程就是梯度下降在函数空间中的优化过程

1.我们能通过一阶泰勒展开证明负梯度方向是下降最快的方向。对于函数f:

image.png
则优化函数f时:
image.png
2 在GB中,对损失函数展开
image.png

image.png
则在优化L的时候:
image.png
即就是:
image.png
所以需要当前的弱学习器来学习负梯度,这里和GBDT中差了一个μ
3 在1和2中都是随机梯度下降,但不同的是:
1在参数空间中优化,每次迭代得到参数的增量,这个增量就是负梯度乘上学习率
2 在函数空间中优化,每次得到增量函数,这个函数会去拟合负梯度,在GBDT中就是一个个决策树。要得到最终的结果,只需要把初始值或者初始的函数加上每次的增量,所以1的优化过程就是(假设迭代了M次)
4 无论损失函数是什么形式,每个决策树拟合都是负梯度。准确地说,不是用负梯度代替残差,而是当损失函数是平方差损失时,负梯度刚好是残差,残差只是特例

相关文章

  • 提升方法之提升树模型

    1 什么是提升树(Boosting Decision Tree-BDT)? 提升树模型是以分类树或回归树为基本分类...

  • GBDT

    简介 GBDT即梯度提升树,提升方法依然采用的是加法模型与前向分布算法。以决策树为基函数的提升方法称为提升树。对分...

  • 从bgt 到gbdt 再到xgboost

    1、boosting decision tree(提升树模型) 提升树模型其实是采用了加法模型的前向分布式算法,以...

  • 提升方法

    提升方法 提升方法 AdaBoost 算法 AdaBoost算法的训练误差分析 AdaBoost算法的解释 提升树...

  • 聊一聊提升树这个概念

    一、概览 首先强调一点,先有提升树模型(总体概念),然后针对不同情况和不同损失函数,提出各自提升树,包含残差提升树...

  • 20.11.16 xgboost初探

    0. 提升树 首先要明确一点,xgboost 是基于提升树的。 什么是提升树,简单说,就是一个模型表现不好,我继续...

  • Learning Spark [9] - MLlib库 - Tr

    基于树模型(Tree-Based Models) 基于树模型,比如决策树,梯度提升树,随机森林等,相对比回归模型,...

  • XGBOOST

    在了解xgboost之前我们先了解一下梯度提升树(gbt) 梯度提升树 梯度提升是构建预测模型的最强大技术之一,它...

  • GBDT, XGBoost, LightGBM

    GBDT 梯度提升树实在提升树的基础上发展而来的一种使用范围更广的方法,当处理回归问题时,提升树可以看作是梯度提升...

  • 梯度提升树/GBDT(Gradient Descent Deci

    梯度提升树被认为是统计学习算法中性能最好的算法之一 算法释义 梯度提升树是以 CART 作为基函数,采用加法模型和...

网友评论

      本文标题:提升方法之提升树模型

      本文链接:https://www.haomeiwen.com/subject/aodzektx.html