Overfitting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
fix
 
(Una versione intermedia di un altro utente non mostrate)
Riga 2:
{{S|statistica}}
[[File:Overfitted Data.png|thumb|upright=1.4|Una serie di dati all'incirca lineare (ma affetta da rumore), approssimabile sia da una [[funzione lineare]] sia da una [[interpolazione polinomiale]]. Nonostante quella polinomiale si adatti in modo perfetto ai dati, ci si aspetta che la versione lineare debba rappresentare una migliore generalizzazione: quindi, in un'estrapolazione al di fuori dei dati conosciuti la funzione lineare fornirebbe migliori [[Previsione|predizioni]].]]
 
[[File:Overfitting svg.svg|thumb|upright=1.4|La curva blu mostra l'andamento dell'errore nel classificare i dati di ''training'', mentre la curva rossa mostra l'errore nel classificare i dati di ''test'' o ''validazione''. Una situazione in cui il secondo aumenta mentre il primo diminuisce è indice della possibile presenza di un caso di ''overfitting''.]]
 
Line 9 ⟶ 8:
Un modello assurdo e sbagliato può adattarsi perfettamente se è abbastanza complesso rispetto alla quantità di dati disponibili.
 
Si sostiene che l{{'}}''overfitting'' sia una violazione del principio del [[rasoio di Occam]].
 
== Apprendimento automatico e ''data mining'' ==
Il concetto di ''overfitting'' è molto importante anche nell'[[apprendimento automatico]] e nel [[data mining]]. Di solito un [[algoritmo]] di apprendimento viene ''allenato'' usando un certo insieme di dati conosciuti, detto ''[[training set]]''. Un buon algoritmo di apprendimento impara la distribuzione dei dati di questo insieme ma è in grado di adattarsi bene anche a dati nuovi (in gergo, si dice che l'algoritmo generalizza).
 
Tuttavia, soprattutto nei casi in cui l'apprendimento è stato effettuato troppo a lungo o dove c'era uno scarso numero di esempi di allenamento, il modello potrebbe adattarsi a caratteristiche che sono specifiche solo del ''training set'', ma che non hanno riscontro nella distribuzione tipica del resto dei casi. Perciò il modello impara le peculiarità del training set e non riesce ad adattarsi a dati nuovi. Si ha quindi ''overfitting'' quando il miglioramento delle prestazioni del modello (cioè la capacità di adattarsi/prevedere) sui dati di allenamento non implica un miglioramento delle prestazioni sui dati nuovi.
 
== Contromisure ==
Sia nella statistica sia nell'[[apprendimento automatico]], per prevenire ed evitare l<nowiki>{{'</nowiki>}}''overfitting'' è necessario mettere in atto particolari accorgimenti tecnici, come la [[convalida incrociata]] e l'[[Arresto anticipato (statistica)|arresto anticipato]], che indicano quando un ulteriore allenamento non porterebbe a una migliore generalizzazione.
 
Nel [[treatment learning]] si evita l'overfitting utilizzando il valore di supporto migliore e minimale.