Cos’è un Esempio Pratico di Overfitting? Uno Scenario Numerico con Assunzioni
Risposta diretta
Un esempio pratico di overfitting mostra come un modello possa apparire accurato sui dati su cui è stato addestrato, pur performando male su nuovi dati. L’overfitting non è garantito; è un rischio che aumenta quando un modello diventa più complesso rispetto alla quantità e alla variabilità dei dati disponibili.
Meccanismo o definizione
L’overfitting significa che il processo di apprendimento adatta le peculiarità nel dataset di addestramento — rumore casuale, anomalie o correlazioni accidentali — piuttosto che imparare relazioni stabili che valgono anche per dati futuri.
Un modo semplice per pensarci:
- Adattamento di addestramento (in-sample): quanto bene il modello riproduce i dati storici visti durante l’addestramento.
- Adattamento di test (out-of-sample): quanto bene lo stesso modello fisso riproduce nuovi dati non usati per l’addestramento.
Se l’adattamento di addestramento migliora all’aumentare della complessità del modello, ma l’adattamento di test rimane invariato o peggiora, questo andamento è indicativo di overfitting.
Evidenza o esempio (con ogni assunzione)
Considera una situazione in cui devi prevedere un valore obiettivo y da un input x usando un dataset molto piccolo.
Assunzioni
- Abbiamo 4 osservazioni etichettate per l’addestramento: (x, y): (1,2), (2,4), (3,6), (4,8).
- Confronteremo due modelli:
- Modello A: una retta forzata a passare per l’origine, y = m x.
- Modello B: un polinomio di grado 3 che corrisponde esattamente a tutti e 4 i punti di addestramento.
- Definiamo l’errore come errore quadratico medio (MSE) su un set di test separato.
- Assumiamo che i punti di test siano: (x, y): (5,10) e (6,12).
- Assumiamo che il Modello B mantenga invariata la sua forma polinomiale stimata quando valutato sui punti di test.
- Non aggiungiamo costi di transazione, slippage o vincoli di esecuzione (per mantenere l’esempio puramente matematico).
Passo 1: Addestramento del Modello A (lineare passante per l’origine)
I dati di addestramento seguono esattamente y = 2x, quindi il miglior valore di m per il Modello A è m = 2.
- Errore di addestramento per il Modello A: 0 MSE.
Sul set di test:
- Per x=5, y previsto = 2·5 = 10 (corrisponde al reale)
- Per x=6, y previsto = 2·6 = 12 (corrisponde al reale) Quindi l’errore di test per il Modello A è anch’esso 0 MSE.
Passo 2: Addestramento del Modello B (polinomio di grado 3 che corrisponde esattamente ai dati di addestramento)
Poiché il Modello B è sufficientemente flessibile, può corrispondere perfettamente ai 4 punti di addestramento, quindi:
- Errore di addestramento per il Modello B: 0 MSE.
Tuttavia, questo modello non “conosce” la regola sottostante. Con soli 4 punti di addestramento, esistono infiniti comportamenti al di fuori di quei punti; molti adattamenti polinomiali di grado 3 corrisponderanno ai dati di addestramento ma differiranno sui punti di test. In questo scenario pratico, assumiamo che il polinomio di grado 3 appreso implichi le seguenti previsioni sul set di test:
- x=5 → y previsto = 9
- x=6 → y previsto = 13 (Questi valori sono coerenti con l’idea che una maggiore flessibilità possa distorcere l’estrapolazione.)
Allora l’MSE di test per il Modello B è:
- Errori: (9−10) = −1 e (13−12) = +1
- Errori al quadrato: 1 e 1
- MSE = (1+1)/2 = 1
Cosa mostra questo
- Entrambi i modelli hanno errore di addestramento zero.
- Il Modello A si generalizza in questo scenario.
- Il Modello B può generalizzare male anche con errore di addestramento zero.
La lezione concettuale è il motivo per cui l’overfitting è plausibile: un modello più complesso può corrispondere esattamente ai modelli nei dati di addestramento, ma ciò non garantisce che gli stessi modelli esistano nei dati futuri.
Limitazioni e rischi
- Nessuna garanzia dall’adattamento storico: un adattamento perfetto sui dati di addestramento non implica performance future. La relazione potrebbe essere accidentale o specifica di un regime.
- Dataset piccoli amplificano l’overfitting: con meno punti dati, molte funzioni complesse diverse possono adattare i dati di addestramento pur divergendo altrove.
- Rischio di data leakage: se informazioni dal periodo di test influenzano accidentalmente l’addestramento (anche indirettamente), i risultati di test possono essere troppo ottimistici.
- Cambiamenti di regime e rumore: se il processo generatore dei dati cambia, la relazione “stabile” potrebbe scomparire.
- Le scelte di valutazione contano: diverse suddivisioni train/test, metriche e definizioni di errore possono cambiare il modo in cui si osserva l’overfitting.
Verifica o prossima domanda
Per verificare in modo indipendente se si sta verificando un overfitting, confronta gli errori in-sample e out-of-sample controllando la complessità:
- Parti da una classe di modelli più semplice.
- Aumenta gradualmente la flessibilità.
- Osserva se l’errore di addestramento diminuisce ma l’errore di test aumenta.
Una prossima domanda pratica è: Quanto sono sensibili i risultati alla specifica suddivisione train/test e alla metrica di valutazione?