Lezione 12Laboratorio di regolarizzazione
In questa pagina 3
Settimana: 4 · Fonte: slide del corso Machine Learning, Ingegneria dell'Automazione UniPD (lezione 12)
Argomenti trattati
- Laboratorio LAB3: ridge e LASSO con scikit-learn, percorso dei coefficienti al variare di lambda.
- Discesa del gradiente per il LASSO implementata a mano, scelta del passo.
- Cross-validation annidata sul dataset prostate per scegliere lambda e stimare l'errore.
- Regressione quantile con la funzione pinball minimizzata col gradiente.
Teoria
- 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 →
- LASSO e discesa del gradienteIl LASSO è la regressione regolarizzata con penalità $L_1$: minimizza $\sum_i(y_i-x_i^T\beta)^2+\lambda\sum_{j\ge1}|\beta_j|$. A differenza della ridge, porta alcuni coefficienti esattamente a zero (soluzione sparsa, selezione delle feature): geometricamente le curve di livello dell'errore toccano il vincolo $\sum|\beta_j|\le s$ (un rombo) in uno spigolo. Non ha formula chiusa, quindi si minimizza con la discesa del gradiente $W\leftarrow W-\eta,\nabla J(W)$, usando il subgradiente $\operatorname{sign}(\beta_j)$ per il valore assoluto (nel punto 0 qualunque valore in $[-1,1]$). Il passo $\eta$ è critico: per l'errore quadratico converge se $\eta<1/\mu_{\max}(X^TX)$; si può usare $\eta_t=\eta_0/(1+\gamma t)$. L'Elastic Net combina le penalità $L_1$ e $L_2$ con $\lambda_1=\alpha\lambda$, $\lambda_2=(1-\alpha)\lambda$.LASSO e discesa del gradiente →
Esercizi
- Esercizio - Discesa del gradiente per il LASSO e scelta del passo
- Esercizio - Cross-validation annidata per il LASSO sul dataset prostate
- Esercizio - Regressione quantile con funzione pinball e discesa del gradiente
Lezione precedente: Lezione 11 · Classificazione e k-nearest neighbors Lezione successiva: Lezione 13 · Regressione logistica, softmax e metriche di classificazione