当前位置: 首页 > news >正文

机器学习-GBDT算法

目录

一. GBDT 核心思想

二. GBDT 工作原理

​**(1) 损失函数优化**

​**(2) 负梯度拟合**

​**(3) 模型更新**

三. GBDT 的关键步骤

四. GBDT 的核心优势

​**(1) 高精度与鲁棒性**

​**(2) 处理缺失值**

​**(3) 特征重要性分析**

​五. GBDT 的缺点

​**(1) 训练效率较低**

​**(2) 过拟合风险**

​**(3) 缺乏并行性**

六、应用场景

七、与其他算法对比

八、总结


梯度提升迭代决策树(Gradient Boosting Decision Tree, GBDT)​​ 是一种基于梯度提升(Boosting)​的集成学习算法,通过迭代地训练决策树来最小化损失函数。它结合了决策树的预测能力和梯度提升的优化思想,在分类、回归和排序任务中表现出色(如 XGBoost、LightGBM 和 Scikit-learn 的 GradientBoostingClassifier 均基于此框架)

一. GBDT 核心思想

  • 目标:通过逐步优化损失函数,将多个弱学习器(决策树)组合成一个强学习器。
  • GBDT 以梯度下降为优化手段,每一轮训练生成一个新的决策树,专门拟合当前模型的残差(即真实值与预测值的差异),通过累加所有树的预测结果形成最终输出。
  • 核心步骤
    1. 初始化模型为一个常数值(如样本均值)。
    2. 计算当前模型的损失函数,并对损失函数关于每个样本的负梯度进行拟合(生成新的决策树)。
    3. 将新生成的决策树加入模型中,更新模型输出。
    4. 重复上述步骤,直到满足停止条件(如达到预设树的数量或损失不再显著下降)

 

二. GBDT 工作原理

​**(1) 损失函数优化**
  • 每轮迭代的目标是通过最小化损失函数来改进模型。对于分类任务,常用交叉熵损失;回归任务则用均方误差(MSE)。
  • 关键公式其中 f(xi​) 是当前模型的预测值,L 是损失函数。

 

​**(2) 负梯度拟合**
  • 在第 t 轮迭代中,计算当前模型的损失函数的负梯度​(近似残差):
  • 新的决策树 Tt​(x) 用于拟合这些负梯度 gt​(xi​),使得损失函数尽可能减小。
​**(3) 模型更新**
  • 将新树的结果按学习率 η 加入模型:

 

三. GBDT 的关键步骤

  1. 初始化模型
  2. 迭代训练决策树
    • 步骤1:计算当前模型的损失函数 L。
    • 步骤2:对每个样本计算负梯度 gt​(xi​)。
    • 步骤3:生成决策树 Tt​(x),拟合 gt​(xi​)。
    • 步骤4:通过损失函数验证新树的有效性,调整学习率 η。
  3. 组合所有树

四. GBDT 的核心优势

​**(1) 高精度与鲁棒性**
  • 通过梯度优化逐步逼近最优解,对噪声和异常值具有较强鲁棒性(相比 AdaBoost)。
  • 支持自定义损失函数,适应复杂任务(如逻辑回归中的交叉熵)。
​**(2) 处理缺失值**
  • 大多数实现(如 XGBoost、LightGBM)内置缺失值处理机制,无需额外预处理。
​**(3) 特征重要性分析**
  • 每棵树的贡献可量化,输出特征重要性用于特征筛选。

​五. GBDT 的缺点

​**(1) 训练效率较低**
  • 顺序迭代训练决策树,计算复杂度高于随机森林。
  • 大规模数据集需依赖优化库(如 XGBoost 的近似算法)。
​**(2) 过拟合风险**
  • 树的数量过多或单棵树过深可能导致过拟合。
  • 需合理设置 n_estimators 和 max_depth 等参数。
​**(3) 缺乏并行性**
  • 传统 GBDT 实现无法并行训练,但 XGBoost/LightGBM 通过特征分块等技术部分支持并行。

六、应用场景

  1. 结构化数据预测:如房价预测、销量预估。
  2. 分类任务:如信用评分、客户流失预测。
  3. 排序与推荐:如搜索结果排序、个性化推荐系统。
  4. 特征重要性分析:通过树的分裂特征评估变量重要性。

七、与其他算法对比

  1. 与 AdaBoost 的区别

    • GBDT 通过梯度下降优化残差,AdaBoost 通过调整样本权重。
    • GBDT 更适合回归任务,AdaBoost 更适合分类任务。
  2. 与随机森林的区别

    • 随机森林基于 Bagging(并行训练),GBDT 基于 Boosting(串行优化)。
    • 随机森林对噪声更鲁棒,GBDT 在复杂数据上精度更高

 

八、总结

GBDT 通过梯度优化残差的机制,在结构化数据领域表现优异,是竞赛和工业界常用的算法之一。尽管存在训练速度和调参的挑战,但其改进版本(如 XGBoost、LightGBM)通过工程优化显著提升了效率,使其在实际应用中更具竞争力。

http://www.lryc.cn/news/547415.html

相关文章:

  • redis基础结构
  • 【keil】一种将STM32的armcc例程转换为armclang的方式
  • 计算机视觉算法实战——表面缺陷检测(表面缺陷检测)
  • window下的docker内使用gpu
  • Modbus协议(TCP)
  • 虚拟系统配置实验报告
  • Agentic系统:负载均衡与Redis缓存优化
  • 28-文本左右对齐
  • 建筑兔零基础自学python记录39|实战词云可视化项目——章节分布10(上)
  • Impacket工具中的横向渗透利器及其使用场景对比详解
  • 基于java,SpringBoot和Vue的医院药房药品管理系统设计
  • MQ保证消息的顺序性
  • cmake、CMakeLists.txt、make、ninja
  • 数据结构与算法 计算机组成 八股
  • RoboBrain:从抽象到具体的机器人操作统一大脑模型
  • 算法 之 前缀和 与 滑动窗口 与 背包问题 的差异(子数组之和为k问题)
  • 微电网协调控制器ACCU-100 分布式光伏 光储充一本化
  • IDEA入门及常用快捷键
  • electron打包结构了解
  • 03.06 QT
  • Python中的常用库
  • 马尔科夫不等式和切比雪夫不等式
  • 护照阅读器在汽车客运站流程中的应用
  • CentOS 7 安装Nginx-1.26.3
  • Unity 使用NGUI制作无限滑动列表
  • linux中断调用流程(arm)
  • 基于Matlab的多目标粒子群优化
  • 【网络安全】——协议逆向与频繁序列提取:从流量中解码未知协议
  • CSS 中等比例缩放的演变:从传统技巧到 aspect-ratio 属性
  • 系统架构设计师—计算机基础篇—进度管理