CrossValidatedには、モデルの選択と相互検証のトピックに関する多数のスレッドがあります。以下にいくつかを示します。
- 内部対外部の交差検証とモデル選択
- DikranMarsupialの@ トップの答えに特徴選択とクロスバリデーション
ただし、これらのスレッドに対する回答はかなり一般的であり、主にクロス検証とモデル選択の特定のアプローチに関する問題を強調しています。
ようなものを作るために、可能な限り具体的な、我々はRBFカーネルをSVMで作業していること、たとえば言う: 、及びそのフィーチャXとラベルyのデータセットがあり、それをしたい
- モデルの可能な限り最良の値を見つける(および)
- データセットを使用してSVMをトレーニングします(最終展開用)
- 一般化誤差とこの誤差の周りの不確実性(分散)を推定する
そうするために、私は個人的にグリッド検索を行います。例えば、とあらゆる可能な組み合わせを試し ます。簡単にするために、次の範囲を想定できます。
具体的には、完全なデータセットを使用して、次のことを行います。
- すべての(のために、)のペア、私は、の繰り返し(例えば100回のランダム繰り返し)繰り返しんクロスバリデーションを倍(例えば)、私のデータセットに、すなわち私は上の私のSVM訓練折り目をし、評価左の折り畳みにエラーがあり、すべての折り畳みを繰り返します。全体として、100 x 10 = 1000個のテストエラーを収集します。
- そのような(、)ペアごとに、これらの1000個のテストエラー\ mu_M、\ sigma_Mの平均と分散を計算します。
次に、完全なデータセットで最終的なSVMをトレーニングするために使用する最適なモデル(最適なカーネルパラメーター)を選択します。私の理解では、最小誤差平均と分散 およびを持つモデルを選択することが正しい選択であり、このモデルのはは、完全なデータセット。
しかし、上記のスレッドの回答を読んだ後、私はこの方法が配備および/またはそのエラー(一般化パフォーマンス)を推定するための最良のSVMを選択するためのこの方法は欠陥であり、選択するより良い方法があるという印象を受けています最高のSVMとそのエラーの報告。もしそうなら、彼らは何ですか?具体的な答えを探しています。
この問題に固執して、どのようにして具体的に最良のモデルを選択し、その一般化エラーを適切に推定できますか?