私はランダムフォレストについて読んでいますが、過剰適合の問題に関する明確な答えを見つけることができません。ブライマンの元の論文によると、森の中の木の数を増やしても過剰適合すべきではありませんが、これについてはコンセンサスがないようです。これにより、この問題に関するかなりの混乱が生じています。
私よりも専門家が具体的な答えをくれたり、問題をよりよく理解するために正しい方向を教えてくれるかもしれません。
私はランダムフォレストについて読んでいますが、過剰適合の問題に関する明確な答えを見つけることができません。ブライマンの元の論文によると、森の中の木の数を増やしても過剰適合すべきではありませんが、これについてはコンセンサスがないようです。これにより、この問題に関するかなりの混乱が生じています。
私よりも専門家が具体的な答えをくれたり、問題をよりよく理解するために正しい方向を教えてくれるかもしれません。
回答:
複雑度の高いMLアルゴリズムはすべて適合しすぎる可能性があります。ただし、OPは、フォレスト内のツリーの数を増やしたときにRFがオーバーフィットしないかどうかを尋ねています。
一般に、アンサンブル法は予測分散をほとんどゼロに減らし、アンサンブルの精度を改善します。個々のランダム化モデルの予想される一般化誤差の分散を次のように定義する場合:
ここから、アンサンブルの予想される汎化誤差の分散は次のことに対応します。
ここp(x)
で、2つの独立したシードからの同じデータでトレーニングされた2つのランダム化モデルの予測間のピアソンの相関係数です。RFのDTの数を大きくするとM
、のときに集団の分散が減少しρ(x)<1
ます。したがって、アンサンブルの分散は個々のモデルの分散よりも厳密に小さくなります。
簡単に言えば、アンサンブル内の個々のランダム化モデルの数を増やしても、一般化エラーが増えることはありません。
クロス検証 -機械学習を含む多くのことのstachexchange Webサイトを確認することができます。
特に、この質問(まったく同じタイトル)は、すでに複数回回答されています。次のリンクを確認してください:https : //stats.stackexchange.com/search?q=random+forest+overfit
しかし、私はあなたにそれに対する簡単な答えを与えるかもしれません:はい、それはオーバーフィットし、時にはあなたはあなたの森の木の複雑さを制御する必要があります、またはそれらが大きくなりすぎたときに剪定する必要があります-しかしこれはあなたが使用するライブラリに依存します森を作ります。たとえば、randomForest
Rでは複雑さのみを制御できます
非常に簡単な実験を行いました。合成データを生成しました:
y = 10 * x + noise
2つのランダムフォレストモデルをトレーニングしました。
完全なツリーを持つモデルは、枝刈りされたツリーを持つモデルよりもトレイン誤差は低くなりますが、テストエラーは大きくなります。両方のモデルの応答:
過剰適合の明確な証拠です。次に、オーバーフィットモデルのハイパーパラメーターを取得し、各ステップ1ツリーで追加する際にエラーをチェックしました。私は次のプロットを得ました:
ご覧のとおり、ツリーを追加してもオーバーフィットエラーは変化しませんが、モデルはオーバーフィットしています。これが私が行った実験のリンクです。
構造化データセット->誤解を招くOOBエラー
私は仕事の練習でRFの過剰適合の興味深い事例を見つけました。データが構造化されている場合、OOB観測でRFが過剰適合します。
詳細:
私は1時間ごとに電気スポット市場の電気料金を予測しようとしています(データセットの各行には、その1時間の価格とシステムパラメータ(負荷、容量など)が含まれています)。
電力価格はバッチで作成されます(24の価格が1つの瞬間に1回の固定で電力市場で作成されます)。
したがって、各ツリーのOOBオブジェクトは時間のセットのランダムなサブセットですが、次の24時間を一度に予測すると、すべてを一度に実行します(最初にすべてのシステムパラメーターを取得してから、24の価格を予測すると、それらの価格)、そのためOOB予測を行うのが簡単で、それから翌日全体で。OOB obsは24時間ブロックに含まれていませんが、均一に分散しています。予測エラーの自己相関があるため、欠落している時間のブロック全体よりも欠落している1時間の価格を簡単に予測できます。
エラー自己相関の場合の予測が容易:
既知、既知、予測、既知、予測 -OBBの場合
より困難なもの:
既知、既知、既知、予測、予測 -現実世界の予測の場合
おもしろい