ELAI S.r.l.

Una confidenza del 90% significa nove risposte corrette su dieci?

Calibrare un classificatore di documenti senza confondere probabilità e accuratezza: temperatura, esempio riproducibile e limiti dei risultati aggregati.

Una confidenza del 90% significa nove risposte corrette su dieci?

Il numero che decide se un documento passa da solo

Un’impresa usa un classificatore per distinguere due tipi di documento. Per ogni ingresso riceve una categoria e un numero: “confidenza 90%”. Potrebbe sembrare ragionevole inviare alla revisione umana soltanto i casi sotto l’80%. Ma se il modello è troppo sicuro di sé, la soglia seleziona documenti sbagliati con la stessa tranquillità apparente dei corretti. Il problema non è cosmetico: quel numero determina lavoro, errori e aspettative.

La domanda è precisa: possiamo rendere più attendibile la confidenza senza riaddestrare il classificatore? Costruiremo un esempio dove il modello dichiara 90%, ma indovina soltanto 60 documenti su 100. Calcoleremo la temperatura che corregge questo scarto; poi vedremo perché non aggiunge neppure una classificazione corretta, perché può peggiorare in un altro contesto e come una media perfetta possa nascondere due gruppi mal calibrati. I dati sono costruiti per spiegare il meccanismo, non raccolti presso clienti.

Tre cose che sembrano uguali e non lo sono

La categoria predetta è una decisione discreta: documento A oppure B. L’accuratezza è la frazione di decisioni corrette in un insieme con etichette note. La confidenza è invece un valore assegnato dal modello alla categoria scelta, prima di conoscere l’esito. Dire che una classificazione ha confidenza 90% non equivale ad aver dimostrato che sia corretta: stiamo leggendo una previsione sulla sua correttezza, che ha bisogno di essere verificata su casi confrontabili.

Un significato desiderabile del 90% è questo: fra molti casi ai quali il sistema assegna quel valore, circa nove su dieci sono corretti. Si chiama calibrazione della confidenza. Non promette che ogni blocco consecutivo di dieci contenga esattamente nove successi, né identifica quale sia il caso sbagliato. La frequenza riguarda una popolazione e un contesto; il campione finito ne dà una stima. Qui misuriamo la correttezza della classe vincente, non la verità di una risposta generativa che afferma a parole di essere sicura.

Dai punteggi interni alle probabilità

Per seguire il calcolo bastano probabilità, medie e logaritmi naturali. Chi non usa il calcolo differenziale può leggere la derivazione come una giustificazione della regola finale. Supponiamo che il modello produca due punteggi reali, chiamati logit: z₀ e z₁. Non sono probabilità e possono essere negativi. La funzione softmax li trasforma in due numeri positivi con somma uno. Una differenza grande fra i punteggi produce una preferenza più netta.

pₖ(T) = exp(zₖ/T) / [exp(z₀/T) + exp(z₁/T)]; k ∈ {0,1}, T > 0

T è un parametro adimensionale chiamato temperatura: non misura calore fisico. Con T = 1 lasciamo il modello com’è; aumentando T avviciniamo le due probabilità a 0,5. La confidenza q è la probabilità maggiore. Nel nostro esempio il margine fra il punteggio vincente e quello perdente è sempre m = ln 9, circa 2,197225. La classe vincente cambia da un documento all’altro, ma il margine resta uguale: vogliamo isolare il problema della fiducia dichiarata.

q(T) = 1 / [1 + exp(−m/T)]; m = ln 9; q(1) = 0.9

Questa espressione deriva dividendo numeratore e denominatore della softmax per l’esponenziale del punteggio vincente. A T = 1 compare exp(−ln 9) = 1/9 e quindi q = 9/10. Non occorre conoscere i punteggi assoluti: conta la differenza. Aggiungere la stessa costante a entrambi non cambia il risultato. Dividere per un numero positivo mantiene inoltre il loro ordine: il vincitore resta il vincitore, anche quando la sua probabilità si abbassa.

Scegliere la temperatura con un criterio verificabile

Costruiamo cento record di calibrazione con sessanta classificazioni corrette e quaranta sbagliate. Sono etichette sintetiche determinate dallo script: non abbiamo eseguito inferenze su cento documenti reali. Come decidere quanto ridurre la confidenza? Usiamo la perdita logaritmica negativa media, spesso abbreviata NLL. Penalizza la probabilità assegnata all’etichetta vera: un errore molto sicuro costa più di un errore esitante. Nel caso binario, un record corretto riceve probabilità q sulla verità, uno errato riceve 1 − q.

L(q) = −a ln(q) − (1 − a) ln(1 − q); a = 60/100 = 0.6

a è la frazione corretta; q la confidenza comune. Il logaritmo è naturale, quindi la perdita si esprime in nat, unità informativa adimensionale. Per q = 0,9 otteniamo L = 0,984250 nat per record. Non significa il 98% di errori: l’accuratezza rimane 60%. Abbiamo cambiato domanda: stiamo valutando quanto sono sensate le probabilità, non contando soltanto le decisioni giuste. Per trovare il minimo deriviamo rispetto a q e cerchiamo dove la pendenza si annulla.

dL/dq = −a/q + (1 − a)/(1 − q) = (q − a)/[q(1 − q)] d²L/dq² = a/q² + (1 − a)/(1 − q)² > 0

Per probabilità fra zero e uno il denominatore della prima derivata è positivo. Se q supera a, abbassarlo riduce la perdita; se q è inferiore, conviene alzarlo. Il punto q = a è un minimo unico perché la seconda derivata è positiva. Abbiamo così derivato, per questo insieme omogeneo, che la confidenza migliore coincide con la frequenza osservata. Non abbiamo dimostrato che la frequenza del campione sia la probabilità esatta del mondo esterno.

T* = m / ln[a/(1 − a)] = ln 9 / ln(0.6/0.4) ≈ 5.419023 q(T*) = 0.6; L(0.6) ≈ 0.673012 nat

La formula si ottiene risolvendo q(T) = a. Una temperatura maggiore di uno attenua la fiducia e riduce la perdita, da circa 0,984 a 0,673. Le sessanta classificazioni corrette restano sessanta. È una correzione dello strumento con cui leggiamo il modello, non delle categorie che produce. La formula chiusa vale qui perché tutti i margini hanno identico valore; con margini diversi occorre ottimizzare la somma delle perdite, non sostituire semplicemente l’accuratezza media in questa equazione.

Esiste già un limite strutturale: con margine positivo e T positiva la confidenza vincente resta sopra 0,5. Se in questo stesso esempio osservassimo meno della metà di risposte corrette, nessuna temperatura finita potrebbe portare q a quella frequenza. Per a = 0,5 servirebbe il limite T → infinito. Un classificatore sistematicamente invertito richiede di rivedere il modello o la mappa delle classi: un solo parametro di fiducia non può risolvere ogni errore.

Il controllo deve usare dati che non scelgono T

Se stimiamo T e celebriamo il risultato sugli stessi cento record, descriviamo soltanto l’adattamento alla calibrazione. Prepariamo quindi un secondo insieme con identificativi diversi e settanta risposte corrette. Manteniamo T = 5,419023: il suo valore non viene ricalcolato. Nel secondo insieme la perdita passa da 0,764528 a 0,632465 nat e la confidenza diventa 60% a fronte di un’accuratezza del 70%. È meno lontana dalla frequenza corretta, ma non coincide con essa.

Questa separazione è logica, non una prova statistica di generalizzazione: abbiamo scelto noi i conteggi del secondo insieme. Lo script non simula un campionamento casuale e non giustifica intervalli di confidenza empirici. In un progetto reale servirebbero dati rappresentativi, separazione da addestramento e calibrazione, etichette affidabili e un protocollo fissato prima di guardare il test. Se ripetiamo la scelta di T dopo aver visto i risultati di verifica, quel test diventa un altro insieme di sviluppo.

InsiemeCorrettiNLL T=1NLL T*
Calibration60%0.9842500.673012
Holdout70%0.7645280.632465
Shift95%0.2152220.531099

Cambiare contesto può invertire il vantaggio

La terza riga è un controesempio costruito: stessi margini, ma novantacinque classificazioni corrette su cento. Potrebbe rappresentare un flusso molto più facile, senza pretendere di simulare una causa specifica. La vecchia confidenza 90% dista cinque punti percentuali dalla frequenza; quella calibrata al 60% ne dista trentacinque. La NLL peggiora da 0,215222 a 0,531099 nat. Abbassare la sicurezza non è sempre prudenza: può diventare una sottostima sistematica.

Perdita calcolata dai conteggi sintetici in funzione di T. La linea tratteggiata minimizza soltanto la curva di calibrazione; i minimi degli altri insiemi sono altrove. L’asse verticale è limitato a 1,3 nat per leggere la zona utile: alcuni valori a temperatura molto bassa restano fuori scala.
Perdita calcolata dai conteggi sintetici in funzione di T. La linea tratteggiata minimizza soltanto la curva di calibrazione; i minimi degli altri insiemi sono altrove. L’asse verticale è limitato a 1,3 nat per leggere la zona utile: alcuni valori a temperatura molto bassa restano fuori scala.

Per leggere il grafico, seguiamo prima la curva del 60%: la perdita scende fino alla linea tratteggiata, poi risale verso il valore di una previsione quasi uniforme. Sulla curva del 95%, invece, quel punto si trova già nella regione di confidenza troppo bassa. La figura non confronta tre reti addestrate: confronta tre distribuzioni di etichette costruite intorno agli stessi punteggi. Illustra perché un parametro calibrato ieri debba essere verificato quando cambiano documenti, fornitori, lingue o regole di classificazione.

Una media perfetta può nascondere due problemi

Finora abbiamo riassunto ciascun insieme con un solo numero. Un indicatore comune, ECE, raggruppa le confidenze in intervalli e confronta accuratezza e confidenza media in ciascun intervallo. Somma poi gli scarti assoluti pesati per il numero di record. Il nome inglese è Expected Calibration Error; la quantità calcolata su dati finiti è una stima dipendente anche dalla scelta degli intervalli. Non è una certificazione universale di affidabilità.

ECE = Σ_b (n_b/N) |accuracy_b − confidence_b|

N è il totale, n_b il numero di record nell’intervallo b; gli intervalli vuoti non contribuiscono. Tutte le nostre confidenze calibrate valgono 0,6 e finiscono nello stesso intervallo. Sul primo insieme ECE è quindi |0,6 − 0,6| = 0, a parte l’arrotondamento numerico. Ora dividiamo quei cento casi in due gruppi uguali: nel gruppo A ne sono corretti 45 su 50, nel B soltanto 15 su 50. Il totale resta sessanta; ogni caso continua a dichiarare 60%.

Nel gruppo A sottostimiamo di trenta punti, nel B sovrastimiamo di trenta. L’ECE complessivo è zero perché il raggruppamento per confidenza mescola i due errori prima di prenderne il valore assoluto. La media pesata degli ECE calcolati separatamente sui due gruppi sarebbe invece 0,30. Nessuna T comune può assegnare 90% al primo gruppo e 30% al secondo quando riceve lo stesso margine: mancano sia flessibilità sia informazione utile nella trasformazione scelta.

I gruppi potrebbero corrispondere a tipi di scansione o famiglie documentali, ma qui sono soltanto etichette sintetiche. Il controesempio non dimostra un problema di uno specifico prodotto o di una lingua. Suggerisce quale domanda porre alla validazione: la probabilità resta informativa dove verrà usata? Suddividere tutto in gruppi minuscoli non risolve automaticamente il problema, perché le frequenze diventano instabili. Servono gruppi motivati dal processo, numerosità adeguate e valutazione fuori dal campione usato per decidere le correzioni.

La soglia operativa cambia anche se il modello non migliora

Torniamo alla regola iniziale: automatizzare se q ≥ 0,8. Prima della calibrazione passano tutti i cento documenti; dopo non ne passa nessuno. La copertura, cioè la frazione gestita automaticamente, scende da 100% a 0%. Non possiamo annunciare un’accuratezza del 100% sui casi accettati: l’insieme è vuoto e la frazione corretta non è definita. Abbiamo reso visibile un problema di fiducia, ma non costruito un flusso produttivo sostenibile.

Una decisione reale deve collegare probabilità, costo dell’errore, capacità di revisione e possibilità di rinvio. Il presente esperimento non stima quei costi e non propone una soglia pronta per l’uso. Mostra perché confrontare soltanto la percentuale di confidenza prima e dopo sia insufficiente. Occorre distinguere accuratezza del classificatore, qualità probabilistica, copertura e prestazioni dell’intero processo, includendo anche ciò che accade ai documenti inviati a revisione.

Alternative, evidenza pubblicata e riproducibilità

La temperatura usa un solo parametro e conserva l’ordine delle classi per ciascun ingresso. Una trasformazione affine dei logit può aggiungere uno spostamento, mentre mappe distinte per classe o trasformazioni più flessibili possono cambiare le decisioni. Guadagnano capacità espressiva ma devono essere stimate da dati: più libertà non equivale a più affidabilità fuori campione. Anche raggruppare le probabilità in intervalli comporta una scelta fra dettaglio e quantità di osservazioni disponibili per ogni stima.

Guo, Pleiss, Sun e Weinberger, in un lavoro pubblicato a ICML 2017, studiano la calibrazione su immagini e documenti con insiemi separati. La loro tabella comparativa mostra benefici frequenti della temperatura, non universali. Lo citiamo come riferimento metodologico, senza replicarne reti o benchmark.

Nel nostro allegato, make_data costruisce etichette e logit; confidence applica la trasformazione; nll valuta le probabilità; run congela T prima di leggere gli altri due insiemi. Le asserzioni verificano identificativi distinti, classi invariate e direzione delle variazioni di perdita. Nessun seed è necessario perché non c’è casualità. I decimali derivano da aritmetica in virgola mobile: l’ECE teoricamente nullo compare nel JSON come circa 10⁻¹⁶, non come una scoperta scientifica.

Che cosa significa allora quel 90%?

Significa nove casi corretti su dieci soltanto come interpretazione probabilistica da verificare, riferita a casi comparabili e al contesto d’uso. La temperatura può correggere un eccesso di sicurezza senza cambiare il classificatore; il nostro calcolo mostra esattamente come e a quale costo in copertura. Ma un buon risultato medio non garantisce ogni sottogruppo, e una correzione utile su un flusso può peggiorarne un altro. La domanda utile per un modello verticale non è soltanto “quanto è sicuro?”, bensì “dove abbiamo verificato che i suoi numeri significano ciò che sembrano?”.

Bibliografia

Chuan Guo, Geoff Pleiss, Yu Sun, Kilian Q. Weinberger — On Calibration of Modern Neural Networks, ICML 2017, PMLR 70:1321–1330.

from experiment import run
r = run()
print(round(r['temperature'], 6))
for m in r['metrics']:
    print(m['dataset'], round(m['confidence'], 2),
          round(m['accuracy'], 2), round(m['nll_nats'], 6))

Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 4 ottobre 2026.