随机森林算法步骤背后的动机


11

我熟悉的用于构建随机森林的方法如下:(来自http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm

要在森林中建树,我们:

  1. 引导一个大小为N的样本,其中N是我们的训练集的大小。使用此引导示例作为此树的训练集。
  2. 在树的每个节点上,随机选择M个特征中的m个。在这m个功能中选择最佳以进行拆分。(其中m是我们的随机森林的参数)
  3. 使每棵树最大程度地生长-即不修剪。

虽然此算法在程序级别上有意义并且肯定会产生良好的结果,但我不清楚步骤1、2和3背后的理论动机是什么。请问有人可以解释是什么促使有人提出了此过程以及为什么要这样做效果很好?

例如:为什么我们需要执行步骤1?似乎我们没有为减少偏差的通常目的而自举。

Answers:


9

集成方法(例如随机森林)需要在其上生长各个基本分类器的数据集中有一些变化元素(否则,随机森林最终将是过于相似的树木森林)。由于决策树对训练集中的观测值高度敏感,因此我认为改变观测值(使用引导程序)是获得所需多样性的自然方法。显而易见的替代方法是更改​​所使用的特征,例如在原始特征的子集上训练每棵树。使用引导程序样本还使我们能够估计袋外(OOB)错误率和变量重要性。

2本质上是将随机性注入森林的另一种方法。它还会降低树之间的相关性(通过使用较低的mtry值),并且折衷(可能)使预测能力变差。使用太大的mtry值将导致树木之间的相似度越来越高(在极端情况下,您最终会遇到套袋)

我认为不修剪的原因更多是因为它没有必要比其他任何东西更重要。使用单个决策树通常会对其进行修剪,因为它极易过拟合。但是,通过使用引导程序样本并种植许多树木,随机森林可以种植个体强壮但彼此之间没有特别关联的树木。基本上,单棵树是过度拟合的,但是如果它们的误差没有相关性,则森林应该是合理准确的。

它运作良好的原因类似于Condorcet的陪审团定理(以及诸如Boosting之类的方法背后的逻辑)。基本上,您有许多学习能力较弱的人,只需要比随机猜测略胜一筹。如果是这样,那么您可以继续增加学习能力较弱的人,并且在最大程度上可以从整体中获得完美的预测。显然,这是由于学习者的错误变得相关而受到限制的,这阻止了合奏的性能提高。


答案很好,并且与Condorcet的陪审团定理相关联。尽管从形式上讲,它之所以有效,是因为詹森的不平等!
耶基瓜
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.