梯度提升决策树GBDT

一、简介

梯度提升树(Gradient Boosting Decision Tree,GBDT)是提升法中的代表算法,是工业界应用最多、在实际场景中表现最稳定的机器学习算法之一,它融合了Bagging和Boosting的思想,扬长避短,可以接受各类弱评估器作为输入,在后来弱评估器基本被定义为决策树后,才慢慢改名为梯度提升树,GBDT中自然也包含Boosting三元素:

   1、损失函数L(x,y):用以衡量模型预测结果与真实结果的差异

   2、弱评估器f(x):(一般为)决策树,不同的boosting算法使用不同的建树过程

   3、综合集成结果H(x):即集成算法具体如何输出集成结果

同时GBDT也遵循boosting算法的基本流程进行建模:依据上一个评估器f(x)_{t-1 } ,计算损失函数L(x,y),并使用L(x,y)自适应地影响下一个弱评估器f(x)_{t}的构建,集成模型输出的结果受到整体所有弱评估器f(x)_{0}- f(x)_{T }的影响

二、构建过程

GBDT的构建过程基于前向分布算法。它的基本思想是逐轮迭代拟合训练数据中的残差(真实值和当前预测值之间的差)。

  1. 初始化模型。通常使用训练数据目标变量的均值或中位数作为初始模型。

  2. 在M轮迭代中: a. 根据当前模型计算每个样本的负梯度值。对于回归任务,负梯度相当于当前模型预测值与实际值之间的残差。

    b. 使用负梯度作为目标,构建一棵新的决策树。这个过程实际上是在拟合负梯度(即残差)以改进模型。

    c. 通过线性搜索技巧找到一个最优学习率(步长),以此为依据对当前决策树的权重进行更新。这样可以使损失函数最小化。

    d. 使用当前决策树对模型的预测值进行更新,乘以合适的学习率作为权重。

  3. 将所有决策树加权组合,生成最终预测模型

三、优点和缺点

优点

  1. 高准确率:GBDT通常具有很高的预测准确率,相对于其他方法(如SVM、随机森林等)有更好的性能。

  2. 有效处理混合类型数据:GBDT可以同时处理连续型和离散型特征数据,对数据类型的自适应能力较强。

  3. 自动特征选择与处理:在构建决策树的过程中,GBDT具有天然的特征选择能力。它还能找到特征之间的非线性关系以及相互作用。

  4. 适用范围广:GBDT既适用于回归任务,也适用于分类任务,具有很大的应用范围和灵活性。

缺点

  1. 训练时间较长:由于GBDT需要逐轮迭代地构建决策树,因此训练时间相对较长,尤其是在大规模数据场景下。

  2. 容易过拟合:GBDT在处理噪声较多或样本量较小的数据时,容易出现过拟合。调整树的深度和迭代次数等参数可以缓解过拟合现象。

  3. 解释性较差:虽然单棵决策树具有较好的解释性,但多棵决策树组成的GBDT模型的解释性相对较差。

  4. 难以并行计算:由于每轮迭代都依赖于上一轮迭代的决策树,GBDT算法难以进行并行计算。不过一些新型GBDT框架,如XGBoost、LightGBM,旨在提升计算效率和实现部分并行。

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值