TRAINING MODELS Flashcards
Regressione lineare
Il modello più semplice è il modello lineare che usa la regressione lineare per effettuare una previsione, semplicemente calcola la somma ponderata delle caratteristiche di input, più una costante chiamata bias con l’obiettivo di minimizzare la funzione di costo. È molto veloce se non abbiamo molte caratteristiche, al contrario se abbiamo molte caratteristiche possiamo usare il gradient descent
Gradient descent
L’idea generale del gradient descent è di modificare parametri in modo iterativo al fine di ridurre la funzione di costo. Misura il gradiente locale della funzione di errore rispetto ai parametri del modello e si muove in direzione della pendenza discendente. Una volta che la pendenza è zero, ha raggiunto il minimo. Inizialmente i pesi del modello sono settati in modo casuale. Il gradiente è la direzione della funzione di costo. Si calcola il gradiente e ci si muove dove la funzione di costo diminuisce più rapidamente. Si aggiornano i parametri del modello muovendosi in direzione opposta del gradiente, moltiplicando il gradiente per il learning rate. Lo si fa in modo iterativo fino a raggiungere un criterio di convergenza. Se il learning rate è troppo piccolo allora ci vorranno molti passi per convergere al contrario se sarà troppo alto non riuscirà a trovare una buona soluzione. La funzione di costo MSE è convessa per un modello di regressione lineare, ciò implica che non ci sono minimi locali, solo uno globale.
Regressione polinomiale
Si può utilizzare un modello lineare anche se i dati non sono lineari. Si può aggiungere potenze di ciascuna funzione come nuove features. Regressione polinomiale. Se abbiamo dati basati su un’equazione quadratica una linea retta non si adatterà ai dati correttamente. Se usiamo una regressione polinomiale di grado alto il modello si adatterà ai dati molto meglio che alla semplice regressione lineare però potrebbe causare overfitting.
Per ottenere un valore ottimale per il grado del polinomio possiamo usare la cross-validation oppure studiare le curve di apprendimento, grafico delle prestazioni del modello sul set di allenamento e sul set di validazione in funzione del training set. Se all’inizio il modello si adatta bene alle prime istanze e dopo che si aggiungono altre no vuol dire che siamo in un caso di underfitting, l’errore sale fino a raggiungere un punto dove aggiungendo nuove istanze il modello non migliora, è necessario un modello più complesso.
Errore di generalizzazione di un modello
L’errore di generalizzazione di un modello si può esprimere come la somma di 3 errori diversi:
1. Bias: errore di ipotesi, alto valore significa underfitting
2. Varianza: eccessiva sensibilità del modello alle variazioni nei dati di training.
3. Irreducibile error: rumore nei dati
Aumento della complessità aumenta la varianza e riduce il bias. Ridurre la complessità aumenta il bias e riduce la varianza. TRADEOFF
Ridge regression
È una versione regolarizzata della regressione lineare. Alla funzione di costo durante il training viene aggiunto un termine di regressione , somma dei quadrati dei coefficienti del modello, penalizza i pesi del modello e li mantiene più piccoli possibile per evitare l’overfitting.
L’iperparamentro alpha controlla la regolarizzazione:
se alpha = 0 allora diventa regressione lineare
se alpha molto grande tutti i pesi sono vicino allo zero ed avremmo una linea piatta che attraversa la media dei dati.
Lasso regression
Un’altra versione regolarizzata della regressione lineare. Aggiunge un termine di regolarizzazione alla funzione di costo, la somma dei valori assoluti dei coefficienti del modello. Tende a mantenere solo le caratteristiche più importanti.
Può portare ad underfitting
Elastic net
È una via di mezzo tra ridge e lasso.
In base al valore del parametro r si può scegliere se usare ridge o lasso.
Lasso o elastic net quando solo alcune funzionalità sono utili.
Elastic net è preferita a lasso, poiché lasso si può comportare in modo irregoalre quando più caratteristiche sono correlate.
Early stopping
Un modo per regolarizzare l’apprendimento di algoritmi come gradient descent è interrompere l’allenamento non appena l’errore di convalida raggiunge il minimo.
Dopo un po’ l’errore smette di diminuire e inizia a salire ciò indica che il modello ha iniziato un overfitting.
Logistic regression
È comunemente usata per stimare la probabilità che un’istanza appartenga a una classe particolare. Se la probabilità stimata è superiore al 50% allora il modello prevede che l’istanza appartiene a quella classe. Lo rende un classificatore binario. Calcola una somma ponderata delle caratteristiche di input più un termine di bias. È una funzione sigmoidale che restituisce un valore compreso tra 0 e 1.
La funzione di costo è convessa.
Softmax regression
È una generalizzazione del modello di regressione logistica per supportare più classi.
Quando viene fornita un’istanza x, il modello calcola un punteggio per ogni classe e poi stima la probabilità che l’istanza appartenga ad una classe attraverso la funzione softmax. La funzione di costo è la cross entropy che penalizza il modello quando stima una bassa probabilità per una classe target.