AI(人工知能)用語集

機械学習モデルの性能評価入門!交差検証(クロスバリデーション)とは

交差検証(クロスバリデーション)

機械学習に関する勉強を進めていると、交差検証(クロスバリデーション)という汎化性能を評価する手法が出てきます。汎化性能とは、未知のデータへのモデルの対応能力のことです。

※モデル:データのパターンや傾向を数式で表現したもの

交差検証は非常に重要な手法ですが、コード一行で終わってしまうため、内容をはっきりと理解しないまま使ってしまう場合があるかもしれません。そこで今回は、交差検証(クロスバリデーション)についてお伝えします。

一言で言うと「交差検証(クロスバリデーション)」とは・・・

機械学習モデルの汎化性能を評価する一つの指標です

交差検証を用いることで全データが1度だけテストに用いられる

機械学習のモデルが本当に実用的かどうかを検証する方法の一つに、「交差検証(クロスバリデーション)」があります。交差検証ではデータの分割を何度も繰り返して行って複数のモデルを訓練し、一般に最後は複数のモデルの平均値をとって最終的な性能とします。

中でも一番よく使われる交差検証手法は、K分割交差検証(k-fold cross-validation)で、10分割交差検証を行う場合の流れは次のようになっています。

※Kは人が定めます。

交差検証の流れ(10分割交差検証の場合)
例えば
開発データを10分割して、「9割の訓練セット」、「1割をテストセット」とする
※訓練セット:訓練データの集まり
※テストセット:テストデータの集まり

「訓練セット」でモデルの学習を行う

「テストセット」でモデルの性能を評価する。

このプロセスを10回繰り返して性能の平均をとる。

少しややこしいのでまとめると、10分割交差検証はこんなイメージ。

※画像長いので注意です

交差検証のイメージ

このような処理をする交差検証を用いることで、モデルの性能が偶然による影響を受けないようにすることができます。

例えば、犬の名前を教えてくれるAI(機械学習)を実装しようとしていて、「訓練セット」にはクラス(分類対象のカテゴリ)分類が難しそうな雑種犬の画像ばかりが入り、「テストセット」には分類がしやすい特徴がはっきりした犬の画像ばかりが入っていたら、、、モデルの精度はめちゃめちゃ高くなります。なぜなら解く問題(テストデータ)が簡単だからです。

逆に、クラス分類が難しそうな雑種犬の画像が全てテストデータに入っていれば、モデルの精度はめちゃくちゃ低くなってしまうでしょう。

その点、交差検証を使えば全ての犬の画像が必ず一度はテストデータとして利用されますつまり、交差検証によって平均的に良い性能結果を出すモデルは、全てのデータに対して良い汎化性能を示すことになる!というわけです。

まとめ

つまり、交差検証とは

汎化性能がより高いモデルを確実に評価するための手法の一つです

<参考>

つっちー
つっちー

AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(ほぼ実話)。

「歩く負債」と言われた僕がゼロからAIエンジニアになる為のステップを実践してみた!
みんなのAI(人工知能)用語集

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました