このページは、評価と汎化の歴史の中で 「交差検証と検証セットの体系化」 にあたる時代を、初学者向けに短く整理するノートです。時系列の背景は 評価と汎化史、領域の解説は 評価と汎化とは を参照してください。
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=5やk=10が典型。 - leave-one-out(LOO):
k = Nの極端版。データが極めて少ないときに使うが、計算コストが高い。 - 訓練・検証・テスト:手元データを 3 つに分ける 考え方。テストは最後まで触らない、が原則。
交差検証で何をしているか
たとえば手元に成約済み物件 200 件のデータがあるとき、ホールドアウト検証(たとえば 160 件で学習・40 件で検証)だと、たまたま 40 件側に寄った特徴 が混じっていれば見かけ性能が動いてしまいます。交差検証は、検証セットを 回しながら平均 を取ることで、検証スコアの偶然性を抑えるための仕組みです。
- 手元データを
k個の ほぼ同サイズの fold に分ける(k=5やk=10が典型)。 - ある fold を検証用に残し、残り
k-1個で学習する。 - 検証スコアを記録する。
- 残す fold を入れ替えて、
2〜3をk回繰り返す。 k回ぶんの検証スコアを 平均 して、汎化性能の見積もりとする。
時系列やグループ構造(同じユーザの複数行など)があるときは、ランダムに切ると未来情報や同一グループが混ざることがあるため、時系列分割 や グループ分割 に切り替える設計が必要です。
強みと限界(短く)
強み
- 検証スコアの偶然性が 平均で抑えられるため、データが少ない場面で安定した比較ができる。
- ハイパーパラメータ選択の 基準スコア として実務で長く使われている。
限界
- 単純な k 分割は、時系列・グループ構造 を持つデータでは破綻する(時系列分割や
GroupKFoldなどの専用設計が要る)。 - 何度も交差検証を回してハイパーパラメータを探すと、検証データへの過学習 が積み上がる。
kを大きくすれば偶然性は下がるが、計算コスト がk倍になる。