二値分類の評価指標:正解率、適合率、再現率、F値

AIの初心者
先生、正解率・適合率・再現率・F値って、どれも似たようなものじゃないですか?違いがよくわからないです。

AI専門家
そうだね、似ているからこそ混乱しやすいよね。例えば、病気かどうかを診断するAIを考えてみよう。正解率は、全体の中でどれだけ正しく診断できたかの割合だよ。適合率は、AIが病気と診断した人の中で、実際に病気だった人の割合。再現率は、実際に病気の人の中で、AIが正しく病気と診断できた人の割合だよ。

AIの初心者
なるほど。じゃあ、F値はどういう時に使うんですか?

AI専門家
適合率と再現率はトレードオフの関係にあることが多いんだ。例えば、なるべく病気の人を見逃したくない場合は再現率を重視する。でも、そうすると健康な人を病気と診断してしまう可能性が高くなる。F値は、適合率と再現率のバランスをみて、全体的な性能を評価するのに役立つ指標なんだよ。
正解率・適合率・再現率・F 値とは。
二つの選択肢から答えを選ぶ問題で、人工知能の性能を測る言葉について説明します。まず「正解率」とは、人工知能が出した全ての答えの中で、実際に正解だった答えの割合です。次に「適合率」とは、人工知能が「正」と答えたものの中で、実際に正解だった割合です。そして「再現率」とは、実際に正解であるものの中で、人工知能が「正」と答えられた割合です。最後に「F値」とは、「適合率」と「再現率」のバランスを取った値のことです。
はじめに

{機械学習の世界では、物事を二つに分ける方法は、様々な場面で使われています。例えば、迷惑メールかどうかを判断したり、病気かどうかを診断したりする際に、この二つのグループに分ける方法が役立っています。この方法を二値分類と言います。そして、この二値分類の良し悪しを測るためには、いくつかの指標が必要です。この指標を使うことで、どのくらい正確に二つのグループに分けられているかを調べることができます。本稿では、二値分類の指標の中でも特に重要な四つの指標について説明します。
まず、全体の中でどのくらい正しく分類できたかを表す指標が正解率です。これは、全体のデータの中で正しく分類できたデータの割合を示しています。しかし、正解率だけでは、分類の正確さを完全には把握できません。例えば、珍しい病気の診断の場合、ほとんどの人が病気ではないため、単純に全員を「病気ではない」と診断しても高い正解率が出てしまいます。しかし、これは実際には正しい診断とは言えません。
そこで、「病気である」と診断した人の中で、実際に病気だった人の割合を表す指標が適合率です。これは、診断の確実性を示す指標と言えます。一方で、実際に病気の人の中で、どのくらいの人を「病気である」と正しく診断できたかを表す指標が再現率です。これは、見落としがないかをチェックするための指標です。
適合率と再現率は、どちらか一方を高くしようとすると、もう一方が低くなる傾向があります。例えば、なるべく見落としを減らそうとして、多くの人を「病気である」と診断すると、再現率は上がりますが、誤診も増えるため適合率は下がります。逆に、確実な診断だけをしようとすると、適合率は上がりますが、診断数が少なくなり再現率は下がります。そこで、適合率と再現率のバランスを考えた指標がF値です。F値は、適合率と再現率の調和平均で計算され、両方の指標をバランス良く評価することができます。
これらの四つの指標、正解率、適合率、再現率、F値を理解することで、二値分類モデルの性能をより深く理解し、適切なモデルを選ぶことができます。それぞれの指標の特徴を踏まえ、状況に応じて適切な指標を用いることが重要です。
| 指標名 | 説明 |
|---|---|
| 正解率 | 全体の中でどのくらい正しく分類できたかを表す指標。全体のデータの中で正しく分類できたデータの割合。 |
| 適合率 | 「病気である」と診断した人の中で、実際に病気だった人の割合。診断の確実性を示す指標。 |
| 再現率 | 実際に病気の人の中で、どのくらいの人を「病気である」と正しく診断できたかを表す指標。見落としがないかをチェックするための指標。 |
| F値 | 適合率と再現率のバランスを考えた指標。適合率と再現率の調和平均で計算され、両方の指標をバランス良く評価する。 |
正解率とは

正解率とは、機械学習モデルの性能を測るための基本的な指標のひとつです。簡単に言うと、たくさんの予測の中でどれくらい当たっていたかを示す割合のことです。
計算方法はとても単純で、「正解した数 ÷ 予測した総数」で求めます。例えば、100回予測を行い、そのうち80回正解したとします。この場合、正解率は 80 ÷ 100 = 0.8、つまり80%となります。
一見すると、正解率が高ければ高いほど良いモデルのように思えますが、必ずしもそうとは限りません。というのも、正解率はデータの偏りの影響を受けやすいという弱点があるからです。
例えば、迷惑メールの判別を考えてみましょう。迷惑メールは全体の1%しかなく、残りの99%は普通のメールだとします。もし、このデータを使って学習させたモデルが、すべてのメールを「迷惑メールではない」と予測したとしましょう。この場合、正解率は99%と非常に高い値になりますが、肝心の迷惑メールは全く検出できていません。つまり、一見素晴らしい性能に見えても、実際には役に立たないモデルになってしまうのです。
このように、データに偏りがある場合は、正解率だけでモデルの良し悪しを判断するのは危険です。特に、珍しい事象を検出したい場合や、誤りを避けたい場合は、正解率以外の指標も合わせて検討することが重要になります。他の指標としては、適合率、再現率、F値などがあり、目的に合わせて適切な指標を選ぶ必要があります。
| 項目 | 説明 |
|---|---|
| 正解率 | 機械学習モデルの性能指標。予測の的中率。 |
| 計算方法 | 正解数 ÷ 予測総数 |
| 例 | 100回予測中80回正解の場合、正解率は80% |
| 注意点 | データの偏りの影響を受けやすい。例:迷惑メール判別 |
| 代替指標 | 適合率、再現率、F値など |
適合率とは

「適合率」とは、機械学習モデルの性能を測る大切な指標の一つです。簡単に言うと、ある事柄を「そうだ」と予測した中で、実際に「そうだ」であった割合を示します。たとえば、ある模型が猫の画像を判別する際に、10枚の画像を「猫」と判断したとします。この10枚のうち、本当に猫の画像が8枚だった場合、この模型の猫判別に関する適合率は80%となります。
もう少し詳しく見ていきましょう。適合率を計算するには、「真陽性」と「偽陽性」という二つの考え方を使う必要があります。「真陽性」とは、実際に「そうだ」であるものを正しく「そうだ」と予測できたことを指します。先ほどの猫の例で言えば、実際に猫である画像を「猫」と正しく判断できた枚数、つまり8枚が真陽性に当たります。一方、「偽陽性」とは、実際には「そうでない」ものを誤って「そうだ」と予測したことを指します。猫の例では、猫ではない画像を「猫」だと誤って判断した枚数が偽陽性に当たります。10枚中8枚が真陽性なので、残りの2枚は偽陽性ということになります。
適合率は、「真陽性」を「真陽性」と「偽陽性」の合計で割ることで計算できます。猫の例では、真陽性が8枚、偽陽性が2枚なので、適合率は 8 ÷ (8 + 2) = 0.8、つまり80%となります。適合率が高いほど、その模型が「そうだ」と判断したものの信頼性が高いと言えるでしょう。適合率は、特に「間違った判断をなるべく減らしたい」場合に重要な指標となります。例えば、病気の診断で考えてみましょう。健康な人を病気と誤診してしまうと、不要な検査や治療につながる可能性があります。このような事態を避けるためには、適合率の高い診断方法が求められます。つまり、陽性と診断された人が、本当に病気である可能性を高く保つ必要があるのです。このように、適合率は様々な場面で活用され、より正確な判断を助ける重要な役割を担っています。
| 指標 | 説明 | 猫判別の例 |
|---|---|---|
| 真陽性 | 実際に「そうだ」であるものを正しく「そうだ」と予測できたもの | 実際に猫である画像を「猫」と正しく判断できた枚数(8枚) |
| 偽陽性 | 実際には「そうでない」ものを誤って「そうだ」と予測したもの | 猫ではない画像を「猫」だと誤って判断した枚数(2枚) |
| 適合率 | 真陽性 / (真陽性 + 偽陽性) | 8 / (8 + 2) = 0.8 (80%) |
再現率とは

再現率とは、本来あるべきものを見つける能力を測る指標です。具体的には、実際に正しいとされているデータ全体の中で、機械学習モデルが正しく「正しい」と判断できたデータの割合を示します。
この割合を計算するには、「真陽性」と「偽陰性」という二つの値が必要です。真陽性は、実際に正しいデータを、モデルも正しく正しいと判断できた数を指します。一方、偽陰性は、実際には正しいデータなのに、モデルが誤って「正しくない」と判断してしまった数を指します。再現率は、「真陽性」を「真陽性」と「偽陰性」の合計で割ることで求められます。
再現率が高いほど、本当に正しいデータを漏れなく見つける能力が高いことを意味します。例えば、病気の診断で考えてみましょう。この場合、再現率が高いということは、実際に病気の人を、ほぼ漏れなく病気であると診断できることを示します。つまり、病気の人を見逃す可能性が低いということです。これは、命に関わるような病気の診断においては非常に重要なことです。
しかし、再現率だけを高くしようとすると、別の問題が生じることがあります。それは、「偽陽性」、つまり実際には正しくないデータを誤って「正しい」と判断してしまう数が増える可能性があるということです。病気の診断の例で言えば、健康な人を誤って病気と診断してしまう可能性が高まるということです。
そのため、再現率だけを重視するのではなく、適合率という別の指標とのバランスを考えることが重要です。適合率は、モデルが「正しい」と判断したデータの中で、実際に正しいデータの割合を示します。再現率と適合率はトレードオフの関係にあることが多く、どちらか一方だけを高くしようとすると、もう一方が低くなる傾向があります。目的に合わせて、再現率と適合率のどちらをより重視するか、あるいはバランスをとる必要があるかを判断することが大切です。
| 指標 | 説明 | 計算式 | 例(病気診断) |
|---|---|---|---|
| 再現率(Recall) |
|
真陽性 / (真陽性 + 偽陰性) |
|
| 適合率(Precision) | モデルが「正しい」と判断したデータの中で、実際に正しいデータの割合 | 真陽性 / (真陽性 + 偽陽性) | 健康な人を誤って病気と診断してしまう可能性 |
F値とは

「適合率」と「再現率」は、機械学習モデルの性能を測る大切な指標です。しかし、この二つは、しばしば綱引きのような関係にあります。つまり、一方を高くしようとすると、もう一方が低くなってしまうことが多いのです。そこで、両方のバランスをうまくとらえた指標が必要になります。その指標となるのが「F値」です。F値は、適合率と再現率の調和平均をとることで計算されます。普通の平均ではなく、調和平均を使うのは、極端に低い値の影響を大きく反映させるためです。たとえば、適合率が非常に高くても、再現率が極端に低い場合、単純な平均では高い値が出てしまいますが、調和平均では低い値となり、バランスの悪さを示すことができます。
具体的な計算方法は、「2かける適合率かける再現率、割ること、適合率と再現率の和」です。式で表すと、F値 = 2 * 適合率 * 再現率 / (適合率 + 再現率) となります。この計算式からわかるように、F値は0から1の間の値を取ります。F値が1に近いほど、適合率と再現率のバランスが良いことを示し、より優れたモデルであると言えます。逆に、F値が0に近いほど、バランスが悪く、どちらかの値が極端に低いことを意味します。
場合によっては、適合率と再現率に重み付けをしたF値を使うこともあります。これは、状況に応じて、適合率と再現率のどちらかをより重視したい場合に用いられます。例えば、病気の診断のように、見逃しを極力減らしたい場合は、再現率を重視したF値を使います。一方、スパムメールの検出のように、誤って重要なメールをスパムと判断することを避けたい場合は、適合率を重視したF値を用います。このように、F値は、目的に合わせて柔軟に使い分けることができる、大変便利な指標です。
| 指標 | 説明 | 計算方法 | 値の範囲 | 解釈 |
|---|---|---|---|---|
| F値 | 適合率と再現率の調和平均 極端に低い値の影響を大きく反映 |
F値 = 2 * 適合率 * 再現率 / (適合率 + 再現率) | 0 ~ 1 | 1に近いほど、適合率と再現率のバランスが良い |
| 重み付けF値 | 適合率と再現率に重み付けをしたF値 状況に応じて使い分け |
– | – | 適合率重視、再現率重視など |
指標の使い分け

機械学習モデルの性能を測るには、様々な指標があります。どの指標を使うかは、目的によって適切に選ぶ必要があります。ただ闇雲に一つの指標だけを見て判断するのではなく、状況に応じて使い分けることが大切です。
例えば、健康診断のように病気の兆候を見つける検査を考えてみましょう。この検査で重要なのは、本当に病気の人を見逃さないことです。もし病気の人を健康と判断してしまったら、治療開始が遅れ、深刻な事態になるかもしれません。このような場合、見逃しを少なくするために「再現率」という指標を重視します。再現率は、実際に病気の人の中で、検査で正しく病気と診断できた人の割合を示します。つまり、再現率が高いほど、病気の人を見逃す可能性が低くなります。
一方で、迷惑メールの判別を考えてみましょう。迷惑メールを正しく迷惑メールと判断することはもちろん重要ですが、普通のメールを誤って迷惑メールとしてしまうと、大切な連絡を見逃してしまうかもしれません。この場合、普通のメールを誤って迷惑メールと判断することをなるべく避けたいので、「適合率」という指標を重視します。適合率は、迷惑メールと判断されたメールの中で、実際に迷惑メールだった割合を示します。適合率が高いほど、普通のメールを誤って迷惑メールと判断する可能性が低くなります。
また、「正解率」という指標もあります。これは、全体の中で正しく判断できた割合です。一見すると万能な指標のように思えますが、データの偏りに影響されやすいという欠点があります。例えば、ある病気の患者が人口の0.1%しかいないとします。この場合、全員を健康と判断しても正解率は99.9%になりますが、これは現実的ではありません。このように、データに偏りがある場合は、正解率だけで判断するのではなく、再現率や適合率も合わせて確認する必要があります。状況に応じて適切な指標を選び、モデルの性能を正しく評価することが重要です。
| 指標 | 説明 | 重視する場面 | 例 |
|---|---|---|---|
| 再現率 | 実際に病気の人の中で、検査で正しく病気と診断できた人の割合 | 見逃しを少なくしたい場合 | 健康診断 (病気の兆候を見つける) |
| 適合率 | 迷惑メールと判断されたメールの中で、実際に迷惑メールだった割合 | 誤判定を少なくしたい場合 | 迷惑メール判別 |
| 正解率 | 全体の中で正しく判断できた割合 | データの偏りが少ない場合 | – |
