基于梯度提升树与随机森林。GBDT 和 RF 使用不同的策略来解决偏差和方差。
我的问题是我可以重新采样数据集(有替换)来训练多个 GBDT 并将它们的预测结合起来作为最终结果吗?
相当于以GBDT为基础学习器构建随机森林
这个想法是,GBDT 可以过拟合数据集(类似于完全生长的决策树,低偏差高方差)。我希望使用 bagging 技术也可以减少这个问题,并希望获得更好的性能。
有什么建议吗?
基于梯度提升树与随机森林。GBDT 和 RF 使用不同的策略来解决偏差和方差。
我的问题是我可以重新采样数据集(有替换)来训练多个 GBDT 并将它们的预测结合起来作为最终结果吗?
相当于以GBDT为基础学习器构建随机森林
这个想法是,GBDT 可以过拟合数据集(类似于完全生长的决策树,低偏差高方差)。我希望使用 bagging 技术也可以减少这个问题,并希望获得更好的性能。
有什么建议吗?
是的你可以。Bagging 作为一种技术不依赖于单个分类或回归树作为基础学习器;你可以用任何东西来做到这一点,尽管许多基础学习器(例如线性回归)的价值低于其他学习器。维基百科上的bootstrap 聚合 文章包含一个在臭氧数据上装袋 LOESS 平滑器的示例。
但是,如果您这样做,您几乎肯定不想使用与完全调整的单个 GBM 相同的参数。调整 GBM 的很大一部分目的是防止过度拟合。bagging 通过不同的机制减少过拟合,所以如果你调整的 GBM 没有过拟合,bagging 可能也无济于事 - 而且,由于你可能需要数百棵树才能有效地进行 bag,所以你的运行时间会增加也是几百倍。所以现在你有两个问题 - 如何调整你的 GBM,因为它嵌入在随机森林中(尽管它可能并不那么重要,因为它嵌入在随机森林中)和运行时问题。
写完所有这些之后,尽管采用不同的方式,bagging 类型的思维确实可以与 GBM 进行有利可图的整合。例如,H20 提供了让 GBM 树序列的每棵树在训练数据的随机样本上开发的选项。这个样本是在没有替换的情况下完成的,因为有替换的抽样被认为会导致结果树过度拟合样本中重复的那些部分。这种方法是由 Breiman 的“自适应装袋”程序明确推动的,有关详细信息,请参阅弗里德曼 1999 年的随机梯度提升论文。