ランダムフォレストについて報告するトレーニングエラーの尺度


15

現在randomForest、R のパッケージを使用して分類問題にランダムフォレストを適合させていますが、これらのモデルのトレーニングエラーを報告する方法については不明です。

コマンドで取得した予測を使用して計算すると、トレーニングエラーは0%に近くなります。

predict(model, data=X_train)

X_trainトレーニングデータはどこにありますか。

関連する質問への回答では、ランダムフォレストのトレーニングエラーメトリックとしてout-of-bag(OOB)トレーニングエラーを使用する必要があることを読みました。この数量は、コマンドで取得した予測から計算されます。

predict(model)

この場合、OOBトレーニングエラーは平均10 CVテストエラーである11%にはるかに近くなります。

不思議なんだけど:

  1. ランダムフォレストのトレーニングエラーの尺度としてOOBトレーニングエラーを報告することは一般に受け入れられていますか?

  2. 従来のトレーニングエラーの測定値が人為的に低いというのは本当ですか?

  3. 従来のトレーニングエラーの測定値が人為的に低い場合、RFが過適合であるかどうかを確認するために2つの測定値を比較できますか?

回答:


10

@Soren H. Wellingの回答に追加します。

1.ランダムフォレストのトレーニングエラー測定値としてOOBトレーニングエラーを報告することは一般に受け入れられていますか?

いいえ。トレーニング済みモデルのOOBエラーは、トレーニングエラーと同じではありません。ただし、予測精度の尺度として使用できます。

2.従来のトレーニングエラーの測定値が人為的に低いというのは本当ですか?

これは、デフォルト設定を使用して分類問題を実行している場合に当てはまります。正確なプロセスは、次のようにRでパッケージを保守しているAndy Liawによるフォーラム投稿で説明されてrandomForestいます。

ほとんどの場合、トレーニングセットのパフォーマンスは無意味です。(これはほとんどのアルゴリズムに当てはまりますが、特にRFの場合に当てはまります。)デフォルト(および推奨)設定では、ツリーは最大サイズに成長します。末端ノードでの予測は、ノードの多数決クラス、または孤立したデータポイントによって決定されます。常にそうだとしましょう。つまり、すべてのツリーでは、すべてのターミナルノードにデータポイントが1つしかありません。特定のデータポイントは、フォレスト内の約64%のツリーで "in-bag"になり、それらのツリーのすべてがそのデータポイントの正しい予測を持ちます。そのデータポイントがout-of-bagであるすべてのツリーが、すべてのツリーの多数決によって間違った予測を与えたとしても、最終的には正しい答えが得られます。したがって、基本的にRFの列車セットの完全な予測は「設計」です。

nodesize > 1sampsize < 0.5Nバツy

3.トレーニングエラーの従来の測定値が人為的に低い場合、RFが過適合であるかどうかを確認するために2つの測定値を比較できますか?

nodesize = 1sampsize > 0.5でRFを実行すると、RF のトレーニングエラーは常に0に近くなります。この場合、モデルが過適合であるかどうかを判断する唯一の方法は、一部のデータを独立した検証セットとして保持することです。その後、10-CVテストエラー(またはOOBテストエラー)を独立検証セットのエラーと比較できます。10-CVテストエラーが独立検証セットのエラーよりもはるかに低い場合、モデルは過剰適合している可能性があります。


2

[編集21.7.15 8:31 AM CEST]

分類にRFを使用したと思います。この場合、アルゴリズムは1つのターゲットクラスのみの純粋なターミナルノードを持つ完全に成長したツリーを生成するためです。

predict(model, data=X_train)

このコーディング行は、犬が自分の尻尾を追いかけるようなものです。トレーニングサンプルの予測は、トレーニングサンプル自体のクラスです。回帰の場合、ノードに含まれるサンプルが5個以下の場合、またはノードが純粋な場合、RFは停止します。この場合、予測誤差は小さくなりますが、0%ではありません。

機械学習では、しばしば大きな仮説空間で作業します。これは、トレーニングセットのデータ構造に対する仮説/説明/モデルがまだ改ざんされていないことが常に多いことを意味します。古典的な統計では、仮説空間はしばしば小さいため、いくつかの仮定された確率理論に応じて直接モデル適合は有益です。機械学習では、直接的な適合性の欠如はバイアスに関連していますかはモデルのます。バイアスは、モデルの「非柔軟性」です。しませんとにかく一般化力(新しいイベントを予測する能力)の近似値を提供します。アルゴリズムモデルの場合、理論は定式化されていないため、交差検定は一般化力を近似する最適なツールです。ただし、独立サンプリングのモデルの前提条件が満たされない場合、うまく実行された相互検証が別の方法で提案された場合でも、モデルはとにかく役に立たない可能性があります。最後に、最も強力な証拠は、さまざまな起源の多数の外部テストセットを満足のいくように予測することです。

CVに戻る:多くの場合、Out-of-bagは受け入れられているCVタイプです。私は個人的に、OOB-CVが5-fold-CVと同様の結果を提供すると思いますが、これは非常に小さな迷惑です。たとえば、RFとSVMを比較する場合、通常OVM-CVはSVMの袋詰めを避けるため有用ではありません。その代わりに、SVMとRFの両方がまったく同じクロス検証スキームに埋め込まれます。たとえば、各繰り返しに対してパーティションが一致する10倍10繰り返しです。多くの場合、機能エンジニアリングの手順も相互検証する必要があります。物事をきれいに保つために、データパイプライン全体をCVに埋め込むことができます。

テストセット(または交差検証)でモデルを調整すると、仮説空間が再び膨らみ、検証された予測パフォーマンスは楽観的になりすぎる可能性があります。代わりに、調整するためのキャリブレーションセット(またはキャリブレーションCVループ)と、最終的な最適なモデルを評価するための検証セット(または検証CVループ)が必要です。

極端な意味では、検証結果は、この結果を目にして行動しない場合にのみ偏りがありません。これは検証のパラドックスです。なぜあなたがそれに基づいて行動しなかった場合にのみ真実である知識を得るのでしょうか。実際には、コミュニティはある種の出版バイアスを喜んで受け入れます。ランダムに過剰に楽観的な検証を得た研究者は、不幸にも過悲的に検証を行った研究者よりも出版する可能性が高くなります。そのため、他のモデルを再現できない場合があります。


これありがとう。2つの質問:(1)トレーニングサンプルの予測は、トレーニングサンプル自体のクラスとどのように関係していますか?多数決手順で使用されるトレーニングサンプルを使用しないツリーが存在する必要がありますか?(2)では、RF測定値が過適合である場合、どのように評価しますか?
バークU.

(1)ええ、私は少し速かったので、答えを編集しました。サンプルは、ツリーの〜66%でインバッグされます。ツリーのサンプルがトレーニング中にインバッグされた場合、予測中にその同じノードで最大66%になり、毎回多数決を獲得するのに十分です。sampsizeをたとえば電車のサンプルの30%に下げることでこれを確認し、0%の分類エラーからの上昇に注目してください。(2)答えたと思う。RF自体はオーバーフィットしませんが、チューニング中にコンテキストを作成して、過度に楽観的なOOB-CVの結果を得ることができます。確実に知るために、プロセス全体を新しい履歴書に埋め込みます。
ソレンHavelundウェリング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.