La cross-entropy è una funzione di perdita usata per valutare predizioni probabilistiche, soprattutto nei problemi di classificazione. Misura quanto una distribuzione predetta assegna probabilità agli eventi effettivamente osservati.
È molto usata in regressione logistica, reti neurali, classificatori probabilistici e modelli di apprendimento supervisionato.
Caso binario
Nel caso binario, con etichette y_i\in\{0,1\} e probabilità predette \hat p_i=P(y_i=1), la cross-entropy media è
Se l’etichetta vera è 1, conta il termine -\log \hat p_i. Se l’etichetta vera è 0, conta il termine -\log(1-\hat p_i).
Interpretazione probabilistica
La cross-entropy penalizza molto le predizioni sicure ma sbagliate. Se il modello assegna probabilità quasi nulla all’evento osservato, il logaritmo produce una perdita molto grande:
Questo comportamento è desiderabile quando si vogliono probabilità calibrate, non solo decisioni corrette. Un classificatore che prevede la classe giusta con probabilità 0{,}51 e uno che la prevede con probabilità 0{,}99 non ricevono la stessa perdita.
Caso multiclasse
Per K classi, con vettore one-hot y_{ik} e probabilità predette \hat p_{ik}, la cross-entropy è
Poiché per ogni osservazione una sola componente y_{ik} vale 1, la perdita seleziona il logaritmo della probabilità assegnata alla classe corretta.
Collegamento con massima verosimiglianza
Minimizzare la cross-entropy equivale spesso a massimizzare la log-verosimiglianza del modello probabilistico. Nel caso binario, il modello sottostante è una distribuzione di Bernoulli con parametro predetto \hat p_i.
Per questo la cross-entropy non è una scelta arbitraria: deriva naturalmente dalla probabilità del campione osservato sotto il modello.
Differenza rispetto all’accuratezza
L’accuratezza misura quante classi sono state indovinate; la cross-entropy misura quanto bene sono state assegnate le probabilità. Due modelli con la stessa accuratezza possono avere cross-entropy molto diversa se uno è calibrato e l’altro è troppo sicuro sugli errori.
Questo la rende utile accanto a strumenti come matrice di confusione e metriche di valutazione ML.
Stabilità numerica
Numericamente le probabilità predette vanno tenute lontane da 0 e 1 per evitare logaritmi non definiti. Nei software si usano funzioni stabili che combinano sigmoid o softmax con la loss, evitando overflow e underflow.
Per esempio, invece di calcolare prima una probabilità con sigmoid e poi il logaritmo, molte librerie usano direttamente formule in termini di logit.
Errori comuni
Un errore frequente è usare cross-entropy con etichette e probabilità non coerenti, per esempio probabilità multiclasse che non sommano a uno.
Un secondo errore è confrontare valori di loss senza considerare la scala del problema: una cross-entropy multiclasse casuale cresce con il numero di classi.
Infine, una cross-entropy bassa non garantisce da sola equità, robustezza o buona interpretabilità del modello. Valuta la qualità probabilistica rispetto ai dati e alla loss scelta, non tutti gli aspetti del sistema. Per esercizi collegati, vedi classificazione e metriche e la voce sull’apprendimento supervisionato.