Overfitting e underfitting: trovare il giusto equilibrio

11 dicembre 2024

Tempo di lettura

Autori

Tim Mucci

Writer

Gather

Overfitting vs. underfitting

Quando i data scientist e gli ingegneri addestrano i modelli di machine learning (ML), rischiano di utilizzare un algoritmo troppo semplice per catturare i pattern sottostanti nei dati, con conseguente underfitting, oppure uno troppo complesso, con conseguente overfitting. La gestione dell'overfitting e dell'underfitting rappresenta una sfida chiave nei workflow della data science e nello sviluppo di sistemi di intelligenza artificiale (AI) affidabili.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Bias e varianza nel machine learning

Il bias e la varianza spiegano l'equilibrio che gli ingegneri devono raggiungere per garantire un buon adattamento ai loro modelli di machine learning. Pertanto, il compromesso bias-varianza è fondamentale per affrontare l'underfitting e l'overfitting.

Un modello distorto genera ipotesi forti in merito ai dati di addestramento, al fine di semplificare il processo di apprendimento, ignorando sottigliezze o complessità di cui non può tenere conto. La varianza fa riferimento alla sensibilità del modello alle fluttuazioni di apprendimento nei dati di addestramento.

Alcuni esempi di modelli ad alta distorsione (bias) sono gli algoritmi di regressione lineare o i decision tree poco complessi, che suppongono semplici relazioni lineari o binarie anche quando i modelli di dati sono più complessi.

L'utilizzo di un modello di regressione lineare per i dati con una relazione quadratica comporterà un underfitting, poiché il modello non è in grado di catturare la curvatura intrinseca. Di conseguenza, il modello offre prestazioni scarse nel set di addestramento e nei dati di test non visibili, perché non è in grado di eseguire una generalizzazione corretta sui nuovi dati.

La generalizzazione è la capacità del modello di comprendere e applicare i modelli appresi a dati invisibili. I modelli con bassa varianza tendono anche a non adattarsi perché sono troppo semplici per catturare modelli complessi. Tuttavia, i modelli a basso bias potrebbero risultare eccessivamente adattati se sono troppo flessibili.

Un'alta varianza indica che il modello potrebbe catturare il rumore, le idiosincrasie e i dettagli casuali all'interno dei dati di addestramento. I modelli ad alta varianza sono eccessivamente flessibili, con conseguente basso errore in fase di addestramento tuttavia, quando vengono testati su nuovi dati, i modelli appresi non riescono a generalizzarsi, generando un'elevata quantità di errori in fase di test.

Immagina di dover memorizzare le risposte per un test invece di comprendere i concetti necessari per elaborare le risposte da solo. Se il test è diverso da ciò che hai studiato, farai fatica a rispondere alle domande. Trovare l'equilibrio tra varianza e bias è fondamentale per ottenere prestazioni ottimali nei modelli di machine learning.

Come riconoscere l'overfitting e l'underfitting

Le regole 

  • Overfitting: l'errore in fase di addestramento è basso, ma l'errore in fase di test è notevolmente più alto.
  • Underfitting: gli errori sono costantemente elevati nei set di dati di addestramento e test.

Un modello in overfitting può comportare un'elevata precisione del modello sui dati di addestramento e una bassa precisione sui nuovi dati, a causa della memorizzazione anziché della generalizzazione. L'overfitting si verifica quando gli ingegneri utilizzano un modello di machine learning con troppi parametri o livelli, come una rete neurale di deep learning, che lo rende altamente adattabile ai dati di addestramento.

Se addestrato su un set di dati piccolo o rumoroso, il modello rischia di memorizzare punti dati specifici e rumore piuttosto che apprendere i modelli generali. Se i dati contengono errori o incongruenze, il modello potrebbe erroneamente apprenderli come pattern significativi.

Gli ingegneri cercano un divario di prestazioni tra addestramento e test, ma possono anche rilevare un overfitting nelle curve di apprendimento, in cui la perdita di addestramento diminuisce verso lo zero mentre la perdita di convalida aumenta, indicando una scarsa generalizzazione.

Un altro segno di un modello in overfitting sono i suoi confini decisionali, ovvero le regole apprese dal modello per classificare i punti dati. Il confine decisionale diventa eccessivamente complesso e irregolare nei modelli in overfitting, in quanto si adatta al rumore nel set di addestramento piuttosto che catturare le vere strutture sottostanti, dimostrando ulteriormente un caso di overfitting.

Inoltre, i set di dati ad alta dimensione possono portare a un overfitting a causa della "riduzione della dimensionalità". Con l'aumentare del numero di caratteristiche, i dati diventano scarsi, rendendo più difficile per i modelli trovare pattern significativi e aumentando la varianza e il rischio di overfitting.

Un modello in underfitting funziona male sui dati di addestramento e sui dati di test perché non riesce a catturare i pattern dominanti nel set di dati. Gli ingegneri in genere identificano l'underfitting attraverso prestazioni costantemente scadenti in entrambi i set di dati.

I modelli in underfitting tendono inoltre a presentare errori elevati nelle curve di apprendimento, restituiscono metriche di valutazione non ottimali e presentano pattern residui sistematici, tutti fattori che indicano l'incapacità di apprendere in modo efficace le relazioni alla base dei dati.

L'underfitting nel machine learning si verifica spesso a causa di modelli troppo semplici, scarsa progettazione delle caratteristiche o eccessiva regolarizzazione che limita eccessivamente la flessibilità del modello. Allo stesso modo, una selezione inadeguata delle caratteristiche, come l'omissione di termini di interazione o funzionalità polinomiali, può impedire al modello di comprendere le relazioni nascoste nei dati. Anche una pre-elaborazione inadeguata, un tempo di addestramento insufficiente o la mancanza di dati per addestrare il modello possono contribuire all'underfitting.

Esempi di overfitting e underfitting

Overfitting

Modello di diagnosi medica
Un modello di machine learning viene addestrato per classificare le immagini mediche come "sane" o "malate" su un piccolo set di dati. Il modello memorizza le immagini di addestramento, raggiungendo una precisione quasi perfetta, ma offre prestazioni scadenti con le nuove immagini perché ha appreso rumori o artefatti specifici nei dati di addestramento, anziché le caratteristiche generali della malattia.

Previsione del prezzo delle azioni
Un modello finanziario utilizza una rete neurale complessa con molti parametri per prevedere i prezzi delle azioni. Invece di apprendere tendenze o modelli, cattura le fluttuazioni casuali nei dati storici, portando a previsioni di addestramento altamente accurate ma con scarse prestazioni quando testate sui valori azionari futuri.

Previsione dell'abbandono del cliente
Un modello di customer retention include troppe caratteristiche specifiche, come dati demografici estremamente dettagliati, che causano l'overfitting dei dati di addestramento. Fatica a generalizzare e identificare pattern attraverso diverse fasce demografiche quando applicato a una base clienti più ampia.

Underfitting

Previsione dei prezzi delle abitazioni
Un modello di regressione lineare prevede i prezzi delle case basandosi esclusivamente sui metri quadrati. Il modello non considera altre caratteristiche importanti come la posizione, il numero di camere da letto o l'età della casa, il che si traduce in prestazioni scarse con i dati di addestramento e test.

Previsioni meteo
Un modello utilizza un piccolo set di funzionalità semplici, come la temperatura media e l'umidità, per prevedere le precipitazioni. Non riesce a catturare relazioni più complesse, come i modelli stagionali o le interazioni tra più fattori atmosferici, con conseguente scarsa precisione.

Riconoscimento delle immagini
Un decision tree poco complesso viene utilizzato per classificare immagini di cani e gatti. A causa della sua semplicità, non riesce a distinguere le due specie, ottenendo risultati insoddisfacenti con le immagini di addestramento e con quelle nuove mai viste prima.

Come evitare l'overfitting e l'underfitting

Gli algoritmi di machine learning addestrano i modelli a riconoscere i pattern nei dati, consentendo agli ingegneri di utilizzarli per il forecasting dei risultati futuri da input invisibili. L'ottimizzazione degli iperparametri svolge un ruolo importante nel bilanciamento dell'overfitting e del underfitting, garantendo che un modello predittivo si generalizzi in modo efficace su dati invisibili.

Utilizzando gli iperparametri, gli ingegneri possono mettere a punto il tasso di apprendimento, la forza della regolarizzazione, il numero di livelli in una rete neurale o la profondità massima di un decision tree. Una corretta messa a punto può impedire che un modello sia troppo rigido o eccessivamente adattabile.

Overfitting

Regolarizzazione

La regolarizzazione per modelli di regressione, o il dropout nelle reti neurali, è una tecnica utilizzata nel machine learning che dissuade il modello dal fare troppo affidamento su una singola caratteristica o dall'adattare il rumore nei dati di addestramento.

I tipi comuni di regolarizzazione includono L1, che incoraggia la scarsità riducendo alcuni coefficienti a zero, e L2, che riduce le dimensioni di tutti i coefficienti per rendere il modello più semplice e generalizzabile. La regolarizzazione consente al modello di concentrarsi sui pattern sottostanti anziché memorizzare i dati.

Data augmentation

La data augmentation è un'altra strategia efficace, specialmente in attività come la computer vision, dove espandere artificialmente i dati di addestramento capovolgendo, ruotando o ritagliando le immagini aiuta il modello a generalizzare meglio. Semplificare il modello riducendo il numero di parametri o livelli in una rete neurale limita anche la sua capacità di memorizzare i dettagli dei dati di addestramento.

Convalida incrociata k-fold

Gli ingegneri possono utilizzare tecniche come la convalida incrociata k-fold per valutare la generalizzazione del modello. La convalida incrociata K-fold suddivide i dati in sottoinsiemi, ne utilizza alcuni per l'addestramento ed esegue i test sui rimanenti.

Allo stesso modo, gli ingegneri possono utilizzare un set di holdout, ovvero le informazioni del set di addestramento da riservare come dati non visibili, per offrire un altro mezzo per valutare le prestazioni di generalizzazione. I risultati vengono quindi mediati per fornire un punteggio complessivo delle prestazioni.

Framework di valutazione

Oltre a queste tecniche, sono essenziali solidi framework di valutazione dei modelli per garantire che un modello di machine learning si generalizzi bene. Una tecnica di valutazione avanzata è la convalida incrociata nidificata, particolarmente utile per l'ottimizzazione degli iperparametri. Nella convalida incrociata nidificata, un ciclo esterno suddivide i dati in sottoinsiemi di addestramento e test per valutare la capacità di generalizzazione del modello.

Allo stesso tempo, un ciclo interno esegue la messa a punto dell'iperparametro sui dati di addestramento, per garantire che il processo di messa a punto non si adatti eccessivamente al set di validazione. Questo approccio separa l'ottimizzazione degli iperparametri dalla valutazione del modello, fornendo una stima più accurata delle prestazioni del modello su dati non visibili.

Un'altro framework efficace combina gli split di addestramento-test con l'arresto precoce per monitorare la perdita di convalida durante l'addestramento. Valutando le prestazioni del modello su un set di convalida dedicato, gli ingegneri possono interrompere l'addestramento quando le prestazioni della convalida raggiungono il livello massimo o iniziano a peggiorare, evitando l'overfitting.

I framework di valutazione dovrebbero includere il campionamento stratificato per i problemi di classificazione con set di dati sbilanciati, per garantire che ogni suddivisione dei dati mantenga la stessa distribuzione di classi del set di dati originale. In questo modo si evita l'overfitting per le classi maggioritarie, fornendo al contempo una valutazione equa delle prestazioni delle classi minoritarie.

Metodi d'insieme

I metodi ensemble, come il bagging e il boosting, combinano più modelli per ridurre i punti deboli individuali e migliorare la generalizzazione complessiva. Ad esempio, le random forest, un diffuso metodo ensemble, riducono l'overfitting aggregando le previsioni provenienti da più decision tree e bilanciando efficacemente i bias e la varianza.

Underfitting

Modelli più complessi

Per gestire l'underfitting, gli ingegneri spesso aumentano la complessità del modello al fine di acquisire meglio i pattern sottostanti nei dati. Ad esempio, passare dalla regressione lineare semplice a una regressione polinomiale può aiutare nei casi in cui le caratteristiche della relazione e la variabile target non sono lineari. Sebbene i modelli più complessi possano risolvere il problema dell'underfitting, rischiano l'overfitting se non vengono regolarizzati correttamente.  

Regolarizzazione

La riduzione delle penalità di regolarizzazione può anche consentire al modello una maggiore flessibilità per adattarsi ai dati senza essere eccessivamente vincolato. Ad esempio, i parametri L1 e L2 sono tipi di regolarizzazione utilizzati per verificare la complessità di un modello. L1(lasso) aggiunge una penalità per incoraggiare il modello a selezionare solo le caratteristiche più importanti. L2(ridge) aiuta a condurre il modello verso un'importanza più uniformemente distribuita tra le caratteristiche.

Progettazione di funzioni

La progettazione e la selezione delle caratteristiche rivestono un ruolo nella creazione o nella trasformazione delle caratteristiche, ad esempio l'aggiunta di termini di interazione, caratteristiche polinomiali o la codifica di variabili categoriali, per fornire al modello informazioni più pertinenti.

Tempo di addestramento

Offrire al modello più tempo di addestramento aumentando il numero di epoche aiuta a garantire che esso abbia un'adeguata opportunità di imparare dai dati. Un'epoca rappresenta un passaggio completo attraverso il set di dati di addestramento e più epoche consentono al modello di apprendere i pattern in modo più efficace.

Epoche multiple vengono spesso utilizzate per consentire al modello di apprendere i pattern nei dati in modo più efficace. Inoltre, l'aumento delle dimensioni del set di dati di addestramento consente al modello di identificare pattern più diversificati, riducendo il rischio di semplificazione eccessiva e migliorando la generalizzazione.

Qualità dei dati

Dal punto di vista olistico, gli ingegneri dovrebbero valutare attentamente i dati di addestramento per verificarne accuratezza, completezza e coerenza, confrontandoli con fonti affidabili per risolvere eventuali discrepanze. Tecniche come la normalizzazione (valori di scala compresi tra 0 e 1) o la standardizzazione (ridimensionamento a una media di 0 e deviazione standard di 1) aiutano a garantire che il modello non favorisca determinate variabili rispetto ad altre a causa di scale diverse.

Con il tempo, le distribuzioni dei dati di input potrebbero cambiare (un fenomeno noto come data drift o deriva dei dati), che può causare un underfitting o un overfitting dei modelli ai nuovi dati. Per contrastare questo fenomeno, sono essenziali un monitoraggio regolare e un riaddestramento periodico con set di dati aggiornati. Anche la rimozione degli outlier può aiutare a prevenire risultati distorti e a migliorare la solidità del modello.

Strumenti come AutoML possono semplificare ulteriormente i processi, automatizzando l'ottimizzazione degli iperparametri, la selezione delle caratteristiche e la creazione di framework di valutazione dei modelli, consentendo agli ingegneri di concentrarsi su insight e processi decisionali più importanti.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Ottenere l'adattamento ottimale del modello

Un buon adattamento del modello si ottiene con un equilibrio ottimale tra underfitting e overfitting. Descrive un modello che cattura accuratamente i pattern sottostanti nei dati senza essere eccessivamente sensibile al rumore o alle fluttuazioni casuali.

  • Il compromesso tra complessità del modello e generalizzazione consiste nel trovare il giusto equilibrio tra un modello troppo semplice o troppo complesso.
  • Gli ingegneri devono bilanciare bias e varianza per ottenere prestazioni ottimali del modello. Un modo per farlo consiste nel tracciare le curve di apprendimento, che mostreranno gli errori di addestramento e convalida nel tempo.
  • L'analisi delle metriche di convalida, come accuratezza, precisione, richiamo o errore quadratico medio, aiuta a valutare la generalizzazione del modello ai dati non visibili.
  • Un modello ben adattato bilancia attentamente la complessità del modello, i dati di addestramento e le tecniche di regolarizzazione, al fine di generalizzare bene i nuovi dati e fornire previsioni accurate.

Aspetti specifici del dominio per l'underfitting e l'overfitting

La conoscenza del dominio svolge un ruolo significativo nell'affrontare l'underfitting e l'overfitting, poiché aiuta gli ingegneri ad adattare il modello alle caratteristiche specifiche del problema in questione. I set di dati del mondo reale spesso contengono rumore, squilibri o incongruenze.

Una logistica efficiente, come la corretta suddivisione dei dati e la pre-elaborazione, aiuta a mitigare i problemi di adattamento. La comprensione del contesto dei dati consente agli ingegneri di prendere decisioni informate sulla pre-elaborazione, sulla selezione delle caratteristiche e sulla progettazione, al fine di ottenere un modello ben addestrato. Per esempio:

  • Pre-elaborazione dei dati: la conoscenza del dominio aiuta gli ingegneri a identificare quali fasi di pulizia dei dati sono necessarie, come la rimozione di caratteristiche irrilevanti, la gestione dei missing value o la normalizzazione dei dati. Ad esempio, in campo medico, garantire che i dati demografici e le cartelle cliniche dei pazienti siano rappresentati in modo accurato può rendere il modello più efficace.
  • Selezione delle caratteristiche: la conoscenza del dominio può indicare quali siano le caratteristiche più rilevanti per l'attività, riducendo il rumore e migliorando le prestazioni del modello. Ad esempio, nel settore finanziario, gli indicatori chiave come i tassi di interesse o le tendenze del mercato possono essere più predittivi dei log delle transazioni non elaborati.
  • Progettazione del modello: gli insight specifici del dominio possono influenzare la scelta di algoritmi o architetture. Ad esempio, nelle attività di riconoscimento delle immagini, le reti neurali convoluzionali (CNN) sono ideali, mentre nell'analisi delle serie temporali, le reti neurali ricorrenti (RNN) o trasformative potrebbero funzionare meglio.

Trovare l'equilibrio tra underfitting e overfitting consente agli ingegneri di identificare l'intervallo ottimale in cui un modello di machine learning passa da una semplicità rigida a una generalizzazione significativa, senza diventare eccessivamente complesso. Un modello ben bilanciato può prevedere l'abbandono dei clienti in diversi gruppi demografici, classificare le immagini mediche in modo efficace nonostante le variazioni nella qualità dei dati ed effettuare previsioni dei prezzi delle azioni acquisendo le tendenze del mercato senza adattarsi eccessivamente alle fluttuazioni casuali.

La gestione efficace del compromesso tra bias o varianza produce modelli che apprendono accuratamente i pattern nei dati, mantenendo al contempo la flessibilità necessaria per adattarsi all'ignoto. Raggiungendo questo equilibrio, i data scientist possono creare soluzioni tecnicamente valide e di grande impatto nelle applicazioni del mondo reale.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live