提升法(Boosting):回归树的逐步拟合和收缩
提升法怎么把很多棵小树一点点加起来?学习率 λ、树的棵数 B、每棵树的分裂次数 d 怎么影响误差?
- 对过的标准答案
- 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数值计算
05同族的方法
提升树,还有 2 个方法
同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。
在智能体里这样问“提升法怎么把很多棵小树一点点加起来?学习率 λ、树的棵数 B、每棵树的分裂次数 d 怎么影响误差?”