ランダムフォレストアルゴリズムステップの背後にある動機


11

ランダムフォレストを構築するためによく知っている方法は次のとおりです(http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htmから)

フォレスト内にツリーを構築するには、次のようにします。

  1. サイズNのサンプルをブートストラップします。ここで、Nはトレーニングセットのサイズです。このブートストラップサンプルを、このツリーのトレーニングセットとして使用します。
  2. ツリーの各ノードで、M個の特徴のm個をランダムに選択します。分割するこれらのm個の特徴の中から最適なものを選択します。(ここで、mはランダムフォレストのパラメーターです)
  3. 各ツリーを可能な限り最大に成長させます-つまり剪定はしません。

このアルゴリズムは手順レベルで意味があり、確かに良い結果が得られますが、手順1、2、3の背後にある理論的な動機は何かはわかりません。誰かがこの手順を思いついた動機とその理由を説明できますか?うまくいく?

例:なぜステップ1を実行する必要があるのですか?通常の分散減少の目的でブートストラップしているようには見えません。

回答:


9

Ensembleメソッド(ランダムフォレストなど)は、個々の基本分類子が成長するデータセット内のバリエーションの要素を必要とします(そうしないと、ランダムフォレストは類似しすぎる木のフォレストになります)。デシジョンツリーはトレーニングセットの観測値に非常に敏感であるため、観測値を(ブートストラップを使用して)変化させることは、必要な多様性を得るための自然なアプローチだったと思います。明白な代替策は、使用される機能を変更することです。たとえば、元の機能のサブセットで各ツリーをトレーニングします。ブートストラップサンプルを使用すると、out-of-bag(OOB)エラー率と変数の重要度を推定することもできます。

2は本質的にランダム性をフォレストに注入する別の方法です。(低いmtry値を使用することにより)ツリー間の相関関係を減らすことにも影響があり、トレードオフが(潜在的に)予測力を悪化させます。使用するmtryの値が大きすぎると、木が互いに似たものになります(極端な場合、最終的には袋詰めになります)。

剪定しない理由は、何よりも剪定が必要ないという事実によると私は思います。単一の決定木では、過剰適合の影響を非常に受けやすいため、通常はそれを枝刈りします。ただし、ブートストラップサンプルを使用して多くの木を成長させることにより、ランダムフォレストは個々に強いが、特に相互に相関しない木を成長させることができます。基本的に、個々のツリーは過剰適合ですが、それらのエラーが相関しない場合、フォレストはかなり正確でなければなりません。

それがうまく機能する理由は、コンドルセの陪審定理(およびブースティングなどの方法の背後にあるロジック)に似ています。基本的に、ランダムな推測よりもわずかに優れたパフォーマンスを必要とする弱学習者がたくさんいます。これが当てはまる場合は、弱学習器を追加し続けることができ、制限内では、集団から完全な予測が得られます。学習者のエラーが相関するようになるため、これは明らかに制限され、アンサンブルのパフォーマンスは向上しません。


良い答えであり、コンドルセの陪審定理との関連は理にかなっています。正式には、それがうまく機能する理由は、ジェンセンの不平等のためです!
JEquihua 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.