GBDT(梯度提升树,Gradient Boosting Decision Tree)

GBDT(Gradient Boosting Decision Tree)在数据分析和预测中的效果很好。它是一种基于决策树的集成算法。其中Gradient Boosting 是集成方法boosting中的一种算法,通过梯度下降来对新的学习器进行迭代。而GBDT中采用的就是CART决策树

一、Boosting

Boosting指把多个弱学习器相加,产生一个新的强学习器(如adaboost, GBDT, xgboost)。每一个弱学习器表示为 f i ( x ) f_{i}(x) fi(x),则Boost强学习器为
F ( x ) = ∑ f i ( x ) F(x)=\sum{f_{i}(x)} F(x)=fi(x)
Boosting是把多个学习器串联,bagging是把多个学习器并联。

二、Gradient Boosting

对于输入 x x x和结果 y y y

第一个学习器预测出 f 1 ( x ) = y ′ f_{1}(x)=y' f1(x)=y,则残差 β = y − y ′ β=y-y' β=yy,此时将 β β β看作下一个学习器 f 2 ( x ) f_{2}(x) f2(x)的训练目标。

即对于n-1个弱学习器组成的强学习器
F n − 1 ( x ) = ∑ i = 1 n − 1 f i ( x ) F_{n-1}(x)=\sum_{i=1}^{n-1}{f_{i}(x)} Fn1(x)=i=1n1fi(x)
下一个弱学习器 f n ( x ) f_{n}(x) fn(x) y − F n − 1 ( x ) y-F_{n-1}(x) yFn1(x)作为新的学习目标进行学习。

image-20230221185535046

而GBDT则是把CART决策树作为每次弱分类器学习的方法。

三、优势和缺陷

1、优点

  • 各弱学习器层数较浅,训练难度小
  • 能处理非线性数据。可以灵活处理各种类型的数据,包括连续值和离散值。
  • 使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

2、缺点

  • 由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。
  • 适合低维数据,如果数据维度较高时会加大算法的计算复杂度

参考链接:

GBDT算法介绍

GBDT算法的优缺点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值