ECE(校正誤差)を手計算する:ビンの切り方で数値が変わる8件の演習

ECEは、予測の自信と実際の正解割合のずれを、確率の区間ごとに集計する指標です。値が小さいほど、その集計方法ではずれが小さいと読めます。ただし、区間の分け方が違うECE同士をそのまま比較することはできません。ここでは架空の文書分類8件で、同じ予測でも計算結果が変わる理由を確認します。

「正解クラスの確率」と「予測したクラスへの自信」を分ける

この演習では、モデルが選んだクラスの確率を自信度とし、そのクラスが正解なら1、間違いなら0を記録します。二値分類で「陽性の確率と陽性の実測割合」を比べる定義とは集計対象が異なります。どちらも校正の確認に使えますが、レポートには対象を明記してください。以下は予測したクラスに対する自信度のECEです。[出典1]

文書自信度予測クラスが正解なら1
10.551
20.650
30.701
40.800
50.851
60.901
70.951
81.001

2区間に分けて、件数で重みを付ける

教材では、(0.50, 0.75]と(0.75, 1.00]に分けます。0.75をどちらに入れるかも規則の一部です。各区間について、正解割合と平均自信度の差の絶対値を計算し、全体に占める件数割合を掛けて足します。

ECE = Σ区間 (区間の件数 / 全件数) × |区間の正解割合 − 区間の平均自信度|

区間件数平均自信度正解割合全体への寄与
(0.50, 0.75]31.90/32/3(3/8)×(0.10/3)=0.0125
(0.75, 1.00]54.50/5=0.904/5=0.80(5/8)×0.10=0.0625

合計は0.075です。全体の8件を1区間にまとめると、平均自信度は6.40/8=0.80、正解割合は6/8=0.75なので、ECEは0.05になります。モデルを変更していなくても数値が小さくなりました。低い数値だけを見て「改善した」と言えない理由がここにあります。

空の区間や少数の区間をどう扱うか

空の区間は重みが0なので合計への寄与はありません。正解割合は計算できないため、0%と表示するより空欄や対象なしとします。1件しかない区間では正解割合が0か1になり、集計結果が大きく動きます。表には必ず件数を添えてください。

等幅の区間と、件数が近くなるように切る区間では見える偏りが変わります。比較の途中で都合のよい切り方に変更せず、採用する規則を先に固定します。ECEの推定には区間化や有限標本の影響があることも研究対象です。[出典2]

報告に必要な6項目

個別適用や説明の拡張時に確認する事項:ECEは誤分類の数だけを採点する指標ではありません。正解割合が上がっても、自信度がそれ以上に上がればずれが大きくなる場合があります。分類の正確さと校正を別の観点として記録すると、どちらが変化したかを説明できます。

出典

  1. Guo et al., On Calibration of Modern Neural Networks(ECEの定義と自信度の校正)。
  2. Information-theoretic Generalization Analysis for Expected Calibration Error(区間化と推定の課題)。