La differenza tra overfitting e underfitting

    L'overfitting e l'underfitting sono due problemi tipici del machine learning in cui il modello raggiunge scarse performance nella classificazione dopo l'addestramento ma per motivi diversi.

  • Nell'overfitting ci sono troppi parametri nel modello e un'elevata variabilità della classificazione. Il modello è troppo complesso e sensibile ai dati di training ( high variance ).
  • Nell'underfitting ci sono pochi parametri nel modello e un'elevata discrepanza nella classificazione ( high bias ). Il processo di apprendimento è troppo semplice.

In entrambi i casi, il modello raggiunge buoni risultati sui dati di addestramento ma scarse performance sui dati di test.

In genere, i problemi di undefitting e overfitting si presentano sui modelli di classificazione lineare.

Nota. Nei casi della classificazione lineare per risolvere il problema dell'underfitting e dell'overfitting basta costruire un confine di classificazione non lineare e/o ricorrere alla regolarizzazione dei dati.
differenza tra classificazione lineare e non lineare

Cos'è l'overfitting

L'overfitting è un problema che si presenta quando la classificazione si basa su troppi parametri.

In questi casi, la varianza della classificazione diventa elevata, perché il modello è troppo sensibile ai dati addestramento.

un esempio di overfitting

Come capire se si tratta di overfitting

Se ripeto più volte l'addestramento con dataset di training diversi, il modello di classificazione cambia radicalmente la sua risposta (classificazione) su una stessa istanza.

Questa eccessiva variabilità nella classificazione è un chiaro segnale che l'apprendimento è eccessivamente dipendente dalla casualità nei dati di addestramento.

Per risolvere il problema dell'overfitting devo rivedere i parametri di addestramento.

Cos'è l'underfitting

L'underfitting è un problema di apprendimento che si verifica quando la classificazione si basa su pochi parametri.

La classificazione soffre di un'eccessiva discrepanza ( high bias ). E' troppo semplice.

esempio di underfitting

Esempio. Se ripeto l'addestramento su dataset diversi, permane comunque un'elevata discrepanza tra la classificazione del modello e le risposte corrette.

In questo caso il problema non dipende dalla casualità dei dati di training ma dall'eccessiva semplificazione del modello di apprendimento.

Per risolvere il problema dell'underfitting devo ricostruire il modello di classificazione usando più informazioni.

Come capire se è overfitting o underfitting

Per capire se un modello ha problemi di underfitting o overfitting, suddivido il dataset in training set e test set.

Creo il modello sui dati di training.

differenza tra training set e test set

Poi estrapolo le predizioni e verifico l'accuratezza dei risultati sia sui dati di test (test set) che sui dati di addestramento (training set).

come distinguere tra underfitting e overfitting

  • Se l'errore sui dati di training è elevato, c'è sicuramente un problema di underfitting. Il modello ha generalizzato troppo.
  • Se l'errore sui dati di training è accettabile ma l'errore sui dati di test è elevato, c'è un problema di overfitting. Il modello non ha generalizzato abbastanza.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Machine Learning (ML)