予測精度を測る指標たち

AIの初心者
先生、正解率・適合率・再現率・F値って、どれも似た用語で混乱してしまうのですが、違いを分かりやすく教えてもらえますか?

AI専門家
そうだね、似ているから混乱するのも無理はないよ。たとえば、宝探しゲームで考えてみよう。隠された宝物の数を全部で10個として、君が5個の宝物を探し出したとしよう。そのうち3個は本物の宝物で、2個はただの石だった。

AIの初心者
はい、5個見つけて、そのうち3個が当たりだったんですね。

AI専門家
そう。この場合、正解率は君が見つけた宝物のうち本物だった割合(3/5)、適合率は君が宝物だと宣言したものの中で実際に宝物だった割合(3/5)、再現率は実際に隠されていた宝物10個のうち君が見つけた宝物の割合(3/10)だよ。F値は適合率と再現率を組み合わせた指標だね。それぞれの値を計算してみれば、違いがもっとはっきりすると思うよ。
正解率・適合率・再現率・F 値とは。
二つの種類に分類する予測について、人工知能の性能を測る言葉の説明です。”正解率”は、人工知能が出したすべての答えのうち、どれだけが合っていたかの割合です。”適合率”は、人工知能が「これだ!」と選んだ答えのうち、本当に合っていた答えの割合です。”再現率”は、実際に合っている答え全体の中で、人工知能が正しく「これだ!」と選べた答えの割合です。”F値”は、”適合率”と”再現率”のバランスをとった値です。
指標たちの紹介

機械学習の良し悪しを測るには、目的に合った方法を選ぶことが大切です。様々な測り方がありますが、二つの選択肢から一つを選ぶ問題では、正しさの割合、的中率、網羅率、そしてこれらのバランスを示すF値がよく使われます。これらの測り方は、それぞれ違う角度から良し悪しを見て、全体像をつかむのに役立ちます。
例えば、病気かどうかを見分ける仕組みを評価する場合を考えてみましょう。全体の予測がどれだけ合っているかだけでなく、実際に病気の人を正しく病気と判断できているか、健康な人を誤って病気と判断していないかなど、色々な視点からの評価が必要です。こうした場合、これらの測り方を組み合わせて使うことで、多角的な評価ができます。
正しさの割合は、全体の予測のうち、どれだけ正解していたかを示す単純な指標です。しかし、データの偏りがある場合、この指標だけでは不十分なことがあります。例えば、ある病気の患者が非常に少ない場合、全て健康と予測しても高い正答率が出てしまう可能性があります。
的中率は、病気と予測した人の中で、実際に病気だった人の割合を示します。これは、病気と予測した結果の信頼性を評価する際に役立ちます。一方、網羅率は、実際に病気の人の中で、どれだけ正しく病気と予測できたかの割合です。これは、見落としを少なくしたい場合に重要な指標となります。
F値は、的中率と網羅率の調和平均で、両者のバランスを重視する場合に用いられます。病気の診断のように、見落としも誤診も避けたい場合には、F値が有用な指標となります。このように、それぞれの測り方が何を示し、どのように使い分けるべきかを理解することで、機械学習の仕組みをより適切に評価し、改善につなげることができます。
| 指標 | 説明 | 用途 |
|---|---|---|
| 正しさの割合(正答率) | 全体の予測のうち、正解の割合 | 単純な正しさの評価。データの偏りに注意 |
| 的中率 | 病気と予測した人の中で、実際に病気だった人の割合 | 予測の信頼性評価 |
| 網羅率 | 実際に病気の人の中で、正しく病気と予測できた割合 | 見落としを減らしたい場合の評価 |
| F値 | 的中率と網羅率の調和平均 | 的中率と網羅率のバランスを重視する場合の評価 |
正解率とは

正解率とは、機械学習モデルの性能を測る指標の一つで、モデルがどれくらい正確に予測できているかを示す割合です。具体的には、たくさんの予測の中から、どれだけの予測が実際に正しかったのかを計算します。全体の予測数を分母に、当たっていた予測数を分子にして割り算することで求められます。例えば、全部で100回予測を行い、そのうち80回当たっていた場合、正解率は80%となります。この計算方法はとても分かりやすく、直感的に理解しやすいという利点があります。
しかし、正解率だけでモデルの良し悪しを判断するのは危険な場合もあります。特に、予測対象のデータに偏りがある場合、正解率が高くても実用上役に立たないモデルになってしまうことがあります。例えば、ある珍しい病気の診断を想像してみてください。この病気にかかっている人は全体の1%しかいないとします。もし、常に「病気ではない」と予測するモデルを作ったとしたら、このモデルの正解率は99%になります。なぜなら、ほとんどの人は病気にかかっていないため、常に「病気ではない」と予測すれば多くの場合で正解となるからです。しかし、このモデルは病気の人を見つけるという本来の目的を果たせていません。このように、データに偏りがある場合は、正解率が高いモデルでも実際には役に立たない可能性があります。正解率は分かりやすい指標ですが、データの特性を理解し、他の指標も合わせて使うことで、より適切にモデルを評価することができます。
| 項目 | 内容 |
|---|---|
| 正解率の定義 | 機械学習モデルがどれくらい正確に予測できているかを示す割合 |
| 計算方法 | 全体の予測数を分母、当たっていた予測数を分子とした割合 |
| 例 | 100回予測中80回当たっていれば、正解率は80% |
| 長所 | 計算方法が分かりやすく、直感的に理解しやすい |
| 短所・注意点 | 予測対象のデータに偏りがある場合、正解率が高くても実用上役に立たないモデルになる可能性がある |
| 短所の具体例 | 全体の1%しかいない病気の診断で、「病気ではない」と予測するモデルは、正解率は99%になるが、病気の人を見つけるという本来の目的は果たせない |
| 結論 | 正解率は分かりやすい指標だが、データの特性を理解し他の指標も合わせて使うことで、より適切にモデルを評価できる |
適合率とは

「適合率」とは、機械学習モデルの性能を測る大切な尺度の一つです。簡単に言うと、ある事柄を「そうだ」と予測した中で、実際に「そうだ」であった割合を示します。例えば、ある模型が100個のリンゴの中から赤いリンゴを判別する作業をするとします。模型は全部で30個のリンゴを「赤い」と判断しました。しかし、実際に赤いリンゴは20個しかありませんでした。この場合、適合率は20/30でおよそ67%となります。
この適合率は、特に「間違ってそうだと言うこと」を避けたい時に重要になります。例えば、迷惑メールの判別を考えてみましょう。普通のメールを誤って迷惑メールだと判断してしまうと、大切な連絡を見逃してしまうかもしれません。これを防ぐには、「迷惑メールだ」と判断したものの中に、本当の迷惑メールがどれだけ含まれているか、つまり適合率を高く保つ必要があります。もし適合率が低いと、多くの普通のメールが迷惑メールフォルダに振り分けられてしまうでしょう。
適合率は、偽陽性(本当は違うのにそうだと言ってしまった数)に深く関係しています。偽陽性を少なくすることが、適合率を高めることに繋がります。適合率の計算は、実際に正しかったものの中で、正しく予測できた数を、全体で正と予測した数で割ることで行います。分子の「実際に正しかったものの中で、正しく予測できた数」は真陽性とも呼ばれます。つまり「真陽性」を「真陽性+偽陽性」で割った値が適合率です。 適合率が高いほど、その予測の信頼性が高いと言えるでしょう。ただし、適合率だけを見てモデルの性能を判断するのは危険です。他の指標も合わせて見て、総合的に判断することが大切です。
| 用語 | 説明 | 例 |
|---|---|---|
| 適合率 (Precision) | 「そうだ」と予測した中で、実際に「そうだ」であった割合。 偽陽性(本当は違うのにそうだと言ってしまった数)が少ないほど高くなる。 計算式:真陽性 / (真陽性 + 偽陽性) |
100個のリンゴから赤いリンゴを30個と予測し、実際に赤いリンゴは20個だった場合、適合率は20/30 = 約67% |
| 偽陽性 | 本当は違うのに「そうだ」と言ってしまった数 | 上記の例では、30 – 20 = 10個 |
| 真陽性 | 実際に正しかったものの中で、正しく予測できた数 | 上記の例では20個 |
再現率とは

ある事柄について、実際に正しいと分かっているもの全体の中で、機械学習モデルが正しく「正しい」と判断できた割合を示す指標、それが再現率です。言い換えると、本当に正しいものの中から、どれだけの割合を正しく見つけ出せたかを測る尺度です。
この再現率は、見落としが許されない状況で特に重要になります。例えば、病気の検査を考えてみましょう。実際に病気を患っている人を健康と判断してしまう、つまり「偽陰性」は深刻な事態を招きます。早期発見、早期治療の機会を逃し、病状が悪化してしまうかもしれません。このような場合、偽陰性を極力減らし、真に病気の人を見逃さないことが重要になります。そのため、高い再現率を持つモデルが求められます。
再現率は、具体的な数字で計算することができます。まず、実際に正しいと分かっているデータの数を用意します。これは「真陽性」と「偽陰性」の合計です。次に、その中でモデルが正しく「正しい」と判断できたデータの数、つまり「真陽性」の数を数えます。「真陽性」の数を「真陽性」と「偽陰性」の合計数で割ることで、再現率が算出されます。計算式は「真陽性 ÷ (真陽性 + 偽陰性)」です。この値は0から1までの範囲で表され、1に近いほど再現率が高いことを示します。つまり、実際に正しいものを見つける能力が高いということです。
再現率は、精度という指標と合わせて使われることがよくあります。精度は、モデルが「正しい」と判断したデータの中で、実際に正しかった割合を示します。これら2つの指標を組み合わせて使うことで、モデルの性能をより多角的に評価することができます。例えば、がん検診では、再現率の高さを重視しつつ、精度も確保することで、より効率的で信頼性の高い検査を実現できる可能性があります。
| 指標 | 意味 | 計算式 | 重要性 |
|---|---|---|---|
| 再現率 (Recall) | 実際に正しいもの全体の中で、モデルが正しく「正しい」と判断できた割合 | 真陽性 ÷ (真陽性 + 偽陰性) | 見落としが許されない状況 (例: 病気検査) で重要。偽陰性を最小限にする。 |
| 精度 (Precision) | モデルが「正しい」と判断したデータの中で、実際に正しかった割合 | – | 再現率と組み合わせてモデル性能を多角的に評価 |
F値とは

「F値」とは、機械学習モデルの性能を測るための重要な指標のひとつです。 この指標は、「適合率」と「再現率」という二つの要素を組み合わせ、モデルの精度を総合的に判断するために用いられます。 では、適合率と再現率とは一体どのようなものでしょうか。
まず、適合率とは、モデルが「正しい」と判断したものの中で、実際にどれだけ正解していたのかを表す割合です。 例えば、ある模型飛行機の中から赤い飛行機を選び出す作業を想像してみてください。模型飛行機100個の中から、モデルが赤い飛行機だと判断したものが20個あったとします。そして、その20個のうち、実際に赤い飛行機は15個だったとしましょう。この場合、適合率は15/20、つまり75%となります。
次に、再現率とは、実際に正解であるもの全体の中で、モデルがどれだけ正解を見つけられたのかを表す割合です。 先ほどの赤い模型飛行機の例で言えば、全部で30個の赤い飛行機があったとします。モデルは20個の赤い飛行機を選び出し、そのうち15個が実際に赤い飛行機でした。この場合、再現率は15/30、つまり50%となります。
適合率と再現率は、しばしば互いに相反する関係にあります。 つまり、適合率を高めようとすると再現率が低くなり、逆に再現率を高めようとすると適合率が低くなる傾向があります。赤い飛行機の例で言えば、赤い飛行機だと確信できるものだけを選び出すようにすれば適合率は上がりますが、見逃してしまう赤い飛行機も増えるため再現率は下がります。逆に、少しでも赤い飛行機の可能性があるものは全て選び出すようにすれば再現率は上がりますが、間違えて赤い飛行機ではないものも選んでしまうため適合率は下がります。
そこで、適合率と再現率の両方を考慮した指標であるF値が重要になります。F値は、適合率と再現率の調和平均をとることで計算されます。調和平均とは、逆数の平均の逆数で、F値が高いほど、適合率と再現率のバランスがよく、モデルの性能が高いと言えます。F値を用いることで、どちらか一方に偏ることなく、モデルの全体的な性能を評価することができるのです。

指標の使い分け

機械学習モデルの性能を正しく測るには、様々な指標を組み合わせて使うことが大切です。一つの指標だけで判断すると、モデルの本当の力を捉えきれないことがあります。色々な角度から評価することで、モデルの長所や短所がより明確に見えてきます。
例えば、「正解率」という指標は、全体の中でどれくらい正しく予測できたかを示すものです。しかし、正解率が高いモデルでも、本当に重要なデータを見落としている可能性があります。これを明らかにするのが「再現率」です。再現率は、実際に正であるデータのうち、どれくらい正しく予測できたかを表します。もし正解率が高くても再現率が低い場合、全体としては良く当たっているように見えても、重要なデータを見逃しているかもしれません。
このように、複数の指標を比べることで、モデルの弱点や改善すべき点が分かります。「適合率」という指標も重要です。これは、正と予測したデータのうち、実際に正であったものの割合を示します。つまり、間違って正と予測してしまうことをどれだけ抑えられているかを見る指標です。
では、どの指標を重視すれば良いのでしょうか?それは、解決したい問題によって異なります。例えば、病気の診断のように、見逃しを避けたい場合は、偽陰性を最小限にする「再現率」を重視します。一方、スパムメールの判定のように、誤って重要なメールをスパムと判断することを避けたい場合は、偽陽性を最小限にする「適合率」を重視します。
また、「F値」という指標は、適合率と再現率のバランスを測るものです。どちらの指標もバランス良く高めたい場合は、F値を重視すると良いでしょう。このように、状況に応じて適切な指標を選び、組み合わせて使うことで、モデルの性能をより深く理解し、改善につなげることができます。
| 指標 | 説明 | 重視する状況 |
|---|---|---|
| 正解率 | 全体の中でどれくらい正しく予測できたか | – |
| 再現率 | 実際に正であるデータのうち、どれくらい正しく予測できたか(偽陰性を最小限にしたい) | 病気の診断など、見逃しを避けたい場合 |
| 適合率 | 正と予測したデータのうち、実際に正であったものの割合(偽陽性を最小限にしたい) | スパムメール判定など、誤って重要なものを除外したくない場合 |
| F値 | 適合率と再現率のバランス | 適合率と再現率の両方をバランス良く高めたい場合 |
