leave-one-out相互検証はどのように機能しますか?異なるモデルから最終モデルを選択する方法は?


25

いくつかのデータがあり、このデータからモデル(線形回帰モデルなど)を作成します。次のステップでは、Leave-One-Out Cross-Validation(LOOCV)をモデルに適用して、モデルのパフォーマンスを確認します。

LOOCVを正しく理解したら、このサンプル(トレーニングセット)を除くすべてのサンプルを使用して、各サンプル(テストセット)の新しいモデルを構築します。次に、モデルを使用してテストセットを予測し、エラーを計算し。予測した実際の

次のステップでは、選択した関数を使用して生成されたすべてのエラー(平均二乗誤差など)を集計します。これらの値を使用して、モデルの品質(または適合度)を判断できます。

質問:これらの品質値が適用されるモデルはどのモデルですか。LOOCVから生成されたメトリックが自分のケースに適している場合、どのモデルを選択する必要がありますか?LOOCVは異なるモデルを調べました(はサンプルサイズです)。どのモデルを選択する必要がありますか?nn

  • すべてのサンプルを使用するモデルですか?このモデルは、LOOCVプロセスでは計算されませんでした!
  • エラーが最も少ないモデルですか?

回答:


24

交差検証は、モデル自体ではなく、特定の手順で生成されたモデルの一般化パフォーマンスを推定する方法と考えるのが最適です。Leave-one-out相互検証は、基本的にサンプルのデータでトレーニングされたモデルの一般化パフォーマンスの推定であり、一般にサンプルでトレーニングされたモデルのパフォーマンスのやや悲観的な推定です。n1n

1つのモデルを選択するのではなく、モデルをすべてのデータに適合させ、LOO-CVを使用して、そのモデルのパフォーマンスのわずかに控えめな推定値を提供します。

ただし、LOOCVの分散は大きく(異なるランダムなデータサンプルを使用すると、値が大きく変化するため)、ほぼ公平ではありませんが、パフォーマンス評価のための推定器の選択が不適切になる場合があります。私はモデル選択のために常にそれを使用しますが、それは本当に安いからです(私が取り組んでいるカーネルモデルのためにほとんど無料です)。


答えてくれてありがとう。「LOO-CVを使用して、そのモデルのパフォーマンスをわずかに控えめに見積もる」という文ではありません。一般的なケースは間違っていますか?別のポイントを追加すると、モデルが悪化する可能性があります。その場合、LOO-CVはそうなる可能性があります。楽観的な見積もり
テオメガ

1
モデルを構築するために使用するデータが多いほど、一般的にモデルはより良いものになります。追加のポイントはモデルを少し悪くするかもしれませんが、モデルを少し良くする可能性が高くなります。したがって、一般にloocvにはわずかな悲観的なバイアスがありますが、非常にわずかであり、LOOCV推定量の分散は通常、はるかに大きな考慮事項です。
ディクラン有袋類

それでは、パフォーマンス評価のために何を使用する必要がありますか?(データ収集が高価で​​あると想定しているので、利用可能なすべてのデータを使用してモデルに適合させたい)。
サイドショーボブ

おそらくブートストラップ。私が使用するほとんどのモデルには調整が必要な正則化パラメーターなどがあるため、LOOCVを使用してモデルを調整し、パフォーマンスを評価するためにブートストラップまたは繰り返しホールドアウトを行うことがよくあります。
Dikran有袋類

@DikranMarsupial Leave-One-Out CVが悲観的なバイアスを提供しているという事実は確かですか?私の知る限り、たとえば、通常はK-Foldよりも低い誤差推定値を提供します。また、LOOCVの分散は0ではありませんか?LOOCVを実行できるのは1回だけで、その後は「サンプルが不足しています」。私が考えることができる唯一の分散は、モデルの適合に使用されるトレーニングアルゴリズムによって生成されたものです。ただし、これはモデルエラー自体ではなく、最適なパラメーターの分散に関連付けられた分散でなければなりません。ありがとうございました。
D1X
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.