Cosa significa Overfitting e Underfitting
In ambito machine learning il significato di overfitting and underfitting è intrinsecamente collegato al concetto di “adeguato dimensionamento” della rete/modello.
La comprensione, infatti, di quale potrebbe essere il modello più adatto per rappresentare il sistema reale è importante per capire le eventuali cause che potrebbero generare scarsa accuratezza del modello stesso. Un approccio per determinare se un modello predittivo è soggetto ad underfitting o overfitting dei dati di addestramento è quello di esaminare l’errore di previsione sui dati di addestramento e sui dati di test.
Si parla generalmente di underfitting quando il modello è dimensionato in modo tale che il risultato delle previsioni (quindi l’errore) sia nella fase di test, sia della fase di training restituisce errori molto elevati; Si parla di overfitting quando il modello restituisce risultati ottimali in fase di training mentre restituisce risultati poco ottimali in fase di test. Si parla di modello well-fitted, quindi ben dimensionato, quando lo stesso restituisce risultati buoni in fase di test e di training.
Quindi riassumendo, il modello è soggetto a underfitting quando ha prestazioni scarse sui dati di addestramento in quanto non è in grado di ridurre l’errore tra gli esempi di input e i valori di uscita.
Il modello è soggetto a overfitting quando funziona bene con i dati di addestramento, ma non con i dati di test, perché il modello “memorizza” i dati che ha osservato, ma non è in grado di generalizzare il modello con dati non osservati.
Proviamo a comprendere meglio il significato partendo dal seguente esempio: un modello per il calcolo del prezzo di un immobile in base alla sua superficie.
Come abbiamo avuto modo di vedere in un altro articolo, la regressione lineare è uno strumento che non sempre risponde efficacemente alle diverse casistiche, in quanto la complessità dello spazio di dispersione ( legato ai dati campione) può suggerire la necessità di utilizzare funzioni ben più complesse di una retta, d’altro canto, come anticipato, bisogna stare ben attendi a scegliere un modello molto complesso con la speranza di annullare l’errore di stima, perché bisogna ricordarsi che curve molte complesse possono si approssimare adeguatamente i dati conosciuti ma potrebbero non essere in grado di predire adeguatamente risultati non conosciuti.
Cerchiamo di comprendere questo aspetto facendo un discorso qualitativo. Per per comprendere le problematiche legate alla complessità del modello e quindi ai problemi di overfitting e di underfitting, osserviamo i grafici seguenti.
Ad un prima occhiata si potrebbe cadere nell’errore di scegliere la curva più complessa, in quanto apparentemente sembrerebbe quella migliore perché in grado di ricalcare senza errori lo spazio dei punti campione, mentre la retta (tracciata in rosso) e la curva del secondo ordine (tratteggiata in verde) potrebbero essere scartate perché introducono delle approssimazioni rispetto ai punti rappresentati nello spazio campione. Se si osservano però le 3 curve si può intuire che la retta è probabilmente il modello in grado di predire meglio i dati non noti. La curva del secondo ordine, infatti, potrebbe introdurre all’aumentare della superficie un errore sul prezzo in rialzo, quando sappiamo che normalmente il prezzo al mq di un immobile, tende a non crescere proporzionalmente all’aumentare della superficie anzi tende a ridursi, mentre diventa difficile dare un significato ai risultati oscillanti previsti dalla curva più complessa. In definitiva il modello più semplice potrebbe di fatto essere quello più adeguato. In tal senso potrebbe venirci incontro anche la legge del rasoio di Occam, che suggerisce di “eliminare con tagli di lama” tutte le strade più complicate e imboccare quella più immediata e plausibile, scegliendo la via più logica che, molto spesso, è anche quella più efficace e realista.
In generale, dunque, per la valutazione del modello dobbiamo tenere in considerazione i seguenti aspetti :
Modello under-fitted
Se si sceglie un modello troppo semplice potremmo ricadere inevitabilmente in un sistema che non sarà in grado di capire appieno la realtà e farà predizioni sbagliate, perché evidentemente il modello non è stato in grado di imparare adeguatamente il sistema osservato.
Modello over-fitted
Se si sceglie un modello molto complesso, il rischio è che per tentare di trovare l’approssimazione migliore rispetto al sistema osservato, si ricadrà nel caso in cui il sistema restituirà dati non veritieri pur essendo riuscito a trovare un modello che approssima il sistema osservato.
Conclusioni
In qualità di data Scientist il nostro compito sarà quello di identificare il giusto livello di complessità che consentirà alla macchina di imparare in modo adeguato implementando un modello di validità generale, che può funzionare non solo sui dati utilizzati per l’apprendimento ma anche sui sui nuovi.
Il nostro obiettivo, pertanto, sarà quello di scegliere un modello well-fitted o well-trained ma ricordate che la scelta di cosa fare dipenderà da caso in caso; in generale :
- Se il modello dimostra di soffrire in fase di di addestramento potrebbe essere dovuto al fatto che il modello è troppo semplice per descrivere correttamente il target. È possibile in tal caso migliorare le prestazioni aumentando la complessità del modello; nel caso di reti neurali ad esempio può essere aumentato il numero dei neuroni dei livelli hidden.
- Se il modello effettua l’overfitting dei dati di addestramento, è opportuno intervenire per ridurre la complessità del modello e nel contempo aumentare la quantità di esempi di addestramento ed aumentare il numero di epoche di addestramento.
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.
Comments