Sei sulla pagina 1di 1

Se ricordi, nell'ultimo modulo, abbiamo discusso della regressione polinomiale.

In
questa sezione, discuteremo come scegliere il miglior ordine polinomiale e problemi
che sorgono quando si seleziona il polinomio ordine sbagliato. Considerate la
seguente funzione, assumiamo che i punti di allenamento provengano da una funzione
polinomiale più qualche rumore. L' obiettivo della selezione del modello è quello
di determinare l'ordine del polinomio per fornire la migliore stima della funzione
y (x). Se cerchiamo di adattare la funzione con una funzione lineare, la linea non
è abbastanza complessa per adattarsi ai dati. Di conseguenza, ci sono molti errori.
Questo è chiamato underfitting, dove il modello è troppo semplice per adattarsi ai
dati. Se aumentiamo l'ordine del polinomio, il modello si adatta meglio, ma il
modello non è ancora abbastanza flessibile e mostra underfitting. Questo è un
esempio del polinomio dell'ottavo ordine usato per adattarsi ai dati. Vediamo che
il modello fa bene a adattare i dati e stimare la funzione anche nei punti di
flessione. Aumentandolo a un polinomio di 16° ordine, il modello fa molto bene a
tracciare il punto di allenamento ma si comporta male a stimare la funzione. Ciò è
particolarmente evidente quando ci sono pochi dati di allenamento. La funzione
stimata oscilla non tracciando la funzione. Questo è chiamato overfitting, dove il
modello è troppo flessibile e si adatta al rumore piuttosto che alla funzione.
Diamo un'occhiata a una trama dell'errore quadrato medio per il set di allenamento
e test di diversi polinomi di ordine. L' asse orizzontale rappresenta l'ordine del
polinomio. L' asse verticale è l'errore quadrato medio. L' errore di allenamento
diminuisce con l'ordine del polinomio. L' errore di test è un mezzo migliore per
stimare l'errore di un polinomio. L' errore diminuisce fino a quando non viene
determinato l'ordine migliore del polinomio. Quindi l'errore inizia ad aumentare.
Selezioniamo l'ordine che riduce al minimo l'errore di test. In questo caso, erano
otto. Qualsiasi cosa a sinistra sarebbe considerata inadeguata. Qualsiasi cosa
sulla destra sta esagerando. Se selezioniamo l'ordine migliore del polinomio,
avremo ancora alcuni errori. Se si ricorda l'espressione originale per i punti di
allenamento, si vede un termine rumore. Questo termine è uno dei motivi per
l'errore. Questo perché il rumore è casuale, e non possiamo prevederlo. Questo è
talvolta indicato come un errore irriducibile. Ci sono anche altre fonti di errori.
Ad esempio, la nostra ipotesi polinomiale potrebbe essere sbagliata. I nostri punti
campione potrebbero provenire da una funzione diversa. Ad esempio, in questo
grafico, i dati vengono generati da un'onda sinusoidale. La funzione polinomiale
non fa un buon lavoro a montare l'onda sinusoidale. Per i dati reali, il modello
potrebbe essere troppo difficile da adattare o potremmo non avere il tipo corretto
di dati per stimare la funzione. Proviamo diversi polinomi di ordine sui dati reali
usando cavalli. I punti rossi rappresentano i dati di allenamento. I punti verdi
rappresentano i dati del test. Se usiamo solo la media dei dati, il nostro modello
non funziona bene. Una funzione lineare si adatta meglio ai dati. Un modello di
secondo ordine è simile alla funzione lineare. Anche una funzione di terzo ordine
sembra aumentare, come i due ordini precedenti. Qui, vediamo un polinomio di quarto
ordine. A circa 200 cavalli, il prezzo previsto diminuisce improvvisamente. Sembra
sbagliato. Usiamo R-squared per vedere se la nostra ipotesi è corretta. Di seguito
è riportato un grafico del valore R al quadrato. L' asse orizzontale rappresenta i
modelli polinomiali ordine. Più l'R al quadrato è vicino a uno più accurato è il
modello. Qui, vediamo che la R al quadrato è ottimale quando l'ordine del polinomio
è tre. L' R-quadrato diminuisce drasticamente quando l'ordine viene aumentato a
quattro, convalidando la nostra ipotesi iniziale. Siamo in grado di calcolare
diversi valori R al quadrato come segue. In primo luogo, creiamo una lista vuota
per memorizzare i valori. Creiamo una lista contenente diversi ordini polinomiali.
Quindi iteriamo attraverso l'elenco utilizzando un ciclo. Creiamo un oggetto
feature polinomiale con l'ordine del polinomio come parametro. Trasformiamo i dati
di allenamento e test in un polinomio utilizzando il metodo di trasformazione fit.
Adattiamo il modello di regressione utilizzando i dati di trasformazione. Quindi
calcoliamo l'R-quadrato utilizzando i dati di test e lo memorizziamo nell'array.

Potrebbero piacerti anche