なぜk分割交差検証(CV)がオーバーフィットするのですか?または、なぜCVとテストセットの間で不一致が発生するのですか?


7

最近、プロジェクトに取り組んでいて、相互検証エラー率が非常に低いのに、テストセットのエラー率が非常に高いことがわかりました。これは、私のモデルが過剰適合していることを示している可能性があります。テストセットがオーバーフィットしているのに、クロス検証がオーバーフィットしないのはなぜですか?

より具体的には、100個の変数(n >> p)を持つ約200万の観測値があります。データセットをランダムに80/20トレインとテストに分割しました。次に、トレーニングセットで5分割交差検証を使用してモデル(XGboostなど)を近似し、推定エラー率はかなり低くなっています。次に、同じパラメーター設定を使用し、トレーニングセット全体を使用してモデルに適合させました。驚いたことに、テストセットを使用してモデルのパフォーマンスを評価したところ、エラーレートはCVエラーレートよりも大幅に高くなっています。どうして?

編集:

(エラー率について)

エラー率は、実際に多項loglossです。1.320044(+/- 0.002126)のCVエラー率と1.437881のテストエラー率を達成しました。これら2つの数字を見つめると、彼らは近くに見えるかもしれませんが、実際にはそうではありません。これを正当化する方法はわかりませんが、このプロジェクトのパフォーマンスのスケール(1.55から1.30まで)では、それらが異なると確信しています。

5分割交差検証の方法は次のようなものです。

  1. 列車セットを5セットに分割します。
  2. 4セットのモデルを繰り返し適合させ、残りのセットでパフォーマンスをテストします。
  3. 5つの反復すべてのパフォーマンスを平均化します。

つまり、私のパラメーター設定でモデルがオーバーフィットする場合は、この相互検証手順で確認する必要があります。しかし、テストセットを使用するまでは表示されません。地球上のどのような状況下でこれが起こる可能性がありますか?

ありがとう!

追加:

CVエラーレートがテストセットエラーレートと異なる理由は、

あなたが持っているデータがあなたが予測しようとしているデータを代表していないなら、クロス検証は外部データに対してうまく機能しません! - ここに

しかし、ランダムに8/2で200万サンプルのデータセットを分割しました。トレインセットとテストセットの変数の分布は同じであるはずです。

(私も同じ質問をここに投稿してください。)

編集:

(データ漏洩について)

クロスバリデーションされた@darXiderから1つの興味深い賞をいただきました。彼は言う、

場合によっては、機能エンジニアリングの際に、トレーニングセットとテストセットの間のデータリークを回避するように注意する必要があります。たとえば、元の手つかずのデータでPCAを実行し、PC1とPC2を「新しい」機能として使用し、データセットをトレーニングとテストに分割すると、トレーニングセットからテストセットに情報がリークします。それはあなたのスコアを押し上げます。機能エンジニアリングの後で、CVスコアとテストスコアが一致しなくなったとのことですが、これは、トレーニングセットとテストセットの間で何らかの情報漏えいを示唆する可能性があります。

正確には「データ漏えい」とは何なのか、なぜ分割前の機能エンジニアリングがまだ「データ漏えい」を引き起こす可能性があるのでしょうか?


SDが+/- 0.002の場合、平均が1.32であることから、CVが5倍の場合はかなり良いように見えます。個別のフォールドスコアを教えてもらえますか?
Neil Slater

回答:


3

Cross Validatedから受け取ったコメントに同意します。データリークは、テストスコアと比較して楽観的なCVスコアを引き起こすことがわかっているため、この問題設定に適合するものです。実行したデータの前処理手順に関する情報を提供した場合、それは実際にデータ漏洩の問題であることが確認できます。

データ漏洩とは、情報がテストデータからトレーニングデータに漏洩し、訓練されたモデルが期待されるパフォーマンスを過大評価し、見えないデータに不十分に一般化することを意味します。学ぶ。

例として、ごく少量のトレーニング例しかなく、他のトレーニング例と何らかの形で類似しているトレーニング例をさらに合成するとします。CVループの前ではなく、その内側(各フォールド内)で合成を実装すると、CVの精度は急上昇しますが、テストの精度は低くなります。データの合成に加えて、データの漏洩は、データのスケーリング、欠損値の入力、特徴選択の実行など、他の前処理ステップでも発生する可能性があります。

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