Yolo 深圳
深セン
今すぐ参加
用語集

クロスバリデーション

Explore cross-validation to prevent overfitting and boost model reliability. Learn how to implement K-Fold splits with YOLO26 to ensure your AI generalizes well.

交差検証は、限られたデータサンプル上で機械学習(ML)モデルの性能を評価するために用いられる頑健な統計的再サンプリング手法である。データを単一の訓練セットとテストセットに分割する標準的なホールドアウト法とは異なり、交差検証ではデータセットを複数のサブセットに分割し、すべてのデータポイントが訓練と検証の両方に使用されることを保証する。 この手法は、統計分析の結果が独立したデータセットにどの程度一般化されるかを評価する上で極めて重要であり、モデルが一般化可能なパターンを学習する代わりに学習例を記憶してしまう過学習を detect 役立ちます。

K-fold交差検証の仕組み

この手法で最も広く用いられているバリエーションがK分割交差検証である。このプロセスでは、 データセット全体がk個の等しいサイズのグループ(フォールド)にランダムに分割される。その後、 学習プロセスがk回繰り返される。各反復において、単一のフォールドがモデルの検証用データとして 機能し、残りのk-1個のフォールドが学習データとして使用される。

最終的な性能指標は通常、各ループから得られたスコア(精度精密度平均平均精度(mAP)など)を平均化して算出される。この手法により、訓練データとテストデータの分割による単一試行に伴う変動が大幅に低減され、汎化誤差のより信頼性の高い推定値が得られる。これにより、テストデータの恣意的な選択による評価の偏りが排除される。

Ultralytics実装

交差検証は、小規模なデータセットを扱う場合や厳密なハイパーパラメータ調整を行う場合に特に有用である。PyTorchのような現代的な深層学習フレームワークでは PyTorch は学習ループを容易にするが、フォールドの管理には慎重なデータ準備が必要である。

以下の例は、YOLO26モデルを使用した5分割交差検証実験のために、事前に生成されたYAML設定ファイルを反復処理する方法を示しています。これは、データセットを既に5つの別々の設定ファイルに分割していることを前提としています。

from ultralytics import YOLO

# List of dataset configuration files representing 5 folds
fold_yamls = [f"dataset_fold_{i}.yaml" for i in range(5)]

for i, yaml_file in enumerate(fold_yamls):
    # Load a fresh YOLO26 Nano model for each fold
    model = YOLO("yolo26n.pt")

    # Train the model, saving results to a unique project directory
    results = model.train(data=yaml_file, epochs=20, project="cv_experiment", name=f"fold_{i}")

分割生成の自動化についてさらに詳しく知りたい場合は、 K分割交差検証に関するガイドを参照してください。

実際のアプリケーション

データが不足している産業、収集コストが高い産業、あるいは安全上極めて重要な信頼性が求められる産業においては、交差検証が不可欠である。

  • 医療診断: 医療画像解析において、希少疾患のデータセットは規模が小さい場合が多い。 単一の検証分割では、困難な症例や稀な病理が意図せず除外される可能性がある。 医療分野のAI開発者は交差検証を用いることで、 診断モデルが利用可能な全患者スキャンに対してテストされ、 多様な患者層や装置タイプにわたってシステムが機能することを検証する。
  • 精密農業:屋外環境では気象条件が大きく変動する。作物の病害検出用に訓練されたモデルは、 訓練データに晴天時の画像のみが含まれている場合、 晴天時には良好な性能を発揮するものの、曇天時には失敗する可能性がある。交差検証により、 モデルがこうした変動に対して頑健であることを保証し、農家が天候条件に関わらず一貫したモニタリングを 自動機械学習(AutoML)ツールに依存できるように支援する。

モデル開発における戦略的優位性

AI開発ライフサイクルに交差検証を統合することで、 バイアスと分散のトレードオフに関する重要な知見が得られる。

  1. 安定性評価:フォールド間で性能指標が大きく変動する場合、モデルが学習に使用された特定のデータポイントに非常に敏感であることを示し、高い分散が存在することを示唆する。
  2. データ効率性:限られたデータの有用性を最大化する。なぜなら、すべての観測値が最終的に 学習と検証の両方に使用されるからである。
  3. ハイパーパラメータ最適化:最終テストセットを「覗き見」することなく、最適な 学習率 バッチサイズ、または データ拡張戦略を選択するための信頼できるベンチマークを提供する。

関連概念の区別

交差検証を他の評価用語と区別することが重要です:

  • vs. ホールアウト検証:ホールアウトは単一分割(例:80/20)を伴う。より高速で、 ImageNetのような大規模データセットに適している。 ImageNetには適しているが、小規模データセットでは 統計的堅牢性が交差検証より劣る。
  • ブートストラップ法との比較: ブートストラップ法は置換ありの無作為抽出を用いるのに対し、 K分割交差検証は置換なし(各サンプルは正確に1つの分割グループに属する)でデータを分割する。

複数のフォールドから得られるアーティファクト、メトリクス、モデルを管理することは複雑になりがちです。 Ultralytics 、実験の集中管理機能を提供することでこれを簡素化し、 チームが異なるフォールド間でパフォーマンスを比較し、 モデル評価の知見を手間なく可視化できるようにします。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加