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 formazione. 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 nuovi dati non visti. Un modello poco adatto non ha la capacità necessaria per rappresentare con precisione le relazioni all'interno dei dati.
Quali sono le cause dell'underfitting?
Diversi fattori possono portare a un modello poco adatto:
- Complessità del modello insufficiente: L'architettura del modello scelto potrebbe essere troppo semplice per il compito da svolgere. Ad esempio, l'utilizzo di un modello lineare per dati complessi e non lineari, oppure una rete neurale con un numero troppo basso di strati o neuroni. La comprensione della complessità del modello è fondamentale.
- Caratteristiche inadeguate: Le caratteristiche di input fornite al modello potrebbero non contenere abbastanza informazioni rilevanti per fare previsioni accurate. Un'efficace ingegnerizzazione delle caratteristiche è fondamentale per evitare che ciò accada.
- Formazione insufficiente: Il modello potrebbe non essere stato addestrato per un numero sufficiente di epoche, il che significa che non ha avuto sufficienti opportunità di apprendere i modelli presenti nei dati di addestramento.
- Regolarizzazione eccessiva: Sebbene le tecniche di regolarizzazione siano utilizzate per evitare l'overfitting, la loro applicazione troppo aggressiva può limitare eccessivamente il modello, ostacolando la sua capacità di apprendere i modelli dei dati e causando un underfitting.
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 di performance come l'accuratezza, la precisione o il richiamo sono basse, mentre il valore della funzione di perdita rimane alto.
- Errore di validazione elevato: Il modello si comporta male anche sui dati di convalida, indicando che non ha appreso i modelli generali.
- Curve di apprendimento: Tracciare l'errore del modello sui set di addestramento e di convalida nel tempo(curve di apprendimento) può rivelare un underfitting se entrambe le curve raggiungono un livello di errore elevato. Per compiti specifici come il rilevamento di oggetti, consulta le guide sulle metriche delle prestazioniYOLO .
Affrontare l'underfitting
Diverse strategie possono aiutare a superare l'underfitting:
Esempi di underfitting nel mondo reale
- Prevedere i prezzi delle case con caratteristiche limitate: Immagina di cercare di prevedere i prezzi delle case utilizzando solo il numero di camere da letto. Questo semplice modello (con poche caratteristiche) sarebbe probabilmente inadeguato perché ignora fattori cruciali come la posizione, la metratura e l'età, non riuscendo a cogliere la vera complessità del mercato immobiliare.
- Classificatore di immagini di base per scene complesse: Addestrare una rete neurale convoluzionale (CNN) molto semplice con solo uno o due strati convoluzionali per un compito di classificazione di immagini complesse, come l'identificazione di varie specie di uccelli in ambienti diversi. Il modello potrebbe non riuscire ad apprendere le complesse caratteristiche che distinguono le diverse specie, con conseguenti scarse prestazioni sia sulle immagini familiari che su quelle nuove.
Underfitting vs. Overfitting
L'underfitting è l'inverso dell'overfitting. Un modello underfit è troppo semplice e non riesce a cogliere la tendenza di fondo dei dati, causando un elevato bias. Un modello overfit è troppo complesso; apprende troppo bene i dati di addestramento, compresi i rumori e i valori anomali, con conseguente alta varianza e scarse prestazioni sui nuovi dati. L'obiettivo dell'apprendimento automatico è quello di trovare un equilibrio tra questi due estremi, ottenendo una buona generalizzazione. Questo equilibrio viene spesso discusso in termini di compromesso bias-varianza. Tecniche come la convalida incrociata (vedi la guida K-Fold diUltralytics ) e un'attenta regolazione degli iperparametri (vedi la guidaUltralytics Tuning) sono essenziali per trovare questo equilibrio ottimale. Piattaforme come Ultralytics HUB possono aiutare a gestire gli esperimenti e a monitorare le prestazioni del modello per identificare e mitigare sia l'underfitting che l'overfitting.