【こうさけんしょう】

交差検証 とは?

💡 データを交互に使い回してフェアに評価する「総当たり試験方式」
📌 このページのポイント
5-fold 交差検証 反復 Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 1回目 テスト 訓練 訓練 訓練 訓練 2回目 訓練 テスト 訓練 訓練 訓練 3回目 訓練 訓練 テスト 訓練 訓練 4回目 訓練 訓練 訓練 テスト 訓練 5回目 訓練 訓練 訓練 訓練 テスト 訓練データ テストデータ → 平均スコアで評価
交差検証の仕組み
ひよこ ひよこ

交差検証って何のためにするの?

ペンギン先生 ペンギン先生

モデルの本当の実力を測るためだよ。訓練データテストデータを一回だけ分けると、たまたま都合のよい分け方になる可能性がある。交差検証は複数回の分け方を試してその平均を取ることで、より信頼性の高い評価ができるんだ。

ひよこ ひよこ

k=5ってどういうこと?

ペンギン先生 ペンギン先生

データを5等分して、1分割目を検証データ・残り4つを訓練データ、次は2分割目を検証データ・残り4つを訓練データ、とローテーションして5回繰り返すんだよ。5回の評価スコアの平均が最終的な性能の推定値になるんだ。

ひよこ ひよこ

kは何が正解なの?

ペンギン先生 ペンギン先生

データ量と計算時間のトレードオフで決めるよ。k=10は精度が高いけど10倍の計算が必要、k=5は実用的なバランス。データが非常に少ない場合は「Leave-One-Out」といって全件数をkにする極端な方法を使うこともあるんだ。

ひよこ ひよこ

時系列データに交差検証を使ってもいいの?

ペンギン先生 ペンギン先生

普通の交差検証をそのまま使うのはダメなんだよ、これが重要な落とし穴で。時系列データは「未来のデータで学習して過去を予測する」というデータリークが起きやすい。たとえば2023年のデータで学習して2022年を予測しても、実際には2022年を予測するときに2023年のデータは存在しないから意味がない。時系列専用の「ウォークフォワード検証(Time Series Split)」という手法を使わないといけない。この落とし穴は機械学習の実務経験者でも踏むことがある本当に危険な罠なんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「交差検証」って出てきたら「データを分割して学習と検証を繰り返すことで性能を公平に測る手法のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cross-Validation」 = 交差(クロス)検証
💬 データを「交差(クロス)」させながら使うことから。一方が学習データのとき他方が検証データになる入れ替えが「交差」のイメージだよ
← 用語集にもどる