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. 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 ece

Python-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.

Kilder

1