クロス検証、クロス検証、セルフサービス法
2625 ワード
機械学習には多くのアルゴリズムが含まれている:線形回帰、論理回帰、決定ツリー、SVM、ランダム森林、GBDTなど.では、あるアルゴリズムのデータセットでの表現をどのように評価すればいいのでしょうか.ここでは,交差検証,留一交差検証,セルフサービス法の3つの評価方法について述べる.
データセットの数が限られている場合、トレーニングに一定の数のデータを使用し、残りのデータをテスト、すなわちバイパス法に使用する必要があります.もちろん、あいにくトレーニング(またはテスト)に使用されるデータが代表的ではない場合、データを何らかの割合で分割する必要があります.つまり、階層化します.
バイパスサンプリングによる任意のばらつきを低減するより一般的な方法は、プロセス全体を繰り返し、異なるランダムサンプルで複数回の訓練とテストを繰り返し、異なる反復のたびに得られる誤差率を平均して総合誤差率を得ることであり、これが反復バイパス法の誤差率推定である.
反復バイパス法では、全過程において、一部のデータがテストデータまたはトレーニングデータとして使用されている可能性があり、トレーニングセットとテストセットのデータの代表的な不一致によって影響が生じることは避けられない.そこで,単純な変形法を行い,交差検証を導いた.
クロス検証
クロス検証では,まず屈折数,すなわち分割を固定する必要がある.屈折数が3であると仮定すると、データセットが3等分に大別され、2/3のデータがトレーニングに使用され、1/3のデータがテストに使用され、このプロセスは3回サイクルされ、各インスタンスがトレーニングおよびテストに使用できるようになる.階層化技術が同時に採用されている場合、これが階層化3割引交差検証です.
換算数を
では、
クロス検証を残す
クロス検証を残して、名前とクロス検証は似ています.事実もそうです.交差検証を残して、その折数はサンプルの個数であり、サンプルの個数を
メリット:は、可能な限り多くのデータを用いてトレーニングを行うたびに(テストのために1つの例しか使用されない)、より正確な分類器を得ることができる. この方法は、サンプリングが決定されるので、最後の誤差推定も決定される決定性を有する.したがって、クロス検証を繰り返す必要はありません.
欠点:計算コストが高い. サンプリング方式(1個ずつ除去)が決定されているため、階層化(データに一定の割合を与える)ができないため、データセットのアルゴリズム誤差推定に問題がある可能性がある.ここで例を挙げると、等しい数の2つのクラスを含む完全にランダムなデータセットを想像し、1つのランダムなデータに直面して、与えることができる最良の予測方法は、多くのクラスに属し、その真の誤差率が50%であることを予測することである.しかし,留一法では,テストデータとは逆のクラスが多数のクラスであるため,予測のたびに誤り,すなわち誤差率は100%に達する.
セルフサービス法
上記の方法は、サンプリング時にデータセットから取り出してトレーニングセットまたはテストセットに入れると、戻すことができません.すなわち、1つのインスタンスは1回しか選択できません.セルフサービス法は異なり、戻されたサンプリングがあり、訓練集中データが重複している.
特例:0.632セルフサービス法について述べます.データセット
この方法にも誤差があり,同じように完全にランダムなデータセットを考慮し,数の等しい2つのクラスを含み,1つのランダムなデータに直面して与えられる最良の予測方式は,多数のクラスに属し,その真の誤差率が50%であることを予測することである.しかし,セルフサービス法では,完全に正確に予測できる完璧なアルゴリズムが存在し,組合せ後の誤差推定が楽観的すぎる可能性がある.
参照:
ウィテン、Witten L H、Frank E.データマイニング:実用機械学習技術及びJava実現:英語版[M].機械工業出版社,2003.
データセットの数が限られている場合、トレーニングに一定の数のデータを使用し、残りのデータをテスト、すなわちバイパス法に使用する必要があります.もちろん、あいにくトレーニング(またはテスト)に使用されるデータが代表的ではない場合、データを何らかの割合で分割する必要があります.つまり、階層化します.
バイパスサンプリングによる任意のばらつきを低減するより一般的な方法は、プロセス全体を繰り返し、異なるランダムサンプルで複数回の訓練とテストを繰り返し、異なる反復のたびに得られる誤差率を平均して総合誤差率を得ることであり、これが反復バイパス法の誤差率推定である.
反復バイパス法では、全過程において、一部のデータがテストデータまたはトレーニングデータとして使用されている可能性があり、トレーニングセットとテストセットのデータの代表的な不一致によって影響が生じることは避けられない.そこで,単純な変形法を行い,交差検証を導いた.
クロス検証
クロス検証では,まず屈折数,すなわち分割を固定する必要がある.屈折数が3であると仮定すると、データセットが3等分に大別され、2/3のデータがトレーニングに使用され、1/3のデータがテストに使用され、このプロセスは3回サイクルされ、各インスタンスがトレーニングおよびテストに使用できるようになる.階層化技術が同時に採用されている場合、これが階層化3割引交差検証です.
換算数を
n
とすると、n
回のプロセスが繰り返され、n
個のテスト結果も生成されます.n
個の試験結果を平均して生成した結果が、このアルゴリズムのデータセット上の総合誤差推定である.では、
n
の値はどのように確定しますか?本の上で言います:大量の実験を経て10割引がちょうど最も良い誤った推定を得る適切な選択であることを表明して、その上いくつかの理論の根拠もこの点を支持することができます.もちろん、信頼できる誤差推定を得るためには、単一の10割引クロス検証では不十分である可能性があります.標準的なプログラムは、10回のクロス検証、すなわち10回の10割引クロス検証を繰り返し、平均値をとることです.(_偶の天は、計算集約型のタスクとなり、計算を高速化するには、同時、GPUなどの方法で行うことができます.)クロス検証を残す
クロス検証を残して、名前とクロス検証は似ています.事実もそうです.交差検証を残して、その折数はサンプルの個数であり、サンプルの個数を
m
とし、m
回繰り返し、最後に平均値をとる必要がある.このような検証方法は,上記のクロス検証方法に比べて利点も欠点もある.メリット:
欠点:
m
回の訓練と予測が必要であり、ビッグデータセットでは通常実行できない(速度が遅すぎる)が、逆に小さなデータセットでできるだけ正確な推定を得ることができる.セルフサービス法
上記の方法は、サンプリング時にデータセットから取り出してトレーニングセットまたはテストセットに入れると、戻すことができません.すなわち、1つのインスタンスは1回しか選択できません.セルフサービス法は異なり、戻されたサンプリングがあり、訓練集中データが重複している.
特例:0.632セルフサービス法について述べます.データセット
n
個のデータを仮定すると、各データが取り込まれる確率は1/n
、サンプリングn
回、ある例が取り込まれない確率は(1-1/n)^n≈0.368
である.つまり、トレーニングセットには63.2%のデータしかありません.従って,そのトレーニングデータは10折交差検証(90%のデータ)よりも小さく,これを補償するために,テストセット誤差とトレーニングセットデータで計算した再持ち込み誤差率を組み合わせて誤差推定値を得た.この方法にも誤差があり,同じように完全にランダムなデータセットを考慮し,数の等しい2つのクラスを含み,1つのランダムなデータに直面して与えられる最良の予測方式は,多数のクラスに属し,その真の誤差率が50%であることを予測することである.しかし,セルフサービス法では,完全に正確に予測できる完璧なアルゴリズムが存在し,組合せ後の誤差推定が楽観的すぎる可能性がある.
参照:
ウィテン、Witten L H、Frank E.データマイニング:実用機械学習技術及びJava実現:英語版[M].機械工業出版社,2003.