はじめに
**ISTQB AI Tester 認定(Chapter 4)**では、
機械学習(ML)モデルを支える「データ」の扱いが非常に重要なテーマとして扱われています。
本記事では、
-
学習データ(Training Data)
-
検証データ(Validation Data)
-
テストデータ(Test Data)
という 3つのデータセットの役割・使い分け・分割比率を、
テスト観点・具体例を交えながらわかりやすく解説します。
MLモデル開発に必要な3つのデータセットとは?
① 学習データセット(Training Data Set)
役割
-
MLモデルが「パターン」や「ルール」を学習するためのデータ
-
モデルの重みやパラメータを直接更新するために使用される
具体例
-
画像認識:ラベル付き画像(犬/猫など)
-
自然言語処理:文章+正解ラベル
-
自動運転:センサー情報+正解操作データ
👉 最も多くの割合を占めるデータセットです。
② 検証データセット(Validation Data Set)
役割
-
学習途中のモデル性能を評価する
-
ハイパーパラメータ調整(チューニング)に使用
-
過学習(Overfitting)を防ぐために重要
ポイント
-
学習には使わない
-
しかし「モデル改善」には利用する
👉 テストデータとは明確に役割が異なる点が試験でよく問われます。
③ テストデータセット(Test Data Set / Hold-out Data)
役割
-
最終的なモデル品質を評価するためのデータ
-
学習・検証では一切使用しない
重要な考え方
テストデータは「完全に未知のデータ」でなければならない
これにより、
-
実運用時の性能を正しく評価できる
-
評価結果の信頼性が確保される
👉 テストデータを学習に使ってはいけない理由は、ISTQB試験の頻出ポイントです。
データ分割はなぜ必要なのか?
MLモデルでは、
同じデータで学習と評価を行うと、正しい性能評価ができません。
そのため、
-
学習用
-
改善・調整用
-
最終評価用
という 役割分担されたデータ分割が必要になります。
一般的なデータ分割比率(ガイドライン)
ISTQBシラバスでも示されているように、
絶対的な正解の比率は存在しません。
よく使われる例
|
学習 |
検証 |
テスト |
|---|---|---|
|
60% |
20% |
20% |
|
80% |
10% |
10% |
考え方のポイント
-
学習データは多いほど良い
-
検証・テストは「代表性」が重要
-
データ量・アルゴリズム・計算資源によって調整する
データ分割は基本的に「ランダム」
通常、データは ランダムに分割されます。
ただし以下の場合は注意が必要です:
-
データ量が極端に少ない
-
実運用データを代表しない偏りが生じる恐れがある
👉 テストエンジニアとしては
「分割後のデータが現実を反映しているか?」
という視点が重要になります。
データが少ない場合の対処方法(重要)
問題点
-
学習・検証・テストに分けると、
学習データが不足し、モデル性能が出ない
解決策(ISTQBで重要)
-
学習データ+検証データを統合
-
テストデータは必ず別で保持
-
学習/検証部分を複数パターンで分割して繰り返し評価
(いわゆる クロスバリデーション的アプローチ)
例
-
80%を学習+検証として使用
-
20%をテスト専用として保持
-
学習80%の中で、さらにランダム分割を繰り返す
👉 複数回の結果を平均化し、モデル性能を評価する
テストエンジニア視点での重要ポイントまとめ
-
テストデータは 絶対に学習に使わない
-
検証データとテストデータの役割を混同しない
-
データ分割比率に「正解」はない
-
データ量が少ない場合の工夫が問われる
-
品質評価の信頼性確保が最大の目的
まとめ
MLモデルの品質は、
アルゴリズム以上に「データの扱い方」で決まると言っても過言ではありません。
ISTQB AI Tester では、
-
技術者として
-
テスト担当として
**「なぜそのデータ分割が必要なのか」**を
論理的に説明できる理解が求められます。

コメント