DART

主要思想 → 每次新加的树要拟合并不是之前全部树 ensemble 后的负梯度,而是随机抽取一些树 ensmeble 后的负梯度。

  • 解决 {{c1 GBDT over-specialization}} 问题
    • 问题现象 → 前面迭代树对预测值的贡献比较大,后面的树会集中预测一小部分样本的偏差
    • 常规方法 → Shrinkage

算法流程图
image.png

  • S1 → 训练数据集
  • T1 → 使用 S1 数据训练得到决策树
  • 针对决策树 2 到 N #card
    • 从 M 中随机抽取决策树集合 D,M^\hat{M} 是 M 和 D 的差集
    • 利用 M^\hat{M} 计算样本负梯度,得到数据集 St
    • 利用 St 训练 Tt
    • 调整 Tt 的权重
      • 负梯度只有 M^\hat{M} 树得到,实际上这个少的负梯度由 Tt 和 D 中的树共同拟合,所以需要对 T_t 缩小 D+1 倍
    • 调整 D 中其他树的权重

[[lightgbm 使用记录]] Early stopping is not available in dart mode

网络回响

作者

Ryen Xiang

发布于

2026-02-17

更新于

2026-02-17

许可协议


评论