
集成学习和随机森林
|
187
残差和树预测 集成预测
图 7-9 :在此梯度提升的描述中,第一个预测器(左上)进行正常训练,然后对每个连续的预
测器(左中和左下)针对先前预测器的残差进行训练。右列显示了集成的预测结果
超参数 learning_rate 对每棵树的贡献进行缩放。如果你将其设置为低值,比如 0.1,
则需要更多的树来拟合训练集,但是预测的泛化效果通常更好,这是一种被称为收缩的
正则化技术。图 7-10 显示了用低学习率训练的两个 GBRT 集成:左侧拟合训练集的树
数量不足,而右侧拟合训练集的树数量过多从而导致过拟合。
要找到树的最佳数量,可以使用提前停止法(参见第 4 章)。简单的实现方法就是使用
staged_predict() 方法:它在训练的每个阶段(一棵树时,两棵树时,等等)都对
集成的预测返回一个迭代器。以下代码训练了一个拥有 120 棵树的 GBRT 集成,然后测
量每个训练阶段的验证误差,从而找到树的最优数量,最后使用最优树数重新训练了一
个 GBRT 集成: