0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

0
Posted at

〜 閾値・混同行列・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 の関係曲線
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?