VARISTA
AI・機械学習ナレッジセンター
モデル
交差検証 (クロスバリデーション)

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

交差検証(クロスバリデーション)は汎化性能を改善する時に用いられる手法の一つです。

交差検証の目的

交差検証を行う目的は、過学習(オーバーフィッティング)を防ぎ汎化性能を向上させるために行います。

交差検証の種類

交差検証には様々な手法が存在しますが、ここではよく利用されるk-分割交差検証と層化k-分割交差検証について解説します。
VARISTA AI ML Knowledge Cross Validation Holdout

K-分割交差検証:k-Fold Cross Validation

データをK個に分割して、そのうちの一つをテストデータとして使い、残りのK-1個を訓練データとして使い、モデルの学習を行う手法です。
ここではデータを5つに分割する場合の例を用いて解説します。
下図のように、データを5つに分割します。
VARISTA AI ML Knowledge Cross Validation 5FoldCV

5つにデータを分割したので、4つを訓練用、1つをテスト用にして学習します。
ここで学習をして終わりではなく、テストデータの位置を一つずつずらして学習を進めて、最終的に5つのモデルを作成します。
VARISTA AI ML Knowledge Cross Validation KFoldCV
出来上がった5つのモデルの精度を評価し、平均化して最終的に一つのモデルに融合します。
ただし、分割の仕方がランダムになるためデータの偏りなどは考慮されないため、分類問題でクラスのデータ数に偏りがある場合は正しくモデル性能の評価ができないという問題があります。
そこで、データに含まれるクラスごとのデータ数に偏りがある場合は層化k-分割交差検証(Stratified k-Fold Cross Validation)を使います。

層化k-分割交差検証:Stratified k-Fold Cross Validation

k-分割交差検証は、データを単純に分割するだけですが、この手法の場合は分割した範囲内でクラスの比率が同じになるように分割を行います。
以下の図は層化k-分割交差検証におけるデータ分割のイメージです。
男性と女性の比率が異なるデータセットが用意されていたとして、この方法で分割するとそれぞれの分割したデータ範囲に含まれる男性と女性の比率は同じになっています。
VARISTA AI ML Knowledge Cross Validation StratifiedKFoldCV

クラスにの偏りがあるデータを使いモデルを作成する場合は、k-分割交差検証ではなく層化k-分割交差検証を利用してモデルを作成することが推奨されます。

VARISTAにおける交差検証

VARISTAでも交差検証をサポートしており、モデルの作成が終わった後でその結果を確認することができます。
以下の図は、k分割交差検証を用いてデータを3分割にして学習をしたモデルの詳細画面です。
右上に3つのモデルにおけるスコアの平均値が表示されます。
VARISTA AI ML Knowledge Cross Validation VARISTA Screen


VARISTAは機械学習モデルの開発、管理をノーコードで効率的に行うことができる新しいプラットフォームです。
データをお持ちでしたらすぐに始められますので、是非ともご相談ください。
Made with
by VARISTA Team.
© COLLESTA, Inc. 2021. All rights reserved.