AI異常検知の「評価」を、手を動かして理解する (3/4)
〜 閾値・混同行列・ROC/PR/F1 を、スライダーを動かしながら体感するチュートリアル 〜
AI外観検査を導入するとき、いちばん誤解されやすいのが 「評価(evaluation)」 の部分です。
「F1 が最大の閾値に設定します」と言われても、F1 とは何か、なぜ閾値で結果が変わるのか、
100% という数字をどこまで信じてよいのか — ここが腹落ちしないまま話が進みがちです。
この記事では、ブラウザで動く教材アプリを 実際に操作しながら、異常検知の評価プロセスを
一歩ずつ体で理解していきます。数式の暗記は不要です。スライダーを動かして、
数字とグラフが一斉に動くのを眺めるだけで、評価の全体像がつかめます。
アプリ(無料・インストール不要)
https://anomalydetectiondemo.streamlit.app/この記事を別ウィンドウで開き、アプリを操作しながら読むのがおすすめです。
表示されるデータはすべて説明用の疑似データで、実製品のデータではありません。
このチュートリアルで分かること
- 異常スコアと閾値の関係、そして「過検知 ⇄ 見逃し」のトレードオフ
- 混同行列と 5 つの評価指標(Recall / Precision / F1 など)が何を表すか
- ROC / PR / F1 曲線の読み方と、閾値の 5 つの決め方
- 「同じ AI でも、サンプル次第で成績がブレる」という評価の落とし穴
各パートには 🖱 操作 と 👀 観察 を用意しました。実際にやってみてください。
Part 3. 評価曲線と「閾値の決め方」(タブ③)
ここまでは閾値を手で動かしてきました。タブ③では、
閾値を「どう決めるか」の方針を選び、その結果をグラフで比べます。タブ③をクリック します。

まず ROC 曲線 — 検出器そのものの実力
- 横軸 FPR(過検知率)、縦軸 TPR(Recall)。左上に近いほど優秀。
- AUC(曲線の下の面積)が検出器の実力。1 に近いほど良く、この例は 0.970。
- 大事なのは、AUC は閾値に依存しない こと。AUC は「スコアの付け方(=AI の実力)」そのもので、
閾値は「その実力をどう使うか」の運用選択です。
赤い点が「いま採用中の閾値」の位置。決め方を変えると、この点が曲線上を動きます。
閾値の 5 つの決め方を試す
「閾値の決め方」のボタンを切り替えて、数字がどう変わるか見ていきましょう。

F1(Recall と Precision のバランス)が最も高くなる閾値を自動で選びます。
数学的にはバランスの良い点ですが、製造現場での最適とは限りません。
② 見逃しゼロ優先

👀 観察:閾値 0.330、見逃し 0 件・Recall 100%。
ただし代償として 過検知が 53 件 に跳ね上がり、Precision は 65.4% に低下。
→「見逃しゼロ」は聞こえは良いですが、良品を止めすぎるコストがセット でついてきます。
③ 過検知率の上限

👀 観察:「良品を止めるのは 5% まで」と上限を決めると、閾値 0.455、
過検知 6 件・Precision 93.4% と過検知に厳しくなる一方、見逃しは 15 件(Recall 85.0%)に増えます。
④ 現場コスト最小化

👀 観察:見逃し 1 件のコスト = 10、過検知 1 件 = 1(見逃しが 10 倍痛い)と設定すると、
閾値 0.375、見逃しをほぼ潰し(Recall 98.0%)、そのぶん 過検知は 31 件(Precision 76.0%)を許容します。
損失の重みづけが、そのまま閾値に反映されます。
4 つのモードの比較(同じ AI・同じデータ)
| 決め方 | 閾値 | 過検知(FP) | 見逃し(FN) | Recall | Precision |
|---|---|---|---|---|---|
| 見逃しゼロ優先 | 0.330 | 53 | 0 | 100% | 65.4% |
| コスト最小化(10:1) | 0.375 | 31 | 2 | 98.0% | 76.0% |
| 過検知率 5% 上限 | 0.455 | 6 | 15 | 85.0% | 93.4% |
同じ AI、同じデータでも、方針次第で結果はこれだけ変わります。
「唯一の正解の閾値」は存在せず、品質方針が閾値を決めるのです。
F1 曲線 — Recall と Precision の綱引き
「手動設定」に戻し、下へスクロールすると F1 曲線が見えます。

- 青 = Recall(閾値を下げると上がる)/ オレンジ = Precision(閾値を上げると上がる)
- 緑 = F1。青とオレンジが交差するあたりで緑が最大になります(=バランス点、◆印)。
F1 Score とは何か(数式)

F1 は Recall と Precision の 調和平均 で、両方が高いときだけ高くなります。
片方が低いと、平均ではなく低い方に強く引っ張られます
(例:Precision 1.0・Recall 0.1 → 算術平均 0.55 でも F1 は約 0.18)。
だから「見逃しゼロだが過検知だらけ」も「過検知ゼロだが見逃しだらけ」も、F1 は伸びません。


