Overfitting e Underfitting nel Machine Learning

Aggiornato su September 02, 2024 2 minuti a leggere

Overfitting e Underfitting nel Machine Learning cover image

L’overfitting e l’underfitting sono problemi comuni nei modelli di machine learning che influiscono sulla loro capacità di generalizzare bene a dati nuovi e invisibili.

L’overfitting si verifica quando un modello apprende non solo i modelli sottostanti nei dati di addestramento, ma apprende anche il rumore e le fluttuazioni casuali presenti in tali dati. Di conseguenza, il modello funziona eccezionalmente bene sui dati di addestramento ma non riesce a generalizzare a dati nuovi e invisibili perché ha essenzialmente memorizzato il set di addestramento.

L’underfitting, d’altro canto, si verifica quando un modello è troppo semplice per catturare i modelli sottostanti nei dati di addestramento. Ha prestazioni scadenti non solo sui dati di training ma anche sui nuovi dati perché non riesce ad apprendere le relazioni e le complessità presenti nei dati.

Come prevenire l’overfitting e l’underfitting

  • Convalida incrociata: utilizza tecniche come la convalida incrociata k-fold per valutare le prestazioni del modello su diversi sottoinsiemi di dati. Aiuta a stimare quanto bene il modello si generalizzerà ai nuovi dati.

  • Suddivisione training-test: suddivide i dati in set di training e test separati. Addestra il modello sul set di training e valuta le sue prestazioni sul set di testing. Ciò aiuta a valutare quanto bene il modello generalizza i dati invisibili.

  • Selezione/riduzione delle funzionalità: riduci la complessità del modello selezionando solo le funzionalità più rilevanti o utilizzando tecniche come l’analisi delle componenti principali (PCA) per ridurre la dimensionalità dei dati.

  • Regolarizzazione: tecniche come la regolarizzazione L1 o L2 aggiungono penalità in termini di complessità alla funzione obiettivo del modello, impedendogli di adattare troppo da vicino il rumore nei dati.

  • Metodi di insieme: combina più modelli per ridurre l’overfitting e l’underfitting. Tecniche come il bagging, il boosting o l’impilamento utilizzano più modelli per migliorare le prestazioni generali e la generalizzazione.

  • Ottimizzazione degli iperparametri: regola gli iperparametri del modello (come velocità di apprendimento, profondità degli alberi negli alberi decisionali, ecc.) utilizzando tecniche come la ricerca su griglia o la ricerca casuale per trovare la configurazione ottimale che bilanci i bias e varianza.

  • Arresto anticipato: monitora le prestazioni del modello su un set di convalida durante l’addestramento e interrompe il processo di addestramento quando le prestazioni iniziano a peggiorare, prevenendo così l’overfitting.

  • Più dati: aumentare la quantità di dati può aiutare a generalizzare meglio il modello fornendo un campione più diversificato e rappresentativo della distribuzione sottostante.

Trovare il giusto equilibrio tra complessità del modello e generalizzazione è fondamentale per prevenire l’overfitting e l’underfitting e queste tecniche aiutano a raggiungere tale equilibrio.