原則として:
データセット全体でトレーニングされた単一のモデルを使用して予測を行います(したがって、機能のセットは1つのみです)。交差検証は、データセット全体でトレーニングされた単一モデルの予測パフォーマンスを推定するためにのみ使用されます。交差検証を使用することは非常に重要であり、各フォールドでプライマリモデルの適合に使用する手順全体を繰り返すことができます。
これが発生する理由を確認するには、バイナリフィーチャが1000個あり、ケースとフィーチャがすべて純粋にランダムである100ケースのみのバイナリ分類問題を考えます。したがって、フィーチャとケースの間に統計的な関係はありません。完全なデータセットでプライマリモデルをトレーニングする場合、ケースよりも多くの機能があるため、トレーニングセットで常にゼロエラーを達成できます。「情報提供」機能のサブセットを見つけることもできます(偶然に関連付けられます)。これらの機能のみを使用して相互検証を実行すると、ランダムな推測よりも優れたパフォーマンスの推定値が得られます。その理由は、交差検証手順の各フォールドには、予測に適していたため、機能が選択されたためにテストに使用された保留ケースに関する情報がいくつかあるためです。差し出されたものを含む。もちろん、真のエラー率は0.5になります。
適切な手順を採用し、各フォールドで機能の選択を実行すると、そのフォールドで使用される機能の選択で保留されているケースに関する情報はなくなります。この場合、適切な手順を使用すると、約0.5のエラー率が得られます(ただし、データセットの実現方法によって多少異なります)。
読むべき良い論文は次のとおりです。
Christophe Ambroise、Geoffrey J. McLachlan、「マイクロアレイ遺伝子発現データに基づく遺伝子抽出の選択バイアス」、PNAS http://www.pnas.org/content/99/10/6562.abstract
OPに非常に関連性があり、
Gavin C. Cawley、Nicola LC Talbot、「パフォーマンス評価におけるモデル選択の過適合とその後の選択バイアス」、JMLR 11(Jul):2079-2107、2010 http://jmlr.csail.mit.edu/papers /v11/cawley10a.html
これは、モデル選択で同じことが簡単に発生する可能性があることを示しています(たとえば、CVプロシージャの各反復で繰り返す必要があるSVMのハイパーパラメーターのチューニング)。
実際には:
バギングを使用し、パフォーマンスを推定するためにアウトオブバッグエラーを使用することをお勧めします。多くの機能を使用して委員会モデルを取得しますが、実際には良いことです。単一のモデルのみを使用する場合、特徴選択基準を過剰に適合させ、多くの特徴を使用するモデルよりも予測が貧弱なモデルになる可能性があります。
アランミラーズは、回帰におけるサブセット選択に関する本(統計と適用確率に関するチャップマンとホールのモノグラフ、ボリューム95)により、予測パフォーマンスが最も重要な場合は特徴選択を行わないというアドバイスを提供しています(221ページ) 、代わりにリッジ回帰を使用してください。そして、それはサブセット選択に関する本にあります!!! ; o)