100個の商品のうち、不良品は1個。検査AIが全部を「良品」と答えたら、99個は正解です。正解率は99%。けれど、見つけてほしかった不良品は、そのまま通り抜けます。
これは説明のために作った例です。AIの性能を聞くとき、点数だけでなく「何を正解と数えたか」を知りたくなる理由が、この小さな箱の中にあります。
右下の不良品1個に注目すると、全体の正解率と、見つけたいものを拾う力の違いが分かります。シオラボ作成の架空例で、実測値ではありません。
「当たった割合」の分母を見る
正解率は、すべての判定のうち、正しかったものの割合です。良品を良品と答えた場合も、不良品を不良品と答えた場合も、同じ一つの正解として数えます。
そのため、もともと良品が圧倒的に多いと、良品ばかりを当てるだけでも高得点になります。Googleの機械学習教材も、片方が1%しかないデータでは、常に多数派を答えるモデルが正解率99%を取れてしまう例を示しています。
そこで、不良品に注目して数え直します。本当にあった不良品のうち、何個を見つけたか。この割合が「再現率」です。冒頭の例では、1個中0個なので0%。99%と0%は矛盾しているのではなく、違うものを数えています。
見逃しを減らすと、別の手間も見える
では、全部を「不良品」と答えたらどうでしょう。不良品1個は拾えるので、再現率は100%になります。ただし、良品99個まで止めてしまいます。
ここで役立つのが「適合率」です。不良品だと判定したもののうち、本当に不良品だった割合を指します。この例では100個中1個で、1%。見逃しはなくても、止めた商品の大半を人が確認し直すことになります。
正解率、再現率、適合率は、同じ検査結果を見る三つの窓です。scikit-learnの公式文書も、評価方法を選ぶ際には、予測を使って何をしたいかから考えるよう説明しています。
検査AIの「精度が高い」という話を聞いたら、不良品の割合、見逃した数、良品を止めた数も合わせて見たい。流出を防ぎたいのか、確認作業を減らしたいのかで、気になる間違いは変わるからです。
実際には、不良の種類や商品の入れ替わりでも結果が変わります。不良品が少なすぎる試験では、一つ見逃しただけで割合が大きく動くこともあります。一つの数字を万能の成績表にせず、用途に合う窓を選んで眺めるのがよさそうです。
読んだ資料
資料確認:2026年10月27日。RSS配信版をもとに、公開向けに編集しました。