Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Sovradattamento (Overfitting)

Esplora le cause e i sintomi dell'overfitting nell'apprendimento automatico. Scopri come prevenire l'elevata varianza e migliorare la generalizzazione utilizzando Ultralytics .

Il sovradattamento si verifica nell'apprendimento automatico quando un modello apprende troppo bene i dati di addestramento, catturando rumore e fluttuazioni casuali anziché la distribuzione dei dati sottostante. Invece di apprendere modelli generali applicabili a dati nuovi e non visti, un modello sovradimensionato memorizza efficacemente gli esempi specifici nel set di addestramento. Ciò si traduce in prestazioni eccellenti sui dati di addestramento ma scarsa generalizzazione agli scenari del mondo reale. Viene spesso descritto come "alta varianza", il che significa che le previsioni del modello variano in modo significativo a seconda del set di dati specifico utilizzato per l'addestramento.

Perché si verifica l'overfitting

La causa principale dell'overfitting è l'eccessiva complessità del modello rispetto alla quantità di dati disponibili. Se una rete neurale è troppo grande, ovvero ha troppi livelli o parametri, può facilmente memorizzare gli esempi di addestramento. Altri fattori che contribuiscono a questo fenomeno includono:

  • Dati di addestramento insufficienti: i set di dati di piccole dimensioni possono contenere correlazioni spurie che non esistono nella popolazione più ampia. I modelli addestrati su dati limitati sono inclini ad apprendere questi modelli accidentali.
  • Rumore dei dati e valori anomali: livelli elevati di rumore o valori anomali non rappresentativi nei dati di addestramento possono fuorviare il modello, inducendolo ad adattare i propri parametri interni per adattarsi alle anomalie piuttosto che al segnale reale.
  • Durata prolungata dell'addestramento: un addestramento troppo lungo permette al modello di continuare a perfezionare i propri pesi fino a quando non si adatta al rumore nel set di addestramento. Questo viene spesso monitorato utilizzando i dati di convalida.

Overfitting vs. Underfitting

È importante distinguere l'overfitting dall' underfitting. Mentre l'overfitting comporta l'apprendimento di troppi dettagli (incluso il rumore), l'underfitting si verifica quando un modello è troppo semplice per catturare la struttura sottostante dei dati. Un modello underfitted ha prestazioni scadenti sia sui dati di addestramento che sui nuovi dati, spesso con conseguente elevato bias. Il bilanciamento di questi due estremi è noto come tradeoff bias-varianza.

Prevenire l'overfitting

Gli ingegneri utilizzano diverse tecniche per mitigare il sovradattamento e migliorare la robustezza del modello:

  • Regolarizzazione: tecniche come la regolarizzazione L1/L2 o l'aggiunta di livelli di dropout introducono penalità o casualità durante l'addestramento, impedendo al modello di diventare eccessivamente dipendente da caratteristiche specifiche.
  • Interruzione anticipata: il monitoraggio della funzione di perdita su un set di validazione consente di interrompere l'addestramento una volta che le prestazioni sui dati non visti smettono di migliorare, anche se l'accuratezza dell'addestramento continua ad aumentare.
  • Aumento dei dati: aumentare artificialmente le dimensioni e la diversità del set di addestramento utilizzando l' aumento dei dati rende più difficile per il modello memorizzare immagini esatte.
  • Validazione incrociata: l'utilizzo di tecniche come la validazione incrociata k-fold garantisce che il modello venga testato su diversi sottoinsiemi di dati, fornendo una stima più affidabile delle sue prestazioni.

Esempi reali

L'overfitting può avere gravi conseguenze quando si implementa l'IA in ambienti di produzione:

  • Diagnosi medica: nell' ambito dell'intelligenza artificiale in campo sanitario, un modello addestrato a detect il cancro della pelle potrebbe adattarsi eccessivamente alle condizioni di illuminazione o alle marcature dei righelli presenti nelle immagini di addestramento. Se implementato in una clinica con illuminazione o attrezzature diverse, il modello potrebbe non riuscire a identificare correttamente le lesioni maligne perché si è basato su indicazioni di sfondo irrilevanti.
  • Previsioni finanziarie: un modello di previsione del prezzo delle azioni potrebbe adattarsi eccessivamente alle tendenze storiche del mercato determinate da un evento specifico e non ripetibile (come una crisi economica una tantum). Un modello di questo tipo probabilmente non riuscirebbe a prevedere con precisione i movimenti futuri delle azioni, poiché memorizza le anomalie passate invece di apprendere le dinamiche fondamentali del mercato.

Esempio di codice: arresto anticipato con YOLO26

Utilizzando la Ultralytics o script di addestramento locali, è possibile prevenire l'overfitting impostando una tolleranza di arresto anticipato. Ciò interrompe l'addestramento se l'idoneità di convalida non migliora per un determinato numero di epoche.

from ultralytics import YOLO

# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Train with early stopping enabled (patience=50 epochs)
# If validation metrics don't improve for 50 epochs, training stops.
results = model.train(data="coco8.yaml", epochs=100, patience=50)

Concetti correlati

  • Generalizzazione: la capacità di un modello di adattarsi e funzionare bene su dati nuovi, mai visti prima, che è l'opposto dell'overfitting.
  • Validazione incrociata: tecnica per valutare in che modo i risultati di un'analisi statistica possano essere generalizzati a un insieme di dati indipendente.
  • Regolarizzazione: metodi utilizzati per ridurre gli errori adattando una funzione in modo appropriato al set di addestramento dato ed evitare il sovradattamento.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora