機能の選択と相互検証
私は最近、このサイト(@ Aniko、@ Dikran Marsupial、@ Erik)およびクロス検証で発生する過適合の問題について他の場所で多くのことを読んでいます-(Smialowski et al 2010 Bioinformatics、Hastie、Elements of statistics learning)。提案は、ということである任意の(クラスラベルとの相関を使用して)教師付き特徴選択は、クロスバリデーション(またはブートストラップのような他のモデルの推定方法)を使用して、モデルのパフォーマンス推定の外部で実行オーバーフィッティングをもたらすことができます。 これは私には直感的ではないようです-確かに、機能セットを選択し、クロス検証を使用して選択した機能のみを使用してモデルを評価すると、それらの機能の一般化されたモデルパフォーマンスの公平な推定が得られます(これは調査中のサンプルが代表的であると仮定しています人口の)? この手順では、もちろん最適な機能セットを要求することはできませんが、目に見えないデータで選択した機能セットのパフォーマンスを有効として報告することはできますか? データセット全体に基づいて機能を選択すると、テストセットとトレインセット間のデータリークが発生する可能性があることを受け入れます。しかし、最初の選択後に機能セットが静的であり、他の調整が行われていない場合、クロス検証されたパフォーマンスメトリックを報告することは確かに有効ですか? 私の場合、56個の機能と259個のケースがあるため、#cases> #featuresです。機能はセンサーデータから派生します。 私の質問が派生的であるように思える場合はおbutびしますが、これは明確にする重要なポイントのようです。 編集: 上記のデータセットのクロス検証で機能選択を実装すると(以下の回答のおかげで)、このデータセットでクロス検証する前に機能を選択すると、重要な要素が導入されたことを確認できますバイアス。このバイアス/オーバーフィッティングは、2クラスの定式化と比較して、3クラスの定式化で最も大きくなりました。機能選択にステップワイズ回帰を使用したことで、この過剰適合が増加したと思います。比較のために、異なるが関連するデータセットで、クロス検証前に実行された順次順方向特徴選択ルーチンを、CV内の特徴選択で以前に取得した結果と比較しました。両方の方法の結果に劇的な違いはありませんでした。これは、ステップワイズ回帰がシーケンシャルFSよりも過剰適合しやすいことを意味する場合があります。または、このデータセットの奇抜である可能性があります。