提升法(Boosting):回归树的逐步拟合和收缩

提升法怎么把很多棵小树一点点加起来?学习率 λ、树的棵数 B、每棵树的分裂次数 d 怎么影响误差?

SOA SRMSOA PACAS MAS-II
对过的标准答案
3 条
覆盖的考试公式
1 个
参数
8 个
开源库
1 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning(第 2 版)8.2.3 Boosting,算法 8.2
  • Hastie、Tibshirani、Friedman:The Elements of Statistical Learning(第 2 版)第 10 章 Boosting and additive trees

覆盖的考试公式

  • SML-007BoostingSRMPAMAS-II

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

按 ISLR 的算法 8.2:从 f̂ = 0、残差 r = y 开始,每一步用 d 次分裂的小树拟合当前的残差,把它乘上学习率 λ 加进模型,更新残差。给出训练误差和 K 折交叉验证误差随 B 的曲线、第一棵树、最后的预测。只有一个变量时画出预测的阶梯函数。

说明和限制

  • 每棵树用最好优先的方式长到 d 次分裂(d + 1 片叶子);d = 1 是树桩,模型是可加的(没有交互作用)。
  • 学习率越小,需要的树越多,但通常泛化得更好。B 太大会过拟合,用交叉验证选 B(ISLR 图 8.11)。
  • 按 ISLR 的写法从 f̂ = 0 开始(第一棵树拟合 y 本身)。很多软件从 ȳ 开始,B 大时结果几乎一样。

数据

看参数里选的数据:选平台的数据集时是真实数据或公开样例,填自己的数时只用输入的数。上面运行的输出里写明这一次用的是哪种。

开源库和版本

  • numpy2.4.6BSD-3-Clause数值计算