AI時代の性能評価指標(メモ)

Y. Matsuda

2026-03-09

予測の正しさ(prediction accuracy)だけでなく知識判断(Knowledge Judgement)および情報粒度(Resolution)の3軸で評価し、これに対し confidenceおよびcalibration という不確定性(Uncertainty)を横断的に導入する。

                    Uncertainty
            (confidence / calibration)
                        ^
                        |
AI Output ---------------------------------------------
   |                 |                      |
   |                 |                      |
Prediction        Knowledge             Resolution
accuracy          hallucination         granularity
precision         answerability         semantic detail

予備知識の確認

Precision 適合率

AIが病気と判定した数は、本当に病気だった数 TP(仮に80人とする)と健康なのに誤って病気と判定された数 FP(仮に20人とする)の和で表す。ここで Precision(=80/(80+20)=0.8)は病気と判定した人のうち、本当に病気だった割合。 \[\text{Precisiion} = \frac{TP}{TP+FP}\]

Recall 再現率

実際に病気の人が100人いたとしてAIが正しく病気と判定した人がTP(仮に80人とする)、誤って健康と判断した人がFN(仮に20人とする)とした場合の Recall は0.8(=80/(80+20))となる。 \[\text{Recall} = \frac{TP}{TP+FN}\]

Accuracy 正解率

100人を検査し、病気(うち TP(=40) が本当に病気、FP(=10)が誤って病気)と判定され人が50人、健康(うちTN(=40) が本当に健康、FN(=10) が誤って健康)と判定された人が50人としたとき、AIの正解率は0.8 (=(40+40)/(40+10+40+10))となる。 \[\text{Accuracy} = \frac{TP+TN}{TP+FP+FN+TN}\]

F1 Score

なぜ F1 ? Precision は誤診の少なさを表し、Recall は見逃しの少なさを表す。F1は両者のバランスをとる。 \[F1 = 2\cdot\frac{Precision \cdot Recall}{Precision+Recall}\] または \[F1 = \frac{2TP}{2TP+FP+FN}\]

知識範囲の判断尺度 knowledge (validity) judgement

幻覚率

例。質問「日本の首都は?」に対し、回答「大阪」。 \[\text{Hallucination Rate} = \frac{\text{incorrect factual statements}} {\text{total statements}}\]

Resolution: Information granularity 情報の粒度

例。質問「雨とは?」

回答 水滴が落ちる現象[resolution 低]

回答 凝結と降水[resolution 中]

回答 対流性降雨・地形性降雨[resolution 高]

Uncertainty 不確実性

信頼度の妥当性 Calibiration

モデルの自信と実際の正しさが一致しているか。 いまconfidence = 0.8 としたとき、実際の正解率が0.9だと、自己評価の妥当性は高い。逆に正解率が0. だと過信といえる。 \[P(correct \mid confidence = p)\approx p\]

Answerability 回答可能性

その質問に答えるべきかどうか、あるいは「知識範囲の判断」。

例。質問「2030年のノーベル受賞者は?」正しい行動 回答しない

Unknown 知らないを知る

AIは意図推定を行い、意図にしたがい検索し、回答が意図をカバーしているか判定し、あるいは未知判定を行う。 \[\text{Answer} = \begin{cases} \textit{Fact} & \text{if found} \\ \textit{Unknown} & \text{if not found} \\ \textit{Need clarification} & \text{if intent unclear} \end{cases}\]

AIの知識は本来 \[Facts = Knowledge + Boundaries\] であるべき。あくまで特定の境界内 boundaries での知識にすぎない。

分からない、を扱う

\[Knowledge = Facts + Unknown Structures\]

Unknownを知る

retrieval confidence
        +
evidence requirement
        +
unknown statement

つまり証拠が無い、ことが unknown の証拠と考える。ここで再度、「制約」で知識を再定義する。 「制約」は次を制約する:回答には根拠が必要。 \[Knowledge = Facts + Constraints\]

Unknown 知らないを知る

\[\text{No evidence} \Rightarrow \text{No answer} \text{Weak evidence} \Rightarrow \text{Partial answer} \text{Ambiguous scope} \Rightarrow \text{Need narrowing}\]

知らないで終わらず、関連知識を提案