AI異常検知の「評価」を、手を動かして理解する(4/4)

〜 閾値・混同行列・ROC/PR/F1 を、スライダーを動かしながら体感するチュートリアル 〜

AI外観検査を導入するとき、いちばん誤解されやすいのが 「評価(evaluation)」 の部分です。
「F1 が最大の閾値に設定します」と言われても、F1 とは何か、なぜ閾値で結果が変わるのか、
100% という数字をどこまで信じてよいのか — ここが腹落ちしないまま話が進みがちです。

この記事では、ブラウザで動く教材アプリを 実際に操作しながら、異常検知の評価プロセスを
一歩ずつ体で理解していきます。数式の暗記は不要です。スライダーを動かして、
数字とグラフが一斉に動くのを眺めるだけで、評価の全体像がつかめます。

アプリ(無料・インストール不要)
https://anomalydetectiondemo.streamlit.app/

この記事を別ウィンドウで開き、アプリを操作しながら読むのがおすすめです。
表示されるデータはすべて説明用の疑似データで、実製品のデータではありません。

このチュートリアルで分かること

  • 異常スコアと閾値の関係、そして「過検知 ⇄ 見逃し」のトレードオフ
  • 混同行列と 5 つの評価指標(Recall / Precision / F1 など)が何を表すか
  • ROC / PR / F1 曲線の読み方と、閾値の 5 つの決め方
  • 「同じ AI でも、サンプル次第で成績がブレる」という評価の落とし穴

各パートには 🖱 操作 と 👀 観察 を用意しました。実際にやってみてください。

Part 4. サンプルのくじ運 — なぜ「サンプル数」が効くのか

最後に、評価の落とし穴を体感します。左サイドバーの 「乱数」 を開いてください。

「シード」は乱数の“くじの番号”です。固定してあるので、閾値を動かしても点は動きません。
「サンプルを引き直す」 ボタンは、分布の設定はそのままに、別のサンプルを引き直す
=「別の日に、同じラインからもう一度抜き取り検査した」イメージです。

🖱 操作 5:既定(良品120・欠陥100枚)で引き直す

Part 4. サンプルのくじ運 — なぜ「サンプル数」が効くのか

最後に、評価の落とし穴を体感します。左サイドバーの 「乱数」 を開いてください。

「シード」は乱数の“くじの番号”です。固定してあるので、閾値を動かしても点は動きません。
「サンプルを引き直す」 ボタンは、分布の設定はそのままに、別のサンプルを引き直す
=「別の日に、同じラインからもう一度抜き取り検査した」イメージです。

🖱 操作 5:既定(良品120・欠陥100枚)で引き直す

t16_reseed_a.png

1 回目:過検知 11 / 見逃し 12。「サンプルを引き直す」を 1 回押す と…

t17_reseed_b.png

2 回目:過検知 3 / 見逃し 7。ライン(AI)の実力は同じなのに、数字が変わりました。
これが評価に必ず含まれる サンプルのくじ運 です。

🖱 操作 6:サンプルを減らして引き直す

サイドバーで良品を 15 枚、欠陥を 8 枚まで減らして、また引き直してみます。

t18_small_a.png

👀 観察:ヒストグラムがスカスカになりました。過検知 1 / 15、見逃し 0 / 8 で Recall 100%
一見「完璧」ですが、たった 8 枚の欠陥での 100% です。
もう一度引き直すと過検知は 2/15 に変わり、1 枚の判定で指標が数 % 〜十数 % も動きます

同じ Recall 100% でも、欠陥 8 枚と 300 枚では信頼性がまるで違います。
少数サンプルで得た「100%」は、量産の保証にはなりません。
サンプルを増やす目的は成績を良く見せるためではなく、
選んだ閾値と評価が“偶然”でないことを確かめるため なのです。


まとめ:異常検知の評価プロセス、全体像

手を動かしてきた流れを 1 枚にまとめると、評価とはこういうものでした。

良品らしさを学ぶ(良品学習)
        ↓
各サンプルに 異常スコア を付ける
        ↓
閾値 で OK / NG に線引き   ← 過検知 ⇄ 見逃し のトレードオフ
        ↓
混同行列(TP/TN/FP/FN) → Recall / Precision / F1 …   ← 全部が連動
        ↓
ROC / PR / F1 で全体像を見て、品質方針 で閾値を決める
        ↓
(サンプルのくじ運を踏まえ、十分な数で独立評価する)

覚えておきたい 5 つのこと:

  1. AI は「良品からの隔たり(異常スコア)」を測り、閾値 で OK/NG を分けている。
  2. 過検知と見逃しはトレードオフ。両方ゼロは(分布が重なる限り)不可能。
  3. 混同行列も評価指標も 同じ 4 つの数字から計算 され、閾値で一斉に動く。
  4. AUC はAIの実力、閾値は運用選択。「最適な閾値」は品質方針が決める。
  5. 少数サンプルの 100% は保証ではない。評価にはサンプルのくじ運が含まれる。

ぜひ、アプリを自分で触ってみてください。スライダーひとつで、
上の全部が一斉に動くのを見れば、評価の“地図”が頭に入ります。

アプリhttps://anomalydetectiondemo.streamlit.app/


付録:用語早見表

用語 意味
異常スコア 良品からの隔たりの点数(0〜1)。大きいほど欠陥らしい
閾値 「ここを超えたら NG」の境目
過検知 (FP) 良品を NG にした誤り
見逃し (FN) 欠陥を OK にした誤り
Recall(検出率) 欠陥のうち検出できた割合 = TP/(TP+FN)
Precision(適合率) NG 判定のうち本当に欠陥だった割合 = TP/(TP+FP)
F1 Score Recall と Precision の調和平均
ROC / AUC 全閾値での性能曲線と、その下の面積(検出器の実力)
PR 曲線 Recall と Precision の関係曲線