Overfitting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Fix dimensionamento immagini (v. richiesta)
fix
 
(29 versioni intermedie di 21 utenti non mostrate)
Riga 1:
{{F|statistica|novembre 2016}}
{{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]].]]
[[ImmagineFile:Overfitting svg.svg|thumb|upright=1.4|Overfitting. 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''. SeUna l'erroresituazione diin validazionecui il secondo aumenta mentre l'erroreil sui dati di trainingprimo diminuisce, ciòè indicaindice chedella siamo inpossibile presenza di un possibile caso di ''overfitting''.]]
 
In [[statistica]] e in [[informatica]], si parla di '''''overfitting''''' (o '''sovradattamento''' (oppure '''adattamento eccessivo''') quando un [[modello statistico]] molto complesso si adatta ai dati osservati (il [[Campionamento statistico| campione]]) usandoperché ha un numero eccessivo di parametri. Un modello assurdo e sbagliato può adattarsi perfettamente se è abbastanza complesso rispetto allaal quantitànumero di dati disponibili. Spesso si sostiene che l'''overfitting'' sia una violazione della legge del [[Rasoio di Occam]]osservazioni.
 
Un modello assurdo e sbagliato può adattarsi perfettamente se è abbastanza complesso rispetto alla quantità di dati disponibili.
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 esempi (il ''training set'' appunto), ad esempio situazioni tipo di cui è già noto il risultato che interessa prevedere (''output''). Si assume che l'algoritmo di apprendimento (il ''learner'') raggiungerà uno stato in cui sarà in grado di predire gli output per tutti gli altri esempi che ancora non ha visionato, cioè si assume che il modello di apprendimento sarà in grado di ''generalizzare''<!-- [[inductive bias]] da tradurre (limite strutturale? limite induttivo?) o lasciare in inglese? Vedi però [[bias (distorsione)]] -->. 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 nel resto dei casi; perciò, in presenza di ''overfitting'', le prestazioni (cioè la capacità di adattarsi/prevedere) sui dati di allenamento aumenteranno, mentre le prestazioni sui dati non visionati saranno peggiori.<!-- inserire grafico overfitting -->
 
Si sostiene che l{{'}}''overfitting'' sia una violazione del principio del [[rasoio di Occam]].
Sia nella statistica che nel machine learning, per evitare l'''overfitting'', è necessario attuare particolari tecniche, come la [[cross-validation]] e l'[[Arresto anticipato (statistica)|arresto anticipato]], che indichino quando un ulteriore allenamento non porterebbe ad una migliore generalizzazione. Nel [[treatment learning]] si evita l' ''overfitting'' utilizzando il valore di supporto migliore e minimale.
{{Portale|matematica}}
 
== 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 chesia nelnell'[[apprendimento machine learningautomatico]], per prevenire ed evitare l{{'}}''overfitting'', è necessario attuaremettere in atto particolari tecnicheaccorgimenti tecnici, come la [[cross-validationconvalida incrociata]] e l'[[Arresto anticipato (statistica)|arresto anticipato]], che indichinoindicano quando un ulteriore allenamento non porterebbe ada una migliore generalizzazione. Nel [[treatment learning]] si evita l' ''overfitting'' utilizzando il valore di supporto migliore e minimale.
 
Nel [[treatment learning]] si evita l'overfitting utilizzando il valore di supporto migliore e minimale.
 
== Altri progetti ==
{{interprogetto}}
 
{{Portale|matematica|informatica|statistica}}
 
[[Categoria:Visione artificiale]]
[[Categoria:Elaborazione digitale delle immagini]]
[[Categoria:Teoria dell'informazione]]
[[Categoria:Intelligenza artificiale]]
[[Categoria:Analisi dei dati]]
[[Categoria:Analisi di regressione]]