AI・機械学習の基本概念

交差検証 こうさけんしょう

k分割交差検証汎化性能ハイパーパラメータモデル評価過学習防止訓練データ
交差検証について教えて

簡単に言うとこんな感じ!

「何度もシャッフルして繰り返しテストする」イメージだよ!データをいくつかのブロックに分けて、「このブロックをテスト用、残りを訓練用」というパターンを何周か繰り返すことで、たまたまデータの分け方が良かっただけじゃない、安定した精度評価ができるんだ。データを無駄にせず、信頼できる評価が得られるってこと!


交差検証とは

交差検証(Cross-Validation)とは、機械学習モデルの汎化性能を推定する評価手法です。データを複数のブロック(フォールド)に分割し、あるブロックをテスト用(検証用)、残りを訓練用として学習・評価するサイクルを繰り返します。全てのフォールドの評価スコアの平均を最終的な汎化性能の推定値とします。

単純にデータを1回だけ訓練・テストに分ける手法(ホールドアウト法)と比べ、交差検証はデータの全てを一度はテストデータとして使うため、データが少ない場面でも信頼性の高い評価が得られます。また「たまたまテストデータが簡単だった」という偶然の影響を排除できます。

AIシステムの発注・評価の場では「テスト精度98%」という数値がシングルラン(1回のみ)なのか交差検証によるものなのかを区別することが重要です。交差検証ベースの評価のほうが信頼性が高く、ベンダーから提示される精度が何を根拠としているかを確認する際の重要な判断基準になります。


主な交差検証の種類

手法説明向いている場面
k分割交差検証(k-Fold CV)データをk個のブロックに分割してk回評価最も標準的。k=5または10がよく使われる
層化k分割交差検証(Stratified k-Fold)各フォールドのクラス比率を維持して分割分類問題・クラスが不均衡な場合
Leave-One-Out(LOO-CV)1件ずつテストに使うn回の評価データが極めて少ない場合
時系列交差検証時系列を考慮して過去→未来の方向で分割時系列データ(売上予測・株価等)
グループk分割交差検証グループ単位でテスト分割患者単位・企業単位など、個体ごとの評価が必要な場合

歴史と背景

  • 1930〜40年代:統計学の分野でモデル選択の問題意識が芽生える
  • 1974年:Stoneが交差検証の理論的枠組みを発表
  • 1978年:Allen, M. D. がPRESS(予測残差平方和)として交差検証の体系化を進める
  • 1993年:Kohavi が機械学習文脈での交差検証の有効性を実験的に示す論文を発表
  • 2000年代:SciPy・scikit-learnなどのライブラリが交差検証を標準機能として実装し、実務普及が加速
  • 現在:ハイパーパラメータのチューニング(グリッドサーチ・ランダムサーチ)と組み合わせて使うネスト交差検証が標準プラクティスとなっている

k分割交差検証(k=5)の流れ

5分割交差検証(5-Fold Cross Validation) ラウンド Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 第1回 テスト 訓練 第2回 テスト 第3回 テスト 第4回 テスト 第5回 テスト 最終スコア=5回の評価スコアの平均(±標準偏差で信頼性も確認)

関連する規格・RFC

規格・RFC番号内容
ISO/IEC 22989:2022AI概念・用語(モデル評価・汎化性能の定義を含む)
ISO/IEC 23053機械学習を使ったAIシステムのフレームワーク

関連用語