【ISTQB /JSTQB AI Tester 解説】MLアルゴリズム選定の要因と過学習・未学習を徹底解説

JSTQB AI Tester

ISTQB AI Tester シラバス Chapter 3 では、

機械学習(ML)モデルを構築するうえで非常に重要な2つのテーマ が登場します。

  • 3.4 MLアルゴリズム選定に関わる要因

  • 3.5 過学習(Overfitting)と未学習(Underfitting)

本記事では、

「なぜこのアルゴリズムを選ぶのか?」

「モデルがうまく動かない本当の理由は何か?」

実務・試験の両面 から、わかりやすく解説します。


1. MLアルゴリズム選定に「絶対的な正解」はない

まず大前提として重要なのは、

最適なMLアルゴリズムを一意に決める決定的なルールは存在しない

という点です。

  • アルゴリズムは一から作ることも可能

  • しかし実務では 既存ライブラリのアルゴリズムを選び、調整(チューニング)する のが一般的

その際、複数の要因を組み合わせて判断 します。


2. MLアルゴリズム選定に影響する主な要因(3.4)

① 必要とされる機能(Required Functionality)

まず最初に考えるべきは、

そのMLモデルに「何をさせたいのか」

です。

代表例:

  • 分類(Classification)

    例:犬か猫かを判別する

  • 予測(Prediction / Regression)

    例:売上や気温を予測する

  • クラスタリング(Clustering)

    例:顧客を購買傾向ごとにグループ化する

👉 機能が違えば、選ぶべきアルゴリズムも根本的に変わります。


② 要求される品質特性(Quality Characteristics)

次に重要なのが 品質面の要求 です。

代表的な観点:

  • 精度(Accuracy)

  • 処理速度(Performance)

  • 応答時間(Prediction Speed)

  • 学習・再学習の速度

  • 透明性・解釈性・説明可能性

具体例

  • 「多少遅くても 高精度 を重視したい」

  • 「多少精度が落ちても リアルタイム性 を優先したい」

👉 精度が高いモデルほど、処理が重くなる傾向 があるため、トレードオフの判断が必要です。


③ 利用可能なリソース(メモリ・計算能力)

特に 組み込みシステムやエッジAI では重要です。

  • 利用可能なメモリ量

  • CPU / GPU の性能

  • 同時処理数(トランザクション数)

👉 高性能なアルゴリズムでも、

ハードウェア制約を超えると実装できません。


④ 学習データの種類(Type of Data)

アルゴリズムによって扱えるデータは異なります。

  • 画像データ向き

  • テキストデータ向き

  • 数値データ向き

例:

  • 画像分類に特化したアルゴリズムでは、

    テキストデータが使えない 場合もあります。


⑤ データ量(Amount of Data)

  • 学習データの量

  • テストデータの量

ポイント:

  • データが少ないと 過学習しやすい

  • データが多すぎると 学習時間・計算コストが増大

👉 アルゴリズムによって「大量データ向き」「少量データ向き」があります。


⑥ 入力特徴量(Number of Features)

特徴量(Feature)とは、モデルが判断材料として使う要素です。

例:動物分類モデル

  • 分類:犬 / 猫

  • 犬のクラス:

    ポメラニアン、ハスキー、ブルドッグ など

👉 特徴量が増えるほど精度は向上しやすいが、学習は難しくなる


⑦ クラス数(Number of Classes)

  • 2クラス分類向きのアルゴリズム

  • 多クラス分類に弱いアルゴリズム

例:

  • 犬と猫を同時に扱えず、

    「小さい犬」「大きい犬」と誤分類してしまうケース


⑧ 過去の経験と試行錯誤(Experience / Trial & Error)

最後は 実務的な要因 です。

  • 過去に成功したアルゴリズム

  • 実験的に複数を試すアプローチ

👉 経験と試行錯誤も、立派な判断材料 です。


3. 過学習(Overfitting)とは何か(3.5)

■ 定義

過学習(Overfitting) とは、

学習データに過度に適合しすぎて、新しいデータに対して正しく予測できなくなる状態

■ 特徴

  • 学習データでは高精度

  • 未知データでは精度が急落

■ 原因

  • ノイズや外れ値まで学習してしまう

  • 学習データが少ない

  • モデルが複雑すぎる

イメージ例

  • すべてのデータ点に無理やり合わせようとして、

    汎用性を失う


4. 未学習(Underfitting)とは何か

■ 定義

未学習(Underfitting) とは、

モデルが単純すぎて、学習データの傾向すら捉えられていない状態

■ 特徴

  • 学習データでも精度が低い

  • 新しいデータでも精度が低い

■ 原因

  • 学習データが少なすぎる

  • 重要な特徴量が含まれていない

  • モデルが単純すぎる

具体例

  • 犬の画像を 5〜10枚だけ 学習

  • 実際には100種類以上の犬種が存在

  • → 11枚目以降をまったく識別できない


5. 過学習・未学習のまとめ(重要)

状態

問題点

イメージ

過学習

覚えすぎ

詰め込み学習

未学習

学習不足

情報不足

👉 理想は「適度な学習」

過学習でも未学習でもない バランスの取れたモデル が重要です。


6. まとめ(試験対策ポイント)

  • MLアルゴリズム選定に絶対的ルールはない

  • 機能・品質・データ・リソースを総合的に判断

  • 過学習・未学習は データ量とモデル複雑度のバランス問題

  • ISTQB試験では 定義・原因・特徴の区別 が頻出

コメント

タイトルとURLをコピーしました