【こうさけんしょう】

交差検証 とは?

最終更新:
💡 学習に使わない部分を替えて、繰り返し評価する

データの学習用と検証用の分け方を変えて、学習・評価を繰り返す方法。未知のデータに対する予測性能を推定するために使う。分割方法はデータの性質と予測の目的に合わせる。

📌 このページのポイント
5分割交差検証の例検証に使う部分を順番に替える123451回目検証学習学習学習学習2回目学習検証学習学習学習3回目学習学習検証学習学習4回目学習学習学習検証学習5回目学習学習学習学習検証毎回、学習し直して検証する各回のスコアの平均・ばらつきを見る
k分割交差検証の例。各回の検証部分を学習から外す。時系列やグループのあるデータでは、その関係に合った分割を使う。
ひよこ ひよこ
何のためにするの?
ペンギン先生 ペンギン先生
一度だけデータを分けると、その分け方に結果が左右されることがあるよ。交差検証は学習に使わない部分を替えて評価し、スコアの平均やばらつきを調べる方法なんだ。未知のデータでの性能を推定するために使うよ。
ひよこ ひよこ
k=5ってどういうこと?
ペンギン先生 ペンギン先生
k分割交差検証でデータを5つに分けるということだよ。1つを検証用にし、残り4つで学習する。検証用にする部分を順番に替えて、モデルを学習し直しながら5回評価するんだ。
ひよこ ひよこ
kを大きくすれば正確になるの?
ペンギン先生 ペンギン先生
大きければ必ずよいわけではないよ。学習回数、各回に使えるデータ量、評価のばらつきなどを考えて選ぶんだ。5分割や10分割はよく使われるけれど、どんなデータにも最適という意味ではないよ。
ひよこ ひよこ
時系列にも同じ分け方でいい?
ペンギン先生 ペンギン先生
未来を予測する目的なら、過去で学習してその後のデータで検証するなど、時間の順序を守ろう。また、同じ人の記録が複数ある場合に未知の人への性能を測るなら、その人の記録を学習側と検証側に分けない方法が必要だね。
ひよこ ひよこ
前処理は全部のデータで先に済ませていい?
ペンギン先生 ペンギン先生
平均や標準偏差を求める処理など、データから学ぶ前処理は各回の学習データだけで決めるよ。検証データの情報を取り込むと評価が楽観的になることがある。モデルの設定選びに使ったデータとは別に、最後の評価用データを残すことも大事なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「交差検証」って出てきたら「学習用と検証用の分け方を変えて性能を評価する方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Cross-Validation」 = 交差(クロス)検証
💬 データを「交差(クロス)」させながら使うことから。一方が学習データのとき他方が検証データになる入れ替えが「交差」のイメージだよ

参考資料

← 用語集にもどる