トレーニング、検証、テストなどの相互検証。なぜ3つのサブセットが必要なのですか?


28

相互検証プロセスに関して質問があります。私は、Curseraの機械学習のコースの途中にいます。トピックの1つは相互検証に関するものです。フォローするのが少し難しいと感じました。モデルが将来の(未知の)データに対して適切に機能し、CVがオーバーフィッティングを防ぐため、CVが必要な理由を知っています。ただし、プロセス自体は混乱を招きます。

私が理解したことは、データを3つのサブセット(トレーニング、検証、テスト)に分割することです。トレーニングと検証は、モデルの最適な複雑さを見つけることです。私が理解していないのは、3番目のサブセットです。モデルの多くの機能を使用し、トレーニングして検証サブセットで検証し、構造を変更するときに最小コスト関数を探すことを理解しています。見つかったら、テストサブセットでモデルをテストします。検証サブセットで最小コスト関数を既に見つけた場合、テストサブセットで再度テストする必要があるのはなぜですか?

誰かがこれを明確にしてくれますか?

ありがとうございました


[1]の論文とディスカッションは、あなたの質問とは無関係です。メモリから、3つのサブセットに言及しています。1つ目はモデルを作成し、2つ目はそのパラメータを推定し、3つ目は予測により検証します。[1] Chatfield、C。モデル不確実性、データマイニングおよび統計的推論(議論あり)王立統計学会誌。シリーズA(社会統計)、1995、158、419-466
休止状態


乾杯!このリンクの背後にあるスレッドは、これを理解するための優れた情報源でもあります:)
Celdor

回答:


37
  • トレーニングセットは、特定のモデルに最適なパラメーターを選択するために使用されます。トレーニングセットを使用して特定のパラメータセットを評価すると、コスト関数の公平な推定値が得られるはずです。これは、選択する行為です。たパラメータ最適化バイアスが推定彼らが提供するトレーニングセットに基づいて費用関数の推定値は。トレーニングセットで最高のパフォーマンスを発揮するパラメーターが選択されました。そのため、トレーニングセットで評価されるこれらのパラメーターの見かけのパフォーマンスは、過度に楽観的です。
  • トレーニングセットを使用してトレーニングすると、検証セットを使用して最適なモデルが選択されます。繰り返しになりますが、検証セットを使用して特定のモデルを評価すると、コスト関数の代表的な推定値が得られることに注意してください。検証セットで最良のパフォーマンスを発揮するのはモデルが選択する行為です。検証セットで最高のパフォーマンスを発揮するモデルが選択されました。したがって、検証セットで評価されたそのモデルの見かけのパフォーマンスは過度に楽観的です。
  • 訓練された使用して、各モデルのトレーニングセットを、そして選ばれた使用して最適なモデルを検証セットを、テストセットは、モデルの最終的な選択はどのように良いあなたに伝えます。実行時に得られる実際のパフォーマンスの公平な推定値を提供しますが、これは多くの理由で重要です。パラメータはバイアスされているため、これにトレーニングセットを使用することはできません。また、モデル自体はこれらに偏っているので、この検証セットを使用することはできません。したがって、3番目のセットが必要です。

私は今これを見ることができます。ありがとうございました。モデル構造の観点から公平なパフォーマンスを見つけるためにもう1つのサブセットが必要になるという事実については考えませんでした。乾杯:)非常に良い説明です。
セルドール

それで、最終的なテストセットは、モデルの最適化や最適なモデルの選択のいずれにおいても役割を果たさないということですか?
アンモルシンジャギ

1
いいえ。実際、予想されるパフォーマンスを推定するためにのみ使用する必要があります。したがって、テストセットのパフォーマンスの結果が気に入らない場合は、モデルが再びバイアスされるため、テスト結果を最適化するためにモデルを調整する衝動を実際に回避する必要があります。
イッセンデボーア

12

検証サブセットで既に最小コスト関数を見つけた場合、テストサブセットで再度テストする必要があるのはなぜですか

ランダムエラーのため:通常、ケースの数は有限です。

検証(内部テスト)パフォーマンスの最適化は、その内部テストセットに過剰適合している可能性があることを意味します。内部テストセットは最終モデルの推定に寄与するため、モデルから独立していません。

つまり、一般化プロパティを推定する場合は、モデリング手順全体(すべての最適化とデータ駆動型の前処理またはモデル選択プロセスを含む)から独立した別の(外部)テストセットが必要です。

シミュレーションを作成し、3つの異なるエラー推定値を比較することをお勧めします

  • 再代入:列車セットの予測は適合度を
    測定します
  • 内部テスト(命名法:検証)セット:オプティマイザーが達成すると考える品質
  • 外部テストセット:一般化エラー、モデルトレーニングとは無関係。

シミュレーションでは、適切に、大規模な、独立して生成されたテストセットと簡単に比較することもできます。セットアップが正しい場合、外部テストは不偏である必要があります(データセット全体で構築された「最終」モデルではなく、評価するサロゲートモデルを使用)。内部テストは通常​​楽観的に偏っており、再代入はさらに楽観的に偏っています。

私の分野では、内部テストは一般化エラーを2-5の係数で簡単に過小評価します(積極的な最適化スキームの場合はさらに大きくなります)。


注:セットの命名法は普遍的ではありません。私の分野(分析化学)では、通常、検証は最終手順のパフォーマンスの証明を意味します。したがって、「検証」セットが行うことよりも「テスト」セットが行うことの方が多くなります。

したがって、内側と外側のテストセット、または最適化テストセット(=内側のテストセット)について説明し、検証セットは外側のテストセットを意味します。


2

モデルのトレーニング中に、モデルのメタパラメーター(正則化パラメーターなど)を選択するか、いくつかのモデルから選択する必要があります。この場合、パラメーターの選択には検証サブセットが使用されますが、最終予測の推定にはテストサブセットが使用されます。

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