题目重点:解释线性/非线性组合潜力、训练依赖和解释性,不把随机森林与GBM速度精度当绝对定律。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 题目涉及集成是否适用及RF/GBM快速基线,具体实现、数据和资源未给,不能指定恒定赢家。
解题路线
- 集成把多个基模型输出结合,可能利用互补误差和不同关系,但不保证一集成就优于任何单模型。先检查单模型弱是偏差、方差、特征缺失还是数据泄漏。
- bagging训练多份bootstrap并平均/投票,常降低高方差模型波动;随机森林另用特征随机性降相关。boosting逐步拟合当前误差或负梯度,后轮依赖前轮结果。
- 随机森林的树训练较独立,便于跨树并行;GBM有顺序阶段依赖,但直方图、采样和硬件优化可使实现很快。不能只凭依赖关系断言RF始终更快或参数更少。
- 含线性和非线性关系不天然妨碍集成,也不保证它一定学习到有用关系。容量、样本量和特征覆盖决定效果,强偏差数据不能靠更多相同树恢复遗漏信息。
- 多模型通常增加训练/推理成本与解释负担,特征重要性/解释方法不等于模型整体更可解释。过拟合可被深度、样本叶数、学习率和验证early stop控制,不存在“集成必过拟合”定律。
- 快速baseline先定时间/内存预算、评估切分与目标指标,再在相同资源下小规模比较;有用户/时间相关数据要防随机split泄漏,不能只看训练准确率。
手动走一遍
训练时间预算固定,RF可并行多树,GBM逐轮但可选高效实现和较少深度;哪个先得到可用baseline需测。单模型漏了关键用户特征时,组合十份相同输入也不自动解决。
规模与取舍
训练总量约各基模型成本之和,墙钟受并行度/串行依赖限制;预测M模型通常M倍级别工作但可共享预处理。容量与模型存储也增长。
易错点与追问
容易失分的边界
- RF永远快/GBM永远准。
- 集成自动提高解释性。
- 只看训练数据选模型。
继续深挖
- 如何测误差相关性?
- stacking为何需要out-of-fold预测?
- early stopping如何避免泄漏?
技术参考
- scikit-learn Ensembles:技术语义参考,具体题目按本文约定。
