为什么我们在随机森林中选择随机特征

数据挖掘 机器学习 随机森林
2021-09-20 08:33:10

我知道随机森林是树木装袋的程式化版本。我们选择随机数据点以及随机特征来构建随机森林。

但是,如果我们通过仅随机选择数据点来使用普通版本的 bagging,那么我们将拥有训练了更多特征的树,这与风格化版本中的随机森林不同。由于学习更多特征,每棵树都有更多关于数据点的信息,因此在某种意义上比随机森林中的单棵树更“智能”。

那么为什么使用程式化版本的 bagging 的随机森林比使用简单的 bagging 实现的随机森林表现更好呢?

我知道使用程式化版本的随机森林给模型提供了较低的方差,但是由于它的每棵树都经过了一些特征的训练,它不应该使模型有点偏高吗?

2个回答

随机森林的想法基本上是构建许多去相关的决策树(或其他弱学习器),以便它们的平均值不太容易过度拟合(减少方差)。一种方法是对训练集进行二次抽样。子采样特征可以进一步去相关树的原因是,如果主导特征很少,即使对于不同的子样本,这些特征也会在许多树中被选中,使森林中的树再次相似(相关)。

采样特征的数量越少,去相关效果就越高。另一方面,随机森林的偏差与任何采样树的偏差相同(参见例如 Elements of Statistical Learning),但随机森林的随机化限制了模型,因此偏差通常更高比完全成长(未修剪)的树。你是对的,如果你对更少的特征进行采样,你可以期望更高的偏差。因此,“特征装袋”确实为您提供了偏差和方差的经典权衡。

我的直觉是,在所有变量的子集上训练每棵树有助于完全使用不太有用的变量。因为经常有一些与目标高度相关的特征,所以所有的树都只会使用这些非常好的特征,而永远不会使用弱的特征。通过处理随机子集,有时会使用弱特征并对结果做出一点贡献。