Che cos’è davvero la cross entropia?
Non si tratta di un termine astratto, ma di una funzione matematica che confronta due distribuzioni di probabilità. In pratica, misura quanto il modello predice in modo sbagliato rispetto ai dati reali.
Perché è così potente?
La sua sensibilità al margine di errore la rende ideale per problemi di classificazione. Quando l’output del modello è lontano dalla verità, la perdita cresce rapidamente, spingendo l’algoritmo a correggersi.
Calcolo pratico con un esempio
Immagina di avere due classi: positivo e negativo. Se il modello assegna 0.9 alla classe positiva quando la vera etichetta è negativa, la cross entropia penalizza fortemente quel risultato.
Implementazione semplice in Python
Ecco un snippet rapido usando NumPy:
- Definisci le probabilità predette
y_pred = np.array([0.9, 0.1]) - Le etichette vere
y_true = np.array([0, 1]) - Calcola la perdita:
loss = -np.sum(y_true * np.log(y_pred))
Quando evitare la cross entropia?
Per problemi di regressione o quando le etichette non sono probabilistiche, altre funzioni di perdita come l’errore quadratico medio possono essere più appropriate.