Blog.

Cos’è la loss function? | Towards Machine Learning


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
machine-learning

loss-function-loss-functions-machine-learning-data-science-guida-italiano

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?

TaggedAI


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum