ハイパーパラメーターを最適化するためのグリッド検索を使用したK分割交差検証の段階的な説明


7

私は、k分割(および1つを残す)交差検証の利点、およびトレーニングセットを分割して3番目のホールドアウト「検証」セットを作成する利点をよく知っています。ハイパーパラメータの選択に基づいてパフォーマンスをモデル化するため、それらを最適化および調整し、実際のテストセットで最終的に評価するために最適なものを選択できます。これらの両方をさまざまなデータセットに個別に実装しました。

ただし、これらの2つのプロセスを統合する方法は正確にはわかりません。私はそれができることを確かに知っています(入れ子にされた相互検証、そうですか?)、私は人々がそれを説明するのを見ましたが、プロセスの詳細を実際に理解したほど十分に詳細ではありません。

分割とループの正確な実行が明確ではないが、このプロセス(このような)をほのめかしている興味深いグラフィックスのページがあります。ここで、4番目は明らかに私がやりたいことですが、プロセスは不明確です。

これは何を意味するのでしょうか

このサイトには以前の質問がありますが、それらは検証セットをテストセットから分離することの重要性を概説していますが、どれもこれを実行する正確な手順を指定していません。

それは次のようなものですか?k個のフォールドごとに、そのフォールドをテストセットとして扱い、別のフォールドを検証セットとして扱い、残りをトレーニングしますか?これは、データセット全体をk * k回繰り返す必要があるようです。そのため、各フォールドは、少なくとも1回はトレーニング、テスト、および検証として使用されます。入れ子の交差検証は、k分割のそれぞれの中でテスト/検証分割を行うことを意味するようですが、特にkが高い場合、これは効果的なパラメーター調整を可能にするのに十分なデータではありません。

(事前に指定しないように)パラメータ調整を実行しながら、k分割交差検証(最終的にすべてのデータポイントをテストケースとして扱うことができる)を可能にするループと分割の詳細な説明を提供して、誰かが私を助けてくれませんかモデルパラメータ、および代わりに別のホールドアウトセットで最高のパフォーマンスを発揮するパラメータを選択しますか?)

回答:


11

これは、モデルの固定セット(グリッド検索など)を比較するための「デフォルト」のネストされた相互検証手順です。

  • データセットをランダムに分割に分割します。K
  • 1からまでの場合: iK
    • test折りたたみましょう。i
    • trainvalあるものを除いてすべてのデータとしtestます。
    • サブフォールドランダムに分割trainvalします。したがって、各サブフォールドは、外側のフォールド1からの要素と、外側のフォールド2からの要素がありますが、外側のフォールドからの要素はありません。L(i,1),(i,2),,(i,L)(i,j)i
    • 以下のための 1からの: jL
      • させるval倍する。(i,j)
      • させるtrainのいずれかにないすべてのデータであってもtestまたはval
      • 提案された各パラメーターセットをでトレーニングしtrain、で評価してval、分類の精度、RMSE、使用したい基準を追跡します。
    • 分割の各パラメーターセットの平均スコアを見て、最適なものを選択します。L
    • の最適なパラメータセットを使用してモデルをトレーニングしtrainvalます。
    • で評価しtest、精度/ RMSE /何でも保存します。
  • 平均値/平均値+標準/ボックスプロット/精度のすべてを報告します。K

1
i1とi2に選択された最適なハイパーパラメーターが異なる場合はどうなりますか?最後のステップで精度を平均化しても意味がありません。
elexhobby 2018

2
@elexhobbyこのように考えてください。特定のハイパーパラメータセットを使用したアルゴリズムのパフォーマンスではなく、(トレーニングセットでハイパーパラメータを調整したアルゴリズム)のパフォーマンスを報告しています。
Dougal

1
わかりました。しかし、新しいポイントが与えられた場合、どうすれば予測できますか?使用するハイパーパラメータの選択肢は何ですか?
elexhobby 2018

3
このアルゴリズムでは、予測できる最終的な最終モデルは提供されません。アルゴリズムを評価するためのものであり、アルゴリズムを選択するためのものではありません。(どちらの形式の交差検証も行われません異なるモデルが提供されます。)最後に単一のモデルが必要な場合は、内部CVのみを実行して、完全なデータセットのハイパーパラメーターを調整する必要があります。K
Dougal

0

最初のステップは、データセット全体をトレーニングセットとテストセットに分割することです。そして、トレーニングセットでは、k分割交差検証を適用できます。k-1分割を使用してモデルをトレーニングし、モデルのパフォーマンスを評価する検証セットとして別の1分割を使用するたびに。このステップでは、トレーニングセットで最高のパフォーマンスを持つモデルを取得できます。最後に、このモデルをテストセットに適用して、2番目のステップでフィットしたモデルのパフォーマンスを評価できます。検証セットとテストセットの違いを理解するのに役立つリンクがあります。 テストセットと検証セットの違いは何ですか?


Mo Liが指摘するこの質問は、あなたの質問と重複しています。
Michael R. Chernick 2017年

0

Dougalの回答に沿って、D。Krstajicらの記事を確認できます。「回帰モデルと分類モデルを選択して評価する際のクロス検証の落とし穴」、2014年(doi:10.1186 / 1758-2946-6-10 https://www.researchgate.net/publication/261217711_Cross-validation_pitfalls_when_selecting_and_assessing_regression_and_classification_models)。そこでは、モデル評価とグリッド検索相互検証のためにネストされた相互検証を使用して、最終的に選択されたモデルで使用する最適な機能とハイパーパラメーターを選択します。基本的には、反復による交差検証を適用するためのさまざまなアルゴリズムを提示し、さらにネストされた手法を使用して、より優れたエラー推定を提供します。最後に、モデルの評価と選択にさまざまなアルゴリズムを使用して行われた実験について詳しく説明します。記事のディスカッションセクションで作成者が述べたように、「私たちが知る限り、ネストされた交差検証は、モデル選択に交差検証が使用される場合、モデル評価のための最良のノンパラメトリックアプローチです。」


こんにちは、Artur、そしてサイトへようこそ!結局リンクが切れて、読者に情報が残されなくなるため、リンクのみの回答は好まない傾向があります。回答に含まれている記事の要点をまとめてください。
jbowman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.