交差検証

Cross-Validation

交差検証(Cross-Validation)とは、モデルの汎化性能を評価するために、データセットを複数の部分に分割して繰り返し検証を行う手法です。限られたデータを最大限に活用し、モデル評価の信頼性を高めることができます。

k分割交差検証

最も一般的な交差検証の手法はk分割交差検証(k-Fold Cross-Validation)です。データセットをk個の等しいサイズに分割し、k-1個を訓練データ、残り1個を検証データとして使います。これをk回繰り返して各回の評価結果を平均することで、安定した性能評価を得ます。kは通常5または10が使われます。

表:交差検証の要点まとめ
ひとことで言うとデータの分け方を変えて何度も評価し、平均を取って安定した性能を測る方法。
何がうれしいか分け方の運に左右されず、データが少なくても信頼できる評価ができる。
注意点学習を何回も行うので計算時間が分割数ぶん増える。

その他の交差検証手法

Leave-One-Out交差検証(LOO-CV)、層化k分割交差検証(Stratified k-Fold)、時系列交差検証(Time Series Split)など、データの特性に応じた様々な変種があります。

図:交差検証のしくみ
1データをk分割5分割なら5つの塊
▶
21つを評価用に残り4つで学習
▶
3スコアを記録1回目の結果
▶
4評価用を交代全部が1回ずつ評価用に
▶
5平均を取る安定した性能評価
↺ 2〜4をk回くり返す

ハイパーパラメータチューニングとの関連

交差検証はモデルの評価だけでなく、ハイパーパラメータチューニングにも活用されます。グリッドサーチやランダムサーチと組み合わせて使うことで、最適なハイパーパラメータを選択できます。