k分割交差検証のグリッド検索


16

10倍のクロス検証設定で120サンプルのデータセットを持っています。現在、最初のホールドアウトのトレーニングデータを選択し、グリッド検索によってガンマとCの値を選択するために5倍の交差検証を行います。RBFカーネルでSVMを使用しています。精度を報告するために10 10の交差検証を行っているため、各グリッドのトレーニングデータでこのグリッド検索を実行します(10のホールドアウトがあり、それぞれ10%のテストと90%のトレーニングデータがあります)?それは時間がかかりすぎませんか?

最初のホールドアウトのガンマとCを使用し、k倍交差検証の9つのホールドアウトの残りにそれを使用すると、トレインデータを使用してガンマとCを取得し、再び使用するため、違反です2番目のホールドアウトのテストとしての列車データの一部


この質問にはさらに情報が必要です。どのモデルに適合していますか?このモデルのガンマとCとは何ですか?さらに、コメントではなく、質問を編集してこの情報を提供してもらえますか。
確率の

回答:


14

はい、これは違反です。外側交差検定の2〜10のフォールドのテストデータは、カーネルと正則化パラメーターの値を決定するために使用される1のフォールドのトレーニングデータの一部だったからです。これは、テストデータに関する一部の情報がモデルの設計に漏れる可能性があることを意味し、パフォーマンス評価に楽観的なバイアスを与える可能性があります。これは、ハイパーパラメーターの設定に非常に敏感なモデルに対して最も楽観的です望ましくない機能を備えたモデルを最も強く支持します)。

このバイアスは、モデル選択基準の分散が小さいデータセットで最大であり、モデル選択基準の過剰適合を促進するため、テストデータに関するより多くの情報が漏洩する可能性があるため、このような小さなデータセットで最も強くなる可能性があります使って。

分類システム間のパフォーマンスの違いを簡単に埋めることができる、完全にネストされた相互検証から生じるバイアス偏差の大きさにかなり驚いたため、1年または2年前にこれについて論文を書きました。論文は「パフォーマンス評価におけるモデル選択とその後の選択バイアスにおける過剰適合について」Gavin C. Cawley、Nicola LC Talbot; JMLR 11(7月):2079-2107、2010

基本的にハイパーパラメーターの調整はモデルのフィッティングの不可欠な部分と見なされるため、データの新しいサンプルでSVMをトレーニングするたびに、そのサンプルのハイパーパラメーターを個別に再調整します。このルールに従えば、おそらく間違いを犯すことはできません。そうしないと、実験から間違った結論を導き出すリスクが生じるため、公平なパフォーマンス推定値を取得することは計算コストの価値があります。


1
私の個人的な経験から、このような過剰適合の原因についても非常に慎重になりました。
cbeleitesはモニカをサポートします

6

各サロゲートモデルのグリッド検索を行った後、いくつかのことを確認できます。

  • 最適化されたパラメーターのバリエーション(ここではおよびC)。 最適なパラメーターは安定していますか?そうでない場合、問題が発生している可能性が非常に高くなります。γC
  • 報告された内側と外側のクロス検証のパフォーマンスを比較します。
    内部(つまり調整)のクロス検証が外部(最終モデルの検証)よりもはるかに良く見える場合、問題も発生しています:過剰適合です。調整されたパラメーターがまったく最適ではないという大きなリスクがあります。ただし、外側のクロス検証が適切に行われた場合(すべてのテストセットがそれぞれのサロゲートモデルから完全に独立している場合)、少なくともモデルのパフォーマンスの公平な(!)推定があります。しかし、それが最適であると確信することはできません。
  • 最適な発音はどれくらいですか?最適ではないパラメーターのパフォーマンスは急速に低下しますか?最適なパフォーマンスはどの程度ですか?

モデルの選択による過剰適合について言うことはたくさんあります。ただし、分散と楽観的バイアスの両方が実際に害を及ぼす可能性があることに留意してください

  • 分散とは、真に最適なハイパーパラメーターから誤って遠く離れてしまう可能性があることを意味します。
  • しかし、バイアスも傷つける可能性があります:過剰適合している場合、多くのモデルが内部相互検証に完璧に見える状況に陥ることがあります(しかし、実際にはそうではありません)。その場合、モデル間の違いが認識されないため、チューニングが失敗する可能性があります。
  • バイアスがハイパーパラメータに依存している場合、大きな問題に直面しています。

例に興味があり、ドイツ語を読むことができれば、私のDiplom論文をオンラインに掲載できます。

私の経験では、ハイパーパラメーターの調整は過剰適合のための非常に効果的なアイデアです...

ここで、過剰適合に気付いた場合、主に2つのオプションがあります。

  • 最適化に過剰適合の問題があったが、適切な外部検証を行った結果、...(外部相互検証の結果)であることを報告します。
  • モデルの複雑さを制限します。これを行う1つの方法は、ハイパーパラメーターを修正することです。

ハイパーパラメーターを各トレーニングセットにチューニングする代わりに、(ハイパー)パラメーターを事前に指定する(つまり、事前に修正することもできます。私は通常、あなたが持っているよりもさらに少ないケースを持っているので、私のモデルに対して可能な限りそれを行います。以下を参照してください。
ただし、この修正は実際にかつ正直に事前に行う必要があります。たとえば、同僚に類似のデータセットで最適化されたパラメーターを求めた(独立した実験)か、パラメーターのグリッド検索を含む事前実験を行います。その後、その最初の実験を使用して、実際の実験とデータ分析のためのいくつかの実験パラメーターとモデルパラメーターを修正します。詳細については、以下を参照してください。

もちろん、自動的に最適化されたモデル(二重またはネストされた検証)で適切なテストを行うことは可能ですが、サンプルサイズによってデータを2回分割できない場合があります。
そのような状況では、ある種の自動的に最適化されたモデルの楽観的な推定値を報告するよりも、モデリングパラメーターの選択方法に関する専門的な経験を使用して構築されたモデルの正直な推定値を報告する方がはるかに優れています。
状況に関する別の観点は、トレードオフする必要があるということです

  • パラメーターの最適化のためにさらに別のケースを用意することによるパフォーマンスの低下(トレーニングサンプルサイズが小さい=>モデルが悪いが、「最適な」パラメーター)
  • 専門家による最適ではないパラメーター修正によるパフォーマンスの低下(ただし、より大きなトレーニングデータ)。

同様の質問に関する同様の考え:https : //stats.stackexchange.com/a/27761/4598


パラメーターの修正とDikran Marsupialのコメントについて

Dikran Marsupialが彼の論文で使用しているように、私はハイパーパラメーターという用語を使用しています(彼の答えのリンク)

分光データを使用しています。これは一種の測定であり、データの分析とモデリングには多くの場合、かなりの前処理が含まれます。これはハイパーパラメーターとみなすことができます(たとえば、ベースラインに使用する多項式の順序は?どの測定チャネルを含める必要がありますか?)。svmパラメーターに近い他の決定事項があります。たとえば、「実際の」モデルがトレーニングされる前にPCAが次元削減のために行われる場合、使用する主成分の数はどれくらいですか。また、時にはSVM分類も使用するため、SVMパラメーターを決定する必要があります。

現在、ハイパーパラメータを修正する最善の方法は、アプリケーションに起因する理由がある場合です。例えば、私は通常、物理的/化学的/生物学的理由(つまり、標本に関する知識とそれに続く分光学的挙動)によって、どの種類のベースラインを使用するかを決定します。しかし、私はSVMパラメータに役立つこのような議論を認識していません...

上で述べた事前実験の場合は次のようになります。

  • 一連の細胞のデータを取得します(異なる細胞株を区別したい)。
  • スペクトルが分析され、反復二重交差検証SVMが実行されます(計算サーバーで1〜2泊しました)。

    • γC
    • また、特定のオーバーフィッティングを観察します。外側のクロス検証は、チューニングの結果ほど良くありません。それは予想通りです。
    • それでも、ハイパーパラメーターのチューニング範囲ではパフォーマンスに違いがあり、チューニンググリッドでのパフォーマンスはかなり滑らかに見えます。良い。
  • 私の結論は、最終的なハイパーパラメーターが最適であることを確信することはできませんが、外側のクロス検証により、サロゲートモデルのパフォーマンスの適切な推定が得られます。

  • 実験パートでは、実験のセットアップのいくつかの変更を決定しました(データのS / Nに影響を与えないものの、機器の自動化の一歩先を行くもの)

  • 実験設定を改善し、新しいスペクトルを取得します。細胞がそうであるように、それらは新たに成長する必要があります。すなわち、新しいデータセットは独立したカルチャーバッチです。

今、私は決定に直面しています:内側の交差検証を「スキップ」し、古いデータで決定したハイパーパラメーターをそのまま使用する必要がありますか?

  • 上記のように、これらの事前定義されたハイパーパラメーターが最適ではないというリスクを冒しています。
  • しかし、内部(調整)の相互検証を行うことで、真に最適なハイパーパラメーターを確実に取得することもできません。
  • ただし、古いデータのチューニングは安定していました。
  • 最適化を行うことで、より少ないサンプルでトレーニングします:とにかくToo Few Samples(TM)があるので、2回目の相互検証のためにもっと多くのサンプルを確保すると、より悪いモデルを取得することを期待する必要があります。

そのため、その場合、固定パラメーターを使用することにしました(同様のデータの経験から、将来、大きなデータでこれらの決定を再確認するなど、「宿題」を行う必要があることを知っています)。

重要なことは、外側のものではなく、内側(クロス検証のチューニング)をスキップすることです。固定ハイパーパラメーターを使用すると、準最適なモデルのパフォーマンスの公平な推定値が得られます。確かに、この推定値は大きな変動の影響を受けますが、この変動は基本的に内部調整を行っても行わなくても同じです。
外側のクロス検証をスキップすると、調整されたモデルの楽観的に偏った推定値が得られます。これは、アプリケーションとデータによっては(非常に楽観的すぎる場合)価値がなく、楽観的な偏りは明らかに受け入れられない可能性があります。


この答えに投票する必要がありますが、ハイパーパラメーターに事前に指定された値を使用することは、データセットごとに異なるこれらのパラメーターの適切な設定に依存するため、適切なプラクティスではありません(問題の場合、サンプルからのデータはほとんどありません)サンプリングする)。実験前のグリッド検索は、私の論文で説明したバイアスとまったく同じ形式になるため、さらに悪化します。SVMの場合、データを2回分割する問題は当てはまりません。仮想CVのモデル選択基準として仮想leave-one-out交差検証をほぼ無料で使用できるためです。
ディクラン有袋類

ただし、最適化されたパラメーターの変動を確認することは、優れた提案です。パラメーターとハイパーパラメーターをデータから確実に推定できる十分なデータがある場合、私の論文で言及している種類のバイアスはおそらくあまり問題になりません。ただし、小さなデータセットのために最適化されたハイパーパラメーター値に多くのばらつきがある場合、それはネストされた交差検証およびその他のそのような厳密なアプローチがパフォーマンス推定の大幅なバイアスを避けるために本当に必要な状況です。
ディクラン有袋類

@DikranMarsupial:私の背景をもう少し明確に説明して、見てください。また、私はあなたの論文をより徹底的に読みました。私たちのポイントはそれほど離れていないと思います。あなたが好きなら、チャットでの出会いをしましょう-私はあなたの論文についての質問の束を持っている...
cbeleitesはモニカサポートして

@DikranMarsupial:(残念ながら、私のデータのほとんどについては、ネストされた/階層的なデータ構造があるため、分析的な除外は使用できません)。また、Leave-One-Outでいくつかのugい驚きに会ったので、k-foldまたはout-of-bootstrap検証を繰り返しました。ただし、これはこの質問のトピック外です。
cbeleitesはモニカをサポートしています

@DikranMarsupial:最適化されたパラメーターが安定していない場合、とにかく問題が発生します。もちろん、これらのパラメーターを新しいデータに使用できると結論付けることはできません。しかし、最終モデルに最適なパラメーター(多くのパラメーターセットのどれですか?) 。そして、最適なモデルの外側のクロス検証と内側のクロス検証推定を比較することで測定できます。それに応じて回答を更新しました。
cbeleitesはモニカをサポートしています

5

γCkterrγCγCγC{2nl2nl+12nあなたは}γ

重要なのは、グローバルな最小値だけでなく、ローカルミニマム(または各1次元投影)の周りの表面の滑らかさを探すことです。

γpσ1pγCC


したがって、120個のサンプルを含むデータセットがあるとします。最初に120個のサンプルを使用してガンマとCを見つける必要があります。次に、トレーニングにデータの90%を使用し、テストにデータの10%を使用する場合、kのホールドアウトに同じガンマとCを使用して10倍のクロス検証を実行しますか?同じトレーニングセットを使用してガンマとCを取得し、サンプルの一部もテストセットに含まれているという意味ではないでしょうか。
user13420

γC

γCγCγC

2
λβ

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