Lezione 09 - Laboratorio di regressione lineare e ridge
In questa pagina 3
Settimana: 3 · Fonte: slide del corso Machine Learning, Ingegneria dell'Automazione UniPD (lezione 9)
Argomenti trattati
- Laboratorio LAB2: regressione lineare con NumPy e con scikit-learn, valutazione con MSE e .
- Aumento polinomiale delle feature e andamento di training e test al crescere del grado.
- Ridge regression e scelta di lambda con K-fold e Monte Carlo sul dataset Advertising.
Teoria
- Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →
- Overfitting, ridge regression e cross-validationUna buona prestazione sul training non basta: serve stimare quella su dati nuovi. La cross-validation (K-fold: $k$ parti, ciascuna a turno come test, errore medio; Monte Carlo: $k$ divisioni casuali con quota di test $q$; leave-one-out se $k=n$) evita di dipendere da una sola divisione casuale. L'errore atteso si scompone in $\text{bias}^2+\text{varianza}+\sigma^2$: i modelli semplici fanno underfitting (bias alto), quelli complessi overfitting (varianza alta). La regolarizzazione aggiunge alla perdita una penalità: la ridge regression minimizza $|y-X\beta|^2+\lambda\sum_{j\ge1}\beta_j^2$ e ha soluzione $\beta=(X^TX+\lambda\tilde I)^{-1}X^Ty$ (l'intercetta non si penalizza, le feature si standardizzano): riduce i coefficienti, rende l'inversa stabile con feature collineari, e $\lambda$ è un iperparametro scelto con la validazione (cross-validation annidata per non contaminare il test).Overfitting, ridge regression e cross-validation →
Esercizi
- Esercizio - OLS, R quadro e aumento polinomiale delle feature
- Esercizio - Ridge regression con standardizzazione e coefficienti in unità originali
- Esercizio - Cross-validation k-fold e Monte Carlo per OLS e ridge sul dataset Advertising
Lezione precedente: Lezione 8 · Ridge regression, overfitting e cross-validation Lezione successiva: Lezione 10 · LASSO e discesa del gradiente