randomForestの正しいsampSizeを決定するための式またはルールはありますか?


13

randomForestで遊んでいますが、一般にsampSizeを増やすとパフォーマンスが向上することがわかりました。最適なsampSizeがどうあるべきか、それとも試行錯誤なのかを示唆するルール/公式/などはありますか?別の言い方をすると思います。sampSizeが小さすぎる、または大きすぎる(オーバーフィット)リスクは何ですか?


この質問は、randomForestパッケージ内のランダムフォレストのR実装に関するものです。この関数randomForestにはパラメーターがsampSizeあり、ドキュメントで次のように説明されています。

描画するサンプルのサイズ。分類のために、sampsizeが層数の長さのベクトルである場合、サンプリングは層ごとに層化され、sampsizeの要素は層から描画される数を示します。

回答:


21

一般に、ランダムフォレストのサンプルサイズは、関連する「ランダム性の度合い」のコントロールとして機能するため、バイアスと分散のトレードオフを調整する方法として機能します。サンプルサイズを大きくすると、「ランダム性の低い」フォレストになり、オーバーフィットする傾向があります。サンプルサイズを小さくすると、フォレスト内の個々のツリーのばらつきが大きくなり、過剰適合を防ぎますが、通常はモデルのパフォーマンスが低下します。有用な副作用は、サンプルサイズを小さくすると、モデルのトレーニングに必要な時間が短縮されることです。

最適なサンプルサイズの一般的な経験則は、「ブートストラップサンプル」です。サンプルは元のデータセットと同じサイズですが、置換で選択されるため、一部の行は選択されず、他の行は複数選択されます。これは通常、最適に近いパフォーマンスを提供し、標準R実装のデフォルトです。ただし、実際のアプリケーションでは、サンプルサイズを調整するとパフォーマンスが向上する場合があります。疑わしい場合は、交差検定を使用して適切なサンプルサイズ(および他のモデルパラメーター)を選択します。


2

いくつかのランダムなパラメーター設定で4500のランダムフォレストを夜間実行しました。

回帰問題Ysignal = x1^2+sin(x2*pi) + x3 * x4 + x5 いずれかがx正規分布からの独立したサンプリングされ、平均値SD = 1、= 1

Ytotal = Ysignal + Yerror

どこ Yerror = rnorm(n.observations,sd=sd(Ysignal))*noise.factor

theoretical.explainable.variance"TEV" = var(Ysignal= / var(Ytotal)

randomForest.performance = explained.variance(OOB cross-validation) / TEV

データセットは回帰問題からサンプリングされ、追加されたノイズ n.obsn.extra.dummy.variables1〜20の間の1000〜5000の間の乱数でした。

ntree 常に1000

sample_replacement 常に true

mtry5〜25でn.obs noise.factor、0〜9 に制限されます

samplesize.ratio 10%〜100%の乱数、各ブートストラップの比率サイズ

すべてのモデルは次のように訓練されました rfo = randomForest(x=X, y=Ytotal, <more args>)

、が50%未満の場合は低下し、50%を超える場合は低下する場合、一般に増加のrandomForest.performance最高割合を説明する能力。TEVsamplesizeTEVTEV

したがって、あなたの randomForest-modelfitレポートで、たとえば15%がOOB-CVによる分散を説明し、これが許容できるモデル精度である場合、おそらく、パフォーマンスを少し下げることができます。sampsize、与えられntree > 1000た観測数の3分の1に。

士気:非常にノイズの多いデータの場合、最大サイズのツリーを成長させてバイアスを下げるよりも、ツリーの相関を解除する方が適切です。


1

ランダムフォレストがトレーニングデータと同様に新しいデータでも同様に機能するためには、必要なサンプルサイズが膨大で、多くの場合、候補フィーチャの数の200倍です。こちらをご覧ください


2
ハレル博士、OPはデータセットの合計サイズではなく、個々のツリーを構築するために使用されるリサンプリングのサイズについて尋ねていると思います。
シコラックスは、モニカを復活させる
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.