GBDT

【2】GBDT

1 GBDT

GBDT(Gradient Bootsting Decision Tree)梯度提升决策树作为boosting算法中的另一个重要代表,主要由三个部分构成

  1. 回归树 Regression Decision Tree
  2. GB:梯度迭代 Gradient Boosting
  3. Shrinkage

参考:GBDT 入门教程之原理、所解决的问题、应用场景讲解

2 前向分步算法

考虑加法模型:
f ( x ) = ∑ m M β m b ( x ; γ m ) f(x)=\sum_m^M\beta_mb(x;\gamma_m) f(x)=mMβmb(x;γm)
其中, b ( x ; γ m ) b(x;\gamma_m) b(x;γm)为基函数, γ m \gamma_m γm为基函数的参数, β m \beta_m βm为基函数的系数

在给定训练集数据及损失函数 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x))的条件下,学习加法模型 f ( x ) f(x) f(x)成为经验风险极小化即损失函数极小化问题:
min ⁡ β m , γ m ∑ i = 1 M L ( y i , ∑ m M β m b ( x ; γ m ) ) \min\limits_{\beta_m,\gamma_m}\sum_{i=1}^ML(y_i,\sum_m^M\beta_mb(x;\gamma_m)) βm,γmmini=1ML(yi,mMβmb(x;γm))

前向分步算法求解这个优化问题的思路是:因为学习的是加法模型,如果能够从前向后,每一步只学习一个基函数及其系数,逐步逼近优化目标函数

具体地,每步只需要优化如下损失函数:
min ⁡ β , γ ∑ i = 1 M L ( y i , β b ( x ; γ ) ) \min\limits_{\beta,\gamma}\sum_{i=1}^ML(y_i,\beta b(x;\gamma)) β,γmini=1ML(yi,βb(x;γ))

在这里插入图片描述

3 损失函数

  • 1.分类问题损失函数
    对于分类算法,其损失函数一般有对数损失函数和指数损失函数两种:

    1. 如果是指数损失函数,则损失函数表达式
    2. 如果是对数损失函数,分为二元分类和多元分类两种,
      对于二元分类
  • 2.回归问题损失函数
    对于回归算法,常用损失函数有如下4种:

    1. 均方差,这个是最常见的回归损失函数了
    2. 绝对损失,这个损失函数也很常见
    3. Huber损失,它是均方差和绝对损失的折衷产物,对于远离中心的异常点,采用绝对损失,而中心附近的点采用均方差。这个界限一般用分位数点度量。
    4. 分位数损失。它对应的是分位数回归的损失函数

4 负梯度拟合回归模型

5 分类算法

6 正则化

和Adaboost一样,我们也需要对GBDT进行正则化,防止过拟合。GBDT的正则化主要有三种方式。

  1. 步长设置(learning rate)

  2. 子采样比例(subsample)

    • 取值为(0,1]。注意这里的子采样和随机森林不一样,随机森林使用的是放回抽样,而这里是不放回抽样。如果取值为1,则全部样本都使用,等于没有使用子采样。如果取值小于1,则只有一部分样本会去做GBDT的决策树拟合。选择小于1的比例可以减少方差,即防止过拟合,但是会增加样本拟合的偏差,因此取值不能太低。推荐在[0.5, 0.8]之间。

    • 使用了子采样的GBDT有时也称作随机梯度提升树(Stochastic Gradient Boosting Tree, SGBT)。由于使用了子采样,程序可以通过采样分发到不同的任务去做boosting的迭代过程,最后形成新树,从而减少弱学习器难以并行学习的弱点。

7 优缺点

  • GBDT主要的优点有:
    (1)可以灵活处理各种类型的数据,包括连续值和离散值。
    (2)在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对SVM来说的。
    (3)使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

  • GBDT的主要缺点有:

(1)由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。

8 sklearn参数

9 应用场景

GBDT几乎可用于所有回归问题(线性/非线性),相对logistic regression仅能用于线性回归,GBDT的适用面非常广。亦可用于二分类问题(设定阈值,大于阈值为正例,反之为负例)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值