Nel regno dell'apprendimento automatico (ML), per ottenere prestazioni ottimali dei modelli è necessario trovare un equilibrio tra semplicità e complessità. L'underfitting è un problema comune quando un modello è troppo semplicistico per catturare i modelli sottostanti presenti nei dati di addestramento. Ciò significa che il modello non riesce ad apprendere in modo efficace, con conseguenti scarse prestazioni non solo sui dati su cui è stato addestrato, ma anche su dati nuovi e sconosciuti(dati di prova o input del mondo reale). Un modello underfit non ha la capacità o il tempo di addestramento necessari per rappresentare le relazioni all'interno dei dati in modo accurato, con il risultato di un elevato bias e dell'incapacità di generalizzare bene.
Quali sono le cause dell'underfitting?
Diversi fattori possono contribuire a un modello poco adatto:
- Complessità del modello insufficiente: Il modello scelto potrebbe essere troppo semplice per la complessità dei dati. Ad esempio, l'utilizzo di un modello di regressione lineare di base per dati con schemi non lineari, oppure l'utilizzo di una rete neurale (NN) con un numero troppo basso di strati o neuroni.
- Ingegneria delle caratteristiche inadeguata: Le caratteristiche di input fornite al modello potrebbero non contenere abbastanza informazioni rilevanti o non rappresentare efficacemente i modelli sottostanti.
- Dati di formazione insufficienti: Il modello potrebbe non aver visto abbastanza esempi per imparare i modelli sottostanti. Questo è particolarmente vero per i modelli complessi di deep learning. È fondamentale disporre di dati diversificati e rappresentativi, che possono essere esplorati attraverso piattaforme come i dataset diUltralytics .
- Addestramento troppo breve: il processo di addestramento del modello potrebbe essere interrotto prematuramente, prima che abbia avuto un numero sufficiente di epoche per apprendere i modelli nei dati.
- Regolarizzazione eccessiva: Le tecniche utilizzate per evitare l'overfitting, come la regolarizzazione L1 o L2 o gli alti tassi di abbandono, a volte possono limitare eccessivamente il modello, impedendogli di apprendere i modelli necessari se applicate in modo eccessivo.
Identificare l'underfitting
L'underfitting viene tipicamente diagnosticato valutando le prestazioni del modello durante e dopo l'addestramento:
- Errore di addestramento elevato: Il modello ha prestazioni scarse anche sui dati su cui è stato addestrato. Le metriche chiave come l'accuratezza, la precisione, il richiamo o il punteggio F1 sono basse e il valore della funzione di perdita rimane alto.
- Errore di convalida/test elevato: Il modello si comporta male anche su dati di convalida o dati di prova non visti. Il divario di prestazioni tra l'errore di formazione e quello di convalida è solitamente ridotto, ma entrambi gli errori sono inaccettabilmente alti.
- Curve di apprendimento: Tracciare le perdite/metriche di addestramento e di convalida rispetto agli epoch di addestramento può rivelare un underfitting. Se entrambe le curve si stabilizzano a un livello di errore elevato, è probabile che il modello sia in underfitting. Puoi monitorare queste curve usando strumenti come TensorBoard o Weights & Biases. Anche la comprensione di specifiche metriche di performanceYOLO è fondamentale.
Affrontare l'underfitting
Diverse strategie possono aiutare a superare l'underfitting:
Underfitting vs. Overfitting
L'underfitting e l'overfitting sono due facce della stessa medaglia e rappresentano fallimenti nella generalizzazione del modello.
- Underfitting: Il modello è troppo semplice ( bias elevato). Non riesce a catturare le tendenze sottostanti dei dati, con conseguenti scarse prestazioni sia sui set di allenamento che su quelli di test.
- Overfitting: Il modello è troppo complesso (alta varianza). Apprende troppo bene i dati di addestramento, compresi i rumori e le fluttuazioni casuali, il che porta a prestazioni eccellenti sul set di addestramento ma scarse sui dati non visti.
L'obiettivo del ML è quello di trovare un punto di equilibrio tra l'underfitting e l'overfitting, spesso discusso nel contesto del tradeoff bias-varianza, in cui il modello impara i veri modelli sottostanti senza memorizzare il rumore.
Esempi di underfitting nel mondo reale
- Classificatore di immagini semplice: L'addestramento di una rete neurale convoluzionale (CNN) molto semplice (ad esempio, con solo uno o due strati convoluzionali) su un compito di classificazione di immagini complesso come la classificazione di migliaia di categorie di oggetti in ImageNet. Il modello probabilmente non si adatterebbe al meglio perché la sua capacità limitata gli impedisce di apprendere le caratteristiche complesse necessarie per distinguere efficacemente tra molte classi. L'accuratezza della formazione e della convalida rimarrebbe bassa.
- Manutenzione predittiva di base: Utilizzare un semplice modello lineare per prevedere i guasti di una macchina basandosi solo sulla temperatura di esercizio. Se i guasti sono in realtà influenzati da una complessa interazione di fattori come le vibrazioni, l'età, la pressione e le non linearità della temperatura, il modello lineare si adatterà male. Non è in grado di catturare la vera complessità, con conseguenti scarse prestazioni di modellazione predittiva e mancata previsione accurata dei guasti. Sarebbe necessario utilizzare modelli più complessi o caratteristiche migliori. Framework come PyTorch o TensorFlow offrono strumenti per costruire modelli più sofisticati.