Che cosa si intende per overfitting e come evitarlo
- Home
- Blog
- Tecnologie e concetti IT
- Che cosa si intende per overfitting e come evitarlo

Quando si gestiscono progetti di machine learning e intelligenza artificiale, il rischio di complicazioni e malfunzionamenti maggiore è lui: l’overfitting. Si tratta di un sovradattamento che si manifesta durante il processo di apprendimento induttivo.
Tale sovradattamento avviene quando l’algoritmo si adatta eccessivamente ai dati di training, non risultando più efficace nel momento in cui viene applicato a dati generici. Questo fenomeno si riscontra sia in statistica che in informatica.
Esiste un modo per evitare l’overfitting? Quali sono le principali cause e come risolvere il problema? Scopriamo di più riguardo questa problematica strettamente connessa al machine learning.
Indice dei contenuti
È bene chiarire, innanzitutto, cosa si intende per overfitting. Con questo termine si identifica un preciso comportamento di machine learning, del tutto indesiderato. Tale comportamento viene riscontrato nel momento in cui il modello di machine learning fornisce previsioni credibili per i dati di addestramento, ma non può garantire previsioni accurate per dati di nuova implementazione.
Ogni data scientist deve conoscere questo possibile scenario per poter proteggere i propri progetti dal rischio di overfitting. I data scientist utilizzano i modelli di machine learning per generare previsioni, addestrando il modello sulla base di un set di dati fornito. Queste informazioni vengono utilizzate per creare un modello in grado di produrre previsioni anche per i set di dati implementati successivamente.
L’overfitting impedisce al modello di fornire una previsione accurata, riducendo il buon funzionamento del sistema e diminuendo la credibilità delle previsioni generate sulla base di nuovi dati. La macchina non potrà, quindi, operare seguendo un albero decisionale logico e adeguato al contesto: l’albero decisionale risulterà, infatti, compromesso o parziale.
L’overfitting si verifica nel momento in cui il modello di machine learning non può essere generalizzato: questo modello, abitualmente in grado di adattarsi a tutti i set di dati del dominio collegato, in caso di overfitting si adatta eccessivamente al set di dati con il quale è stato addestrato.
Il rischio di overfitting è alto quando il numero degli attributi da considerare è troppo elevato. Se il numero degli attributi è elevato, aumenta parallelamente il rischio di riscontrare un attributo non rilevante che inquina i dati, mediante un pattern fasullo.
Rilevare l’overfitting è indispensabile per poter utilizzare adeguatamente il modello di machine learning. Una metodologia semplice e piuttosto affidabile per rilevare il fenomeno dell’overfitting è analizzare il comportamento del modello di machine learning. Mettendo alla prova il modello e proponendogli diversi dati (differenti nella natura, nei valori e negli input) è possibile verificare la reazione del modello stesso.
In genere, i dati di addestramento (o una parte degli stessi) vengono utilizzati per analizzare il comportamento del modello e individuare i casi di overfitting. Quando vengono riscontrati alti tassi di errore, è probabile che si verificherà l’overfitting.
Un metodo efficace per individuare l’overfitting è la convalida incrociata K-fold. I data scientist che utilizzano questa metodologia suddividono i set di addestramento in K sottoinsiemi, o in un numero di set campione dalle dimensioni identiche (denominati “fold”). La verifica presuppone un processo di addestramento suddiviso in una serie di iterazioni, tra cui:
Il modello deve essere testato su tutti i set campione e, infine, in base ai risultati occorre calcolare le performance del modello in riferimento alle singole iterazioni.
Per maggiore chiarezza, esaminiamo un esempio pratico di overfitting. Immaginiamo un modello di machine learning impegnato ad analizzare dati di training contenenti delle fotografie.
Il compito del modello è identificare le foto che contengono delle rose. Se molte delle fotografie raffiguranti delle rose contengono anche uno scenario comune, ad esempio un prato o un vaso, il modello potrebbe non riconoscere più la rosa ma imparare a usare il prato o il vaso per classificare i dati. In questo caso, l’albero decisionale è stato inquinato e reso inutilizzabile da un errore nella classificazione del dato.
Generalmente, l’overfitting avviene a causa di:
Per ridurre il rischio di overfitting, occorre trovare il giusto equilibrio diversificando e dimensionando il set di dati di training. In alternativa è possibile utilizzare tecniche di data science, tra cui:
Quando si verifica l’overfitting, esiste un metodo generale per risolverlo. Eliminare qualche caratteristica dal set di dati di training risulta indispensabile. Ma questo sforzo deve essere accompagnato da una successiva elaborazione di un nuovo modello predittivo.
Una delle principali cause di insuccesso per un modello di machine learning è il fenomeno dell’overfitting. Come abbiamo detto, questo fenomeno si verifica nel momento in cui il modello di machine learning viene addestrato mediante dati di training troppo accurati.
In questo caso, il modello risulta utile solo per l’analisi dei dati contenuti nel set di addestramento. Il modello di machine learning non saprà adattarsi a nuovi set di dati, non risultando più funzionale ed efficace.
Quando il modello non riesce a mettere in relazione i dati di input con quelli di output, si verifica un altro tipo di errore: l’underfitting. Questo fenomeno è frequente nei casi in cui i modelli non vengono addestrati per un periodo di tempo adeguato. Il modello non può quindi apprendere e fare esperienza di un numero sufficiente di dati.
L’algoritmo di apprendimento presenta errori di bias elevati in caso di underfitting, offrendo un risultato impreciso sia in caso di dati di training che per i set successivi di analisi.
Dall’altra parte, il modello con overfitting può garantire un risultato accurato sui dati di training, ma non sui dati successivi di set. Addestrando adeguatamente il modello è possibile ridurre la percentuale di errori di bias, ma bisogna prestare attenzione a trovare il giusto compromesso tra underfitting e overfitting.












