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)