当我们降低树的深度时,梯度提升如何提高准确性?

数据挖掘 决策树 集成建模
2022-02-21 21:56:36

关于梯度提升,我不明白的是,降低树的高度是否意味着我们在模型中使用更少的特征?

从我的模型中,当深度为 1 时,我得到最高精度。这意味着我的树上只有根节点,并且使用一个功能。使用一个特征的模型如何提供这样的准确性?

2个回答

我发现很难想象基于树的提升是如何工作的。我认为有两个重要组成部分:

  1. Boosting 可以看作是一种集成方法,因此本质上它不是一棵“小”树,而是许多(实际上是大量)小树一起学习。
  2. 在学习过程中,对学习过程有反馈(“自适应提升”)。因此,“难以预测”的观察值会获得更高的权重(如果您愿意,可以关注更多)。这允许集成比其他方法“更深入”地学习。

xgboost文档附带了关于 boosted trees的一个很好的介绍

“统计学习要素”的第 10 章介绍了 boosting。值得一看。下面是本书介绍的 AdaBoost 例程。

在此处输入图像描述

还有其他增强方法不适用于树。这是一个简单的 L2 提升例程,在R.

在 boosting 中,通过将高偏差和低变体模型相加组合来集成低偏差和低方差模型。在这里,偏差逐渐减少,同时保持较低的方差。因此,具有高度偏差的单一深度的树不是问题,因为加性误差会减少。