交差検証と検証セットの体系化とは

このページは、評価と汎化の歴史の中で 「交差検証と検証セットの体系化」 にあたる時代を、初学者向けに短く整理するノートです。時系列の背景は 評価と汎化史、領域の解説は 評価と汎化とは を参照してください。

1970〜1980 年代、未知データでの性能を見積もる方法として 交差検証(cross-validation)が体系化されました。Mervyn Stone と Seymour Geisser らの 1974〜1975 年ごろの論文は、k 分割や leave-one-out の発想を統計的に整理した代表例です。データを 訓練・検証・テスト に分ける考え方が定着し、「学習データだけで自慢しない」評価設計が方法論として共有され始めました。

ざっくりいうと

  • 交差検証(cross-validation):データを k 個に分け、k-1 で学習・残り 1 で検証、を k 回回して平均を取る方法。データが少ない場面の 検証セットの偶然性 を平均で抑えるのが狙い。
  • k 分割(k-fold):実務でよく使う標準形。k=5k=10 が典型。
  • leave-one-out(LOO)k = N の極端版。データが極めて少ないときに使うが、計算コストが高い。
  • 訓練・検証・テスト:手元データを 3 つに分ける 考え方。テストは最後まで触らない、が原則。

交差検証で何をしているか

たとえば手元に成約済み物件 200 件のデータがあるとき、ホールドアウト検証(たとえば 160 件で学習・40 件で検証)だと、たまたま 40 件側に寄った特徴 が混じっていれば見かけ性能が動いてしまいます。交差検証は、検証セットを 回しながら平均 を取ることで、検証スコアの偶然性を抑えるための仕組みです。

  1. 手元データを k 個の ほぼ同サイズの fold に分ける(k=5k=10 が典型)。
  2. ある fold を検証用に残し、残り k-1 個で学習する。
  3. 検証スコアを記録する。
  4. 残す fold を入れ替えて、23k 回繰り返す
  5. k 回ぶんの検証スコアを 平均 して、汎化性能の見積もりとする。

時系列やグループ構造(同じユーザの複数行など)があるときは、ランダムに切ると未来情報や同一グループが混ざることがあるため、時系列分割グループ分割 に切り替える設計が必要です。

強みと限界(短く)

強み

  • 検証スコアの偶然性が 平均で抑えられるため、データが少ない場面で安定した比較ができる。
  • ハイパーパラメータ選択の 基準スコア として実務で長く使われている。

限界

  • 単純な k 分割は、時系列・グループ構造 を持つデータでは破綻する(時系列分割や GroupKFold などの専用設計が要る)。
  • 何度も交差検証を回してハイパーパラメータを探すと、検証データへの過学習 が積み上がる。
  • k を大きくすれば偶然性は下がるが、計算コストk 倍になる。

関連