Expected Calibration Error
Expected Calibration Error (ECE) er en metrik, der måler afvigelsen mellem en models forudsagte sandsynligheder og de faktiske observerede frekvenser, typisk opdelt i intervaller (bins).
Kort fortalt
ECE fortæller, hvor godt en models sandsynlighedsforudsigelser matcher virkeligheden – f.eks. om begivenheder, som modellen siger har 70% sandsynlighed, rent faktisk indtræffer 70% af gangene.
- Kategori
- metrik
- Niveau
- øvet
- Udtale
- /ɪkˈspɛktɪd ˌkælɪˈbreɪʃən ˈɛrər/
Betydninger
1- 1
Et mål for gennemsnitlig afvigelse mellem forudsagt konfidens og faktisk nøjagtighed, beregnet ved at inddele forudsigelser i intervaller og vægte forskellen med antallet af prøver i hvert interval.
- Efter anvendelse af temperature scaling faldt ECE fra 0.12 til 0.03. — Guo et al., 2017
- Modellens ECE på 0.08 indikerer en moderat mangel på kalibrering.
Hvornår bruges det
ECE bruges til at evaluere og sammenligne kalibreringen af sandsynlighedsmodeller, især inden for maskinlæring og deep learning. Den anvendes ofte i forbindelse med plottning af reliability diagrams og til at guide valg af kalibreringsmetoder som isotonisk regression eller temperature scaling.
Formel
ECE = Σ_{m=1}^{M} (|B_m| / n) * |acc(B_m) - conf(B_m)|, hvor M er antal bins, B_m er bin m, |B_m| er antal prøver i bin, n er totalt antal prøver, acc(B_m) er gennemsnitlig korrekthed, og conf(B_m) er gennemsnitlig konfidens i bin m.Kodeeksempel
import numpy as np
def expected_calibration_error(probs, labels, n_bins=10):
bin_boundaries = np.linspace(0, 1, n_bins + 1)
bin_lowers = bin_boundaries[:-1]
bin_uppers = bin_boundaries[1:]
ece = 0.0
for bin_lower, bin_upper in zip(bin_lowers, bin_uppers):
in_bin = (probs > bin_lower) & (probs <= bin_upper)
prop_in_bin = np.mean(in_bin)
if prop_in_bin > 0:
accuracy = np.mean(labels[in_bin] == 1)
avg_confidence = np.mean(probs[in_bin])
ece += np.abs(avg_confidence - accuracy) * prop_in_bin
return ecePython-funktion til beregning af ECE. Input: probs (forudsagte sandsynligheder), labels (binære sande etiketter), n_bins (antal bins). Output: ECE-værdi.
Oprindelse
Termen stammer fra forskning i kalibrering af neurale netværk, især efter artiklen 'On Calibration of Modern Neural Networks' af Guo et al. (2017), hvor ECE blev populært som et standardmål.