In generale, una loss function misura il grado di accuratezza con cui un certo modello statistico descrive un set di dati empirici di un certo fenomeno.
Che signfica tutto e niente. Tradotto in chiave AI:
l’obiettivo di un processo di machine learning è quello di creare un modello accurato di una realtà. Per valutare la sua efficacia e performance, usiamo una loss function.
In questo post svilupperemo una conoscenza intuitiva della Loss Function, capendone la differenza con la Cost Function.
Esattamente, non sono sinonimi!
Loss Function intuitivamente
Partiamo da due sempi tratti dalla vita reale per apprendere il contesto in cui la Loss Function opera e i benefici che produce.
Esempio 1
Immagina di trovarti a Torino e voler indovinare l’età di alcuni passanti scelti casulamente tra la folla di Piazza Vittorio.
Insieme alla tua amica iniziate a creare delle previsioni e dopo aver interrogato i pedoni confrontare i risultati.
Come fai a stabilire chi, tra voi due, è riuscito a prevedere con maggiore accuratezza l’età?
Una rapida soluzione potrebbe essere quella di calolare la sommatoria degli errori, il valore assoluto tra l’età predetta e quella reale; in questo modo, se il tuo risultato sarà numericamente minore di quello della tua amica avrai vinto il gioco!
Il tuo ‘modello’, con il quale hai previsto l’età dei passanti, basandoti su elementi come il taglio di capelli, l’abbigliamento, l’elasticità della pelle, l’altezza e la corporatura, e via dicendo, è migliore di quello usato dalla tua controparte.
Esempio 2
In un supermercato con la tua ragazza, o con il tuo ragazzo, controlli con attenzione i prezzi dei prodotti.
La lista che hai preparato con cura meticolosa riporta alcuni valori differenti. Quanto differenti?
Per ogni prodotto calcoli la differenza tra il valore previsto, presente nella lista, e quello reale, dei prodotti sugli scaffali. Entra in gioco la loss function.
Decidi poi di calcolare quanto ti fossi sbagliato, o sbagliata. Per farlo, effetui la media degli errori conteggiati in precedenza. Entra in gioco la cost function.
Mentre la Loss Function è in particolare, riferita cioè alle singole osservazioni, data point, previsioni e label, la Cost Function ha un ordine più generale.
4 Categories of Loss Functions
In applicazioni di machine learning esistono diverse loss functions accomunate però dal mettere sempre in relazione il valore predetto dal modello e quello corretto, del dataset di training. Possiamo individuare 4 categorie di loss functions.
Regressive Loss Functions
Come suggerisce il nome, questa tipologia di loss functions è particolarmente utile nei problemi di regressione, quelli in cui una o più variaibli che definiamo indipendenti (le features) sono in relazione ad una variabile dipendente di tipo continuo (prezzi, età, etc) . Tra le funzioni più usate troviamo:
- Square Error Loss ( L2 Loss), la differenza previsione/dato elemento per elemento (element-wise) elevata al quadrato. I grandi errori sono maggiormente penalizzati
- Absolute Error Loss (L1 Loss), la differenza previsione/dato elemento per elemento (element-wise) in valore assoluto
- Smooth Absolute Error, corregge il risultato in modo da renderlo meno sensibile agli outliers.
Classification Loss Functions
Poiché in un problema di classificazione otteniamo un valore che indica la probabilità che un determinato campione appartenga o meno ad una specifica classe, vogliamo aumentare quanto possissibile il grado di accuratezza del modello.
Ecco perché usiamo una loss function. Distinguiamo:
- Binary cross entropy
- negative log likelihood
- margin classifier
- soft margin classifier
Embedding loss functions
E’ una particolare catgeria di loss functions, utile quando l’obiettivo è misurare la similarità di due inputs. Troviamo:
- L1 Hinge Error – Calcola la fistanza L1 tra due inputs
- Cosine Error – Calcola il coseno di similitudine tra due inputs; alcune sue applicazioni sono il data mining e l’analisi del testo
L’obiettivo del post è quello di dare una visione d’insieme alle principali tipologie di loss functions, giustificando al contempo la loro importanza nel processo di creazione di un qualsiasi modello di machine learning.
In attesa di rivederci nel prossimo post, ti auguro una buona giornata!
A presto, un caldo abbraccio.
Andrea
P.S. Hey! Non credo di verti mai visto! Mmmm… Dobbiamo rimediare!
Sei interessato ad argomenti di data science e machine learning? Perché sto giusto preparando dei contenuti esclusivi per pochi membri selezionati della mia community… Ti vuoi unire?