Sobes.tech
Junior — Middle

Cos'è il sovrallenamento? Quali sono i modi per combatterlo?

sobes.tech AI

Risposta dell'AI

L'overfitting (overfitting) è una situazione in cui un modello di apprendimento automatico si adatta troppo bene ai dati di addestramento, inclusi rumore e fluttuazioni casuali, e di conseguenza generalizza male a nuovi dati invisibili.

Modi per combattere l'overfitting:

  • Regolarizzazione (L1, L2) — aggiunta di una penalità per la complessità del modello per evitare pesi troppo grandi.
  • Early stopping — fermare l'addestramento quando la qualità sul set di validazione inizia a peggiorare.
  • Aumentare il volume dei dati — più dati aiutano il modello a generalizzare meglio.
  • Validazione incrociata — aiuta a valutare la capacità di generalizzazione del modello e a regolare i parametri.
  • Dropout (per reti neurali) — disattivare casualmente i neuroni durante l'addestramento per prevenire dipendenze da caratteristiche specifiche.
  • Semplificazione del modello — ridurre il numero di parametri o di strati.

Esempio di regolarizzazione nella regressione lineare:

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)  # Regolarizzazione L2
model.fit(X_train, y_train)