テストデータ
AIにおけるテストデータの重要性について解説します。モデルのパフォーマンス評価、過学習の検出、および現実世界の信頼性の確保におけるその役割について学びます。
機械学習において、テストデータとは、完全に学習されチューニングされたモデルを最終的に評価するために使用される、データセットの独立した別個の部分である。
データセットの独立した部分である。このデータセットは、モデルの「最終試験」として機能する。
このデータセットは、モデルの「最終試験」として機能し、新しい未知のデータに対する性能の公平な評価を提供する。基本原則は、モデルが
は、開発中にテストデータから学習したり、テストデータの影響を受けたりしてはならないということです。この厳格な分離により、以下のことが保証されます。
テストセットで計算された性能指標、例えば
精度や
平均平均精度 (mAP)などのテストセットで計算される性能指標は、モデルの能力を正確に反映するものです。
モデルの実世界シナリオへの汎化能力を
真の反映となります。厳密な
モデルのテストは
モデル展開の前の重要なステップです。
MLライフサイクルにおけるテストデータの役割
典型的な機械学習(ML)プロジェクトでは、
データは異なる目的のために注意深く分割される。これらのパーティションの違いを理解することは
信頼できるモデルを構築するための基本である。
-
トレーニングデータ:これはモデルの学習に使用される
モデルの学習に使用される。モデルは、パターン、特徴、関係を反復的に学習する。
モデル内部の重みを調整することで
モデルを学習します。効果的なモデルの作成は、高品質なトレーニングデータと、本書のようなベストプラクティスに従うことに依存する。
この
のようなベストプラクティスに従うことです。
-
バリデーションデータ:これは
トレーニングの過程で使用される別のデータセットである。その目的は、未知のデータに対するモデルのパフォーマンスについてフィードバックを提供することである。
ハイパーパラメータのチューニング(例えば
ハイパーパラメータのチューニング(例えば、学習率
学習率の調整など)を行い
オーバーフィッティングの防止に役立つ。これは、学習戦略の指針となる
学習戦略の指針となる。評価は多くの場合、専用の
検証モードで行われる。
-
テストデータ:このデータセットは、すべてのトレーニングと検証が終了するまで、完全に隔離された状態で保管される。
モデルのパフォーマンスについて、最終的で偏りのないレポートを提供するために一度だけ使用される。テストデータを使って
このような間違いは「データリーク」または「ティーチング」と呼ばれることもある。
データリーク "あるいは "ティーチング・トゥ・ザ・テスト"
と呼ばれるミスである。この最終的な評価は、"データ・リーク "あるいは "ティーチング・トゥー・テスト "と呼ばれる間違いである。
Ultralytics YOLO11モデルのようなモデルが、展開後にどのように機能するかを理解するために不可欠です。
トレーニング後は val モードをテストスプリットに適用して、最終的なパフォーマンス指標を生成します。
from ultralytics import YOLO
# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")
# Evaluate the model's performance on the COCO8 test set.
# This command runs a final, unbiased evaluation on the 'test' split.
metrics = model.val(data="coco8.yaml", split="test")
print(metrics.box.map) # Print mAP score
ベンチマーク・データセットは、テストセットとして機能することができる。
その主な役割は、異なるモデルを比較するための公的な基準として機能することであり、多くの場合、学術的な課題で使用される
のような
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)のような学術的なチャレンジでよく使用されます。この例は
モデル比較のページでその例を見ることができます。
実際のアプリケーション
-
自動車におけるAI:開発者が
自律走行車の物体検出モデルを
自律走行車の物体検出モデルを作成。
の走行映像を使用して、自律走行車の物体検出モデルを作成する。このモデルを車両に配備する前に、テストデータセットに対して評価する。
テストデータセットに対して評価される。このテストセットには、大雨の中での夜間走行、吹雪の中でのナビゲートなど、これまで見たことのない困難なシナリオが含まれる。
このテストセットには、大雨の中の夜間走行、吹雪の中のナビゲート、他の物体に隠れて部分的に見えない歩行者の検出など、これまで見たことのない困難なシナリオが含まれます。モデルの
のようなベンチマークのデータを使用することが多い。
nuScenesのようなベンチマークのデータを使用することが多い。
車載用AIに求められる
車載用AIに求められる厳しい安全性と信頼性の基準を満たしているかどうかを決定する。
-
医用画像解析:A
コンピュータ・ビジョン(CV)モデルを訓練し
ある病院の胸部X線画像から肺炎の徴候をdetect するために訓練される。このモデルが臨床的に有用であることを確認するために
モデルを別の病院システムからの画像のデータセットでテストしなければならない。このテストデータには
このテストデータには、異なる装置で撮影され、多様な患者集団から採取され、異なる放射線科医によって解釈された画像が含まれる。
この外部テストセットでモデルの性能を評価することは、以下のような規制当局の承認を得るために極めて重要である。
この外部テストセットでモデルの性能を評価することは
FDAのような規制当局の承認を得て、医療における
ヘルスケアにおけるAIこのプロセスは
モデルがデータセットのバイアスを回避し、新たな臨床環境で確実に機能することを確認するのに役立ちます。
新たな臨床の場で確実に機能するようにする。公開されている医用画像データセットは、以下のようなリソースで見つけることができます。
The Cancer Imaging Archive (TCIA).
テストデータ管理のベストプラクティス
評価の完全性を確保するために、以下のベストプラクティスを検討してください:
-
ランダム・サンプリング:データ分割を行う際には、テスト・セットが問題空間全体を代表するサンプルであることを確認する。
を作成します。以下のようなツールがあります。
scikit-learnのtrain_test_split
のようなツールは、このランダムな分割を自動化するのに役立ちます。
-
データ漏洩を防ぐ:トレーニングセットとテストセットの間に重複がないようにする。微妙なリークもあります、
同じビデオクリップのフレームが両方のセットにあるなど、微妙な漏れがあっても、性能スコアが人為的に高くなる可能性があります。
-
代表配布:分類のようなタスクでは
分類のようなタスクでは
テストセットのクラス分布が、実際に遭遇すると予想される分布を反映していることを検証します。
-
評価指標:ビジネス目標に沿った評価指標を選択する。例えば、セキュリティ
例えば、セキュリティ・アプリケーションでは、脅威を見逃さないために
脅威を見逃さないようにするためです。
これらの原則を厳守することで、テストデータを自信を持って使用することができます。
Ultralytics モデルが本番環境で使用できることを証明するために、テストデータを自信を持って使用することができます。