なぜ研究者は検証セットでテストする代わりに10分割交差検証を使用するのですか?
On 11月 30, 2020 by admin感情の分類と関連トピックに関する多くの研究論文を読みました。
それらのほとんどは、分類器のトレーニングとテストに10分割交差検定を使用します。これは、個別のテスト/検証が行われないことを意味します。何故ですか?
このアプローチの長所/短所は、特に調査を行う人にとってどのようなものですか?
コメント
- よろしいですか?個別のテストが行われましたか?
- +1。私は同じことに気づきました。多くの場合、10分割交差検証は、報告される最終結果です。
回答
これはCVがネストされている場合の問題 1つの大きなCVに包まれています。
これは、追加の検証セットがある場合とどのように比較されますか?検証セットは通常、データ全体のほぼランダムに選択された部分ですが、CVの1回の反復に相当します。この目的のために、それは(うまくいけば)幸運/不幸に選択された検証セットまたは厳選された検証セットによって簡単にバイアスされる可能性があるため、実際にはより悪い方法です。
これに対する唯一の例外は時系列およびその他オブジェクトの順序が重要なデータ。ただし、どちらの方法でも特別な処理が必要です。
回答
主な理由は、k分割交差検定推定量に単一のホールドアウト集合推定量よりも分散が小さい。これは、利用可能なデータの量が限られている場合に非常に重要になる可能性があります。データの90%がトレーニングに使用され、10%がテストに使用される単一のホールドアウトセットがある場合、テストセットは非常に小さいため、データのさまざまなサンプルのパフォーマンス推定値には大きなばらつきがあります。または、データのさまざまなパーティションでトレーニングセットとテストセットを形成します。 k倍検証は、k個の異なるパーティションを平均することでこの分散を減らすため、パフォーマンスの見積もりはデータのパーティション化の影響を受けにくくなります。さらに、k分割交差検定を繰り返すと、データのさまざまな分割を使用して交差検定が実行され、k個のサブセットが形成され、その平均も取得されます。
ただし、モデルフィッティング手順のすべてのステップ(モデルの選択、特徴の選択など)は、交差検定手順の各フォールドで個別に実行する必要があります。そうしないと、結果のパフォーマンス推定値に楽観的にバイアスがかかります。
回答
[コメントに照らして編集]
CVの結果を使用して選択すると問題があると思います複数のモデル。
CVを使用すると、データセット全体を使用して1つのモデル/メソッドをトレーニングおよびテストしながら、一般化の程度を合理的に把握できます。しかし、「複数のモデルを比較している場合、私の本能は、モデルの比較がCVが提供する追加レベルのトレインテスト分離を使い果たすため、最終結果は選択したモデルの精度の合理的な見積もりにはなりません。
つまり、複数のモデルを作成し、そのCVに基づいてモデルを選択すると、見つけたものについて過度に楽観的であると思います。別の検証セットが必要です。勝者は一般化します。
コメント
- ありがとうございます。そうです。しかし、私の質問は特に、研究論文に最終的な検証がない理由についてでした。適切な理由は?データが少なくなるのか、それともCVが適切に機能し、個別の検証が不要なためか?
- データ分割のアプローチは非常に重要です。非効率的。トレーニングセットとテストセットの両方が巨大になるまで、予測モデルの将来のパフォーマンスの可能性を推定するための平均二乗誤差は、ブートストラップまたはウィットを使用すると小さくなります。 hリサンプリング手順が$ Y $を含むすべてのモデリングステップにアクセスできると仮定して、10分割交差検定を100回繰り返します。測定プロセス、調査機器、またはデータの意味に関連するその他の手順も検証する必要がある場合は、データ分割を使用します。データ分割の適切な使用法は、計測が国によって異なる場合です。
回答
-
私の経験では、主な理由は通常、十分なサンプルがないことです。
私の分野(生物学的/医学的サンプルの分類)では、テストセットが別々に保持されることもありますが、多くの場合、それは少数のケースのみで構成されます。その場合、信頼区間は通常広すぎて何の役にも立ちません。 -
繰り返し/反復された相互検証またはブートストラップ外検証のもう1つの利点は、 「代理」モデル。これらは等しいと見なされます。等しくない場合、モードは不安定です。サロゲートモデル自体、または異なるサロゲートモデルが同じケースに対して行う予測を比較することで、この不安定性を(いくつかのトレーニングケースの交換に関して)実際に測定できます。
-
Esbensenによるこの論文& Geladi は、相互検証のいくつかの制限について説明しています。
注意してください。それらのほとんどですが、リサンプリング検証で対処できない重要なポイントの1つはドリフトです。これは、mbqのポイントに関連しています。唯一の例外これには、オブジェクトの順序が重要な時系列およびその他のデータがあります
ドリフトとは、たとえば、機器の応答/真のキャリブレーションが時間の経過とともにゆっくりと変化することを意味します。したがって、未知のケースの汎化誤差は、未知の将来のケースの場合と同じではない可能性があります。検証中にドリフトが見つかった場合は、「毎日/毎週/ …」のような指示に到達しますが、これには、トレーニングデータよりも後で体系的に取得されたテストセットが必要です。
(次のような「特別な」分割を行うことができます。アカウントの取得時間。実験が順調に計画されている場合、通常、ドリフト検出をテストするのに必要な時間はカバーされません)
回答
個別の検証セットを使用する代わりに相互検証を行う必要があるのはなぜですか?
AurélienGéronは、これについて彼の本
検証セットでトレーニングデータを「浪費」しすぎないようにするための一般的な手法は、相互検証を使用することです。
他のk値の代わりに、交差検定でk = 10を使用する方がよいのはなぜですか?
最初は、 Jason Brownlee、PhD の彼のすばらしいチュートリアルに感謝します。 k分割交差検定について。私は彼の引用した本の1つを引用しています。
Kuhn & Johnson は k値の選択 emについて話しました> 彼らの本。
kの選択は通常5または10です。しかし、正式な規則はありません。 kが大きくなると、トレーニングセットとリサンプリングサブセットのサイズの差は小さくなります。この差が小さくなると、手法のバイアスは小さくなります(つまり、バイアスはk = 5よりもk = 10の方が小さくなります)。このコンテキストでは、バイアスはパフォーマンスの推定値と実際の値の差です
次に、leave-oneを使用しない理由を言うことができます。 -k値が最大であるため、クロス検証(LOOCV)が発生し、バイアスが最小になります。その本の中で、彼らはまた、LOOCVを優先する代わりに10倍のCVを優先できる理由についても話しました。
実用的な観点から、kの値が大きいほど計算が面倒です。極端な場合、LOOCVは、データポイントと同じ数のモデル適合を必要とし、各モデル適合はトレーニングセットとほぼ同じサイズのサブセットを使用するため、最も計算に負担がかかります。 Molinaro(2005)は、leave-one-outとk = 10倍の交差検定で同様の結果が得られることを発見し、 k = 10の方が多いことを示しています。計算効率の観点から魅力的です。また、 kの値が小さい場合(たとえば2または3)はバイアスが高くなりますが、計算効率は非常に高くなります。
感情の分類と関連トピックに関する多くの研究論文を読みました。それらのほとんどは、分類器のトレーニングとテストに10分割交差検定を使用します。これは、個別のテスト/検証が行われないことを意味します。それはなぜですか?
複数のモデルの1つを選択するために相互検証(CV)を使用しない場合(または使用しない場合)ハイパーパラメータを調整するためのCV)、個別のテストを行う必要はありません。その理由は、個別のテストを実行する目的は、ここCVで(各反復のkフォールドの1つによって)達成されるためです。さまざまなSEスレッドがこれについて多くのことを話しました。確認してください。
最後に、私が書いたことがはっきりしない場合は、遠慮なく私に尋ねてください。
コメントを残す