交差検証 - 限られたデータを有効に使う

交差検証の仕組みとk分割交差検証を理解しよう。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針

前回はデータを3つに分けました。でも、データが少ない時はどうする? 今日はその救世主『交差検証(クロスバリデーション)』を学びます。限られたデータを無駄なく使う技を身につけましょう。

深見 つむぎ(普段) 深見 つむぎ

前回の3分割の話なんですが、例えばデータが300件しかない場合だと、テストに回す余裕がほぼないんです。
こういう時はどうすればよいですか?

香月 リサ 先生(笑顔) 香月 リサ 先生

いい実務的な疑問ね。
そんな時に活躍するのが交差検証よ。

戸倉 ジャスミン(あせる) 戸倉 ジャスミン

交差って…何と何が交わるの?

香月 リサ 先生(普段) 香月 リサ 先生

データをk個のグループ(fold)に分けて、1つを検証用、残りk-1個を学習用にして評価するの。
これをk回繰り返して、すべてのグループが1回ずつ検証役を経験するのよ。
これをk分割交差検証と呼ぶわ。

深見 つむぎ(普段) 深見 つむぎ

つまり5分割なら、5パターンの学習・評価を行い、5つの結果を平均して最終的な性能とするわけですね。

雪村 ましろ(笑顔) 雪村 ましろ

全員が1回ずつテスト役をやるんですね〜、公平〜!

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

バドミントンの団体戦で、全員が1回ずつ試合に出るのと似てるじゃん。
たまたま不調な人がいても平均で見られる。

香月 リサ 先生(普段) 香月 リサ 先生

いいバドミントン例えね。
偏りの少ない評価ができるのが最大のメリット。
実務では k=5 か k=10 が定番よ。

雪村 ましろ(普段) 雪村 ましろ

データも全部使えるから、少ないデータにもやさしいですね〜。

深見 つむぎ(普段) 深見 つむぎ

注意点としては、計算コストがk倍になります。
大規模データや深層学習では現実的でないため、単純に訓練/検証を分ける方式(ホールドアウト法)が使われることも多いです。

香月 リサ 先生(普段) 香月 リサ 先生

バリエーションとして、全データ数Nに対してk=Nにする『Leave-One-Out交差検証(LOOCV)』もあるわ。
これはデータを最大限使えるんだけど、計算コストも大きいのよ。
データが数十件しかない場合に使われることがあるわ。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

なるほど、データが少ないときほど交差検証の価値が上がるわけか。

深見 つむぎ(普段) 深見 つむぎ

その通りです。
また、時系列データでは未来→過去への情報漏れを防ぐため、時間順を維持した特殊な交差検証(Time Series CV)を使います。
ランダムに分けると未来情報が過去の予測に混入してしまうので。

雪村 ましろ(びっくり) 雪村 ましろ

未来を見てはいけないんですね〜、タイムリープ禁止!

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

タイムリープ禁止、わかりやすいじゃん(笑)。
株価予想でいうと、来月の株価を学習に混ぜたら今月のテストがズルになるってことか〜!

香月 リサ 先生(普段) 香月 リサ 先生

さらに、クラスの偏りがあるデータでは『層化(stratified)k分割交差検証』という手法を使うわ。
各foldに元データと同じクラス比率を保つ工夫ね。
陽性1%・陰性99%のようなデータで特に重要よ。

深見 つむぎ(普段) 深見 つむぎ

補足すると、交差検証で得られる評価は平均値と標準偏差の両方を見ると品質が掴めます。
ばらつきが大きいモデルは運で良いスコアが出るだけかもしれないので要注意です。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

平均だけじゃなくてバラつきも見るのね。
納得じゃん、安定性も性能のうちだ。

雪村 ましろ(笑顔) 雪村 ましろ

みんなの前で発表する時の実力も、たまたまじゃなく毎回の平均が大事、みたいな話ですね〜。

深見 つむぎ(普段) 深見 つむぎ

Kaggleなどのコンペでは、交差検証スコアと公開リーダーボードのスコアが一致するかを見て、『このモデルは汎化しているか』を判断します。
交差検証は実務でも欠かせない道具です。

香月 リサ 先生(笑顔) 香月 リサ 先生

試験では『k分割交差検証はk回の学習・評価を行い平均を取る』『データを無駄なく使える』の2点を押さえましょう。

確認クイズ

5分割交差検証では学習と評価を何回繰り返すか?

  1. 1回
  2. 3回
  3. 5回
  4. 10回
こたえを見る

正解: 3. 5回

k分割交差検証はk回の学習・評価を行い、その結果の平均を最終的な評価値とします。5分割なら5回です。全データが公平に検証役を経験するため、評価の偏りが減ります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。