ランダムフォレストはオーバーフィットしますか?


24

私はランダムフォレストについて読んでいますが、過剰適合の問題に関する明確な答えを見つけることができません。ブライマンの元の論文によると、森の中の木の数を増やしても過剰適合すべきではありませんが、これについてはコンセンサスがないようです。これにより、この問題に関するかなりの混乱が生じています。

私よりも専門家が具体的な答えをくれたり、問題をよりよく理解するために正しい方向を教えてくれるかもしれません。


3
すべてのアルゴリズムはある程度オーバーフィットします。過剰適合しないものを選ぶことではなく、過剰適合の量と解決する問題の形式を慎重に検討して、より適切なメトリックを最大化することです。
インディコ14

1
ISTRは、ブライマンが多数の法則に基づいた証拠を持っていることを証明しました。誰かがその証拠に欠陥を発見しましたか?
JenSCDC 14

回答:


22

複雑度の高いMLアルゴリズムはすべて適合しすぎる可能性があります。ただし、OPは、フォレスト内のツリーの数を増やしたときにRFがオーバーフィットしないかどうかを尋ねています。

一般に、アンサンブル法は予測分散をほとんどゼロに減らし、アンサンブルの精度を改善します。個々のランダム化モデルの予想される一般化誤差の分散を次のように定義する場合:

ここから、アンサンブルの予想される汎化誤差の分散は次のことに対応します。

ここp(x)で、2つの独立したシードからの同じデータでトレーニングされた2つのランダム化モデルの予測間のピアソンの相関係数です。RFのDTの数を大きくするとM、のときに集団の分散が減少しρ(x)<1ます。したがって、アンサンブルの分散は個々のモデルの分散よりも厳密に小さくなります。

簡単に言えば、アンサンブル内の個々のランダム化モデルの数を増やしても、一般化エラーが増えることはありません。


1
それは間違いなくレオ・ブレイマンと理論が言っていることですが、経験的には間違いなくオーバーフィットしているようです。たとえば、現在、10倍のCV MSEが0.02のモデルがありますが、グラウンドトゥルースに対して測定すると、CV MSEは.4。OTOHツリーの深さとツリー数を減らすと、モデルのパフォーマンスが大幅に向上します。
ハックR

4
正規化を追加しているため、ツリーの深さを減らす場合は別のケースです。これにより、オーバーフィットが減少します。残りのパラメーターを変更せずに、ツリーの数を増やしたときにMSEをプロットしてみてください。したがって、y軸にMSEがあり、x軸にnum_tressがあります。ツリーを追加すると、エラーが急速に減少し、その後プラトーになります。しかし、それは決して増加しません。
tashuhka

9

クロス検証 -機械学習を含む多くのことのstachexchange Webサイトを確認することができます。

特に、この質問(まったく同じタイトル)は、すでに複数回回答されています。次のリンクを確認してください:https : //stats.stackexchange.com/search?q=random+forest+overfit

しかし、私はあなたにそれに対する簡単な答えを与えるかもしれません:はい、それはオーバーフィットし、時にはあなたはあなたの森の木の複雑さを制御する必要があります、またはそれらが大きくなりすぎたときに剪定する必要があります-しかしこれはあなたが使用するライブラリに依存します森を作ります。たとえば、randomForestRでは複雑さのみを制御できます


3
  1. ランダムフォレストは過剰適合します。
  2. ランダムフォレストでは、モデルにツリーを追加しても一般化エラーは増加しません。一般化分散は、使用されるツリーが増えるとゼロになります。

非常に簡単な実験を行いました。合成データを生成しました:

y = 10 * x + noise

2つのランダムフォレストモデルをトレーニングしました。

  • 満開の木
  • 剪定された木のあるもの

完全なツリーを持つモデルは、枝刈りされたツリーを持つモデルよりもトレイン誤差は低くなりますが、テストエラーは大きくなります。両方のモデルの応答:

反応

過剰適合の明確な証拠です。次に、オーバーフィットモデルのハイパーパラメーターを取得し、各ステップ1ツリーで追加する際にエラーをチェックしました。私は次のプロットを得ました:

成長する木

ご覧のとおり、ツリーを追加してもオーバーフィットエラーは変化しませんが、モデルはオーバーフィットしています。これが私が行った実験のリンクです。


1

構造化データセット->誤解を招くOOBエラー

私は仕事の練習でRFの過剰適合の興味深い事例を見つけました。データが構造化されている場合、OOB観測でRFが過剰適合します。

詳細:

私は1時間ごとに電気スポット市場の電気料金を予測しようとしています(データセットの各行には、その1時間の価格とシステムパラメータ(負荷、容量など)が含まれています)。
電力価格はバッチで作成されます(24の価格が1つの瞬間に1回の固定で電力市場で作成されます)。
したがって、各ツリーのOOBオブジェクトは時間のセットのランダムなサブセットですが、次の24時間を一度に予測すると、すべてを一度に実行します(最初にすべてのシステムパラメーターを取得してから、24の価格を予測すると、それらの価格)、そのためOOB予測を行うのが簡単で、それから翌日全体で。OOB obsは24時間ブロックに含まれていませんが、均一に分散しています。予測エラーの自己相関があるため、欠落している時間のブロック全体よりも欠落している1時間の価格を簡単に予測できます。

エラー自己相関の場合の予測が容易:
既知、既知、予測、既知、予測 -OBBの場合
より困難なもの:
既知、既知、既知、予測、予測 -現実世界の予測の場合

おもしろい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.