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

つまり AI は最初から「OK / NG」と言っているのではなく、
スコアを付け → 閾値で線引きする、という 2 段構えなのです。
この記事は、その「線引き(=評価)」を掘り下げていきます。
画面の構成:左が操作パネル(閾値スライダーと分布設定)、右が 4 つのタブです。
Part 1. 異常スコアと閾値 — トレードオフを体感する(タブ①)
タブ①には 2 つのグラフがあります。同じデータの別の見方 です。
- 左:分布で見る — 青が良品(OK)、オレンジが欠陥(NG) のスコアの山。縦の点線が閾値。線より右が NG 判定。
- 右:1 サンプルずつ見る — 点ひとつが製品ひとつ。横の点線が閾値。線より上が NG 判定。
グラフの下に、いちばん大事な 2 つの数字があります。
- 過検知(かけんち):良品なのに NG と判定した数(=止めなくていい物を止めた)
- 見逃し(みのがし):欠陥なのに OK と判定した数(=流出した)
🖱 操作 1:閾値を左(低く)へ動かす
左サイドバーの 閾値スライダー を 0.30 くらいまで下げてみましょう。

👀 観察:過検知が 67 件 に跳ね上がり、見逃しは 0 件 になりました。
線を左に寄せると欠陥は全部つかまえますが、良品まで大量に巻き込みます。
🖱 操作 2:閾値を右(高く)へ動かす
今度は 0.60 くらいまで上げてみます。

👀 観察:過検知は 0 件、しかし 見逃しが 62 件。
線を右に寄せると良品は素通しできますが、欠陥をごっそり見逃します。
🖱 操作 3:バランス点(0.44)に戻す

👀 観察:過検知 11 件・見逃し 12 件。両方が少ないバランス点です。
このパートの核心
| 閾値 | 過検知 | 見逃し |
|---|---|---|
| 低い (0.30) | 67 | 0 |
| 中間 (0.44) | 11 | 12 |
| 高い (0.60) | 0 | 62 |
過検知と見逃しを同時にゼロにする閾値は存在しません(分布が重なっているため)。
片方を減らせば、必ずもう片方が増える。だから閾値は「数学的な正解」ではなく、
見逃しと過検知のどちらをより避けたいか、という品質方針で決める運用条件 なのです。
これが異常検知の評価で最初に押さえるべき、いちばん大切な感覚です。


