Kフォールドとモンテカルロクロス検証


29

主に教師付き多変量解析手法に適用することを意図して、さまざまな相互検証方法を学習しようとしています。私が出会った2つは、Kフォールドとモンテカルロの相互検証技術です。私は、Kフォールドがモンテカルロのバリエーションであることを読みましたが、モンテカルロの定義を構成するものが完全に理解されているかどうかはわかりません。誰かがこれら2つの方法の違いを説明してもらえますか?



だから、モンテカルロはトレーニングとテストセットのランダムサイズであり、k-foldはセットの定義されたサイズであると言うのは正しいでしょうか?私は上記のページを見ましたが、違いが何であるかを完全には把握していませんでした。
リアム

私はさまざまな種類の相互検証とブートストラップ外検証に精通していますが、モンテカルロ相互検証という用語にまだ出会っていません(他の名前で知っているかもしれません)。モンテカルロ相互検証の仕組みの説明をリンクまたは引用していただけますか?
cbeleitesは、モニカをサポートします

モンテカルロの最もシンプルでオープンなアクセスの説明はwikiにあります。kフォールド法とモンテカルロ法の違いがわからないようです。
リアム

回答:


36

フォールドクロス検証k

100個のデータポイントがあるとします。以下のために、クロスバリデーションを倍、これらの100点はに分割されるK等しいサイズと相互に排他的な「折り畳み」。以下のために、K = 10、あなたはポイント1-10#2を折るために#1、11-20倍に割り当てるかもしれない、というように、#10を折り畳むために割り当てる点91-100によって仕上げます。次に、テストセットとして機能する1つのフォールドを選択し、残りのk 1フォールドを使用してトレーニングデータを形成します。最初の実行では、ポイント1〜10をテストセットとして、11〜100をトレーニングセットとして使用できます。次の実行では、ポイント11〜20をテストセットとして使用し、各フォールドがテストセットとして1回使用されるまで、ポイント1〜10 + 21〜100などでトレーニングします。kkkk1

モンテカルロ交差検証

モンテカルロの動作は多少異なります。データの一部をランダムに選択して(置換せずに)トレーニングセットを形成し、残りのポイントをテストセットに割り当てます。その後、このプロセスが複数回繰り返され、毎回新しいトレーニングとテストパーティションが(ランダムに)生成されます。たとえば、データの10%をテストデータとして使用することを選択したとします。その後、担当者にあなたのテストセット#1は、ポイント64、かもしれない90、63、42次の実行では、65、49、10、64、96、および48、テストセットがあるかもしれない90、60、23、67、 16、78、42パーティションは、各ランのために独立して行われ、17、73、及び26のためのテストが複数回設定で、同じ点が、表示されることこれは、モンテカルロとクロス検証の主な違いです。

比較

それぞれの方法には長所と短所があります。相互検証では、各ポイントが1回だけテストされますが、これは公平なようです。ただし、相互検証では、データがパーティション分割された可能性のある方法のいくつかのみを調査します。モンテカルロは、あなたが、多少の可能なパーティションを探ることができます、あなたはそれらのすべてを取得する可能性は低いですけれども-がある可能な方法50/50 100データポイントにセット(!)。(10050)1028

推論を行う(つまり、2つのアルゴリズムを統計的に比較する)場合、倍交差検証の実行結果を平均すると、アルゴリズムのパフォーマンスの(ほぼ)公平な推定が得られますが、分散は大きくなります( 5または10個のデータポイントのみが必要です)。原則として、あなたが望む/余裕がある限りそれを実行できるので、モンテカルロの交差検証は、変数を少なくしますが、より偏った推定値を与えることができます。k

5x2クロスバリデーション(アイデアについてはDietterich(1998)を参照してくださいが、それ以降にいくつかのさらなる改善があったと思います)またはバイアスを修正する(例えば、Nadeau and Bengio、2003) 。


2
誰かが、提案された編集キューを介して、モンテカルロが置換ありまたはなしで実行されるかどうかを尋ねました。モンテカルロの実行ごとに、トレーニングとテストセットが置き換えられずに描画されます(つまり、各ポイントがトレインまたはテストセットのいずれかに1回だけ割り当てられます)。ただし、実行は独立して行われるため、特定の例が同じセットに複数回表示される場合があります。これは、モンテカルロ法とk分割交差検証の大きな違いです!
マットクラウス14

13

のは、仮定しましょうデータセットのサイズで、 数ある倍サブセット、トレーニングセットのサイズであり、検証セットのサイズです。したがって、ためクロスバリデーションおよび倍モンテカルロクロス確認のため。NkkntnvN=k×nvkN=nt+nv

k分割交差検定(kFCV)は、データポイントを、サイズが等しい相互に排他的なサブセットに分割します。次に、プロセスはサブセットの1つを検証セットとして除外し、残りのサブセットでトレーニングします。このプロセスは回繰り返され、毎回サブセットの1つが除外されます。大きさ範囲であり得るに (リーブワンアウトクロスバリデーションと呼ばれます)。[2]の著者は、または設定することを提案しています。NkkkkkN2k=Nk=510

モンテカルロクロス検証(MCCV)は 、データポイントを置換せずにサンプリングすることにより、データポイントを単純に2つのサブセットおよびにます。モデルはその後、サブセットに訓練されおよびサブセットで検証 .Thereのが存在ユニークなトレーニングセットを、しかしMCCVは、この多くの反復を実行する必要がありません。Zhang [3]は、MCCVを反復で実行すると、すべての一意のトレーニングセットでクロス検証に近い結果が得られることを示しています。文献には大きなNの研究がないことに注意してください。 Nntnvntntnv(Nnt)N2(Nnt)

との選択は、バイアス/分散のトレードオフに影響します。または大きいほど、バイアスが低くなり、分散が大きくなります。大きなトレーニングセットは反復間でより類似しているため、トレーニングデータに過剰に適合します。この議論の詳細については、[2]を参照してください。kFCVとMCCVのバイアスと分散は異なりますが、適切なレベルのとを選択することにより、2つの方法のバイアスを等しくすることができます。両方の方法のバイアスと分散の値は[1]に示されています(このペーパーでは、MCCVを反復学習テストモデルと呼びます)。kntkntknt


[1] Burman、P.(1989)。通常の交差検証、倍交差検証、繰り返し学習テストモデル法の比較研究。ボメトリカ76 503-514。v

[2] Hastie、T.、Tibshirani、R. and Friedman、J.(2011)。統計学習の要素:データマイニング、推論、予測。第二編 ニューヨーク:スプリンガー。

[3] Zhang、P.(1993)。マルチフォールド交差検証によるモデル選択。アン。統計 21 299–313


7

他の2つの答えは素晴らしいです。2つの写真と1つの同義語を追加します。


K分割交差検定(kFCV):

ここに画像の説明を入力してください

モンテカルロクロス検証(MCCV)=繰り返しランダムサブサンプリング検証(RRSSV):

ここに画像の説明を入力してください


参照:

写真は(1)(64および65ページ)に由来し、同義語は(1)および(2)で言及されています。

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