Overfitting, ridge regression e cross-validation
In questa pagina 7
Nella 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 → si è visto che l'errore sul training peggiora la stima della qualità e che un polinomio di grado alto passa per tutti i punti senza generalizzare. Questa nota (Lezione 8 · Ridge regression, overfitting e cross-validation) spiega come misurare l'overfitting (cross-validation, bias e varianza) e come limitarlo (regolarizzazione, in particolare la ridge). La variante con penalità a valore assoluto è in 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 →; il laboratorio è Lezione 9 · Laboratorio di regressione lineare e ridge con Esercizio - OLS, R quadro e aumento polinomiale delle feature, Esercizio - Ridge regression con standardizzazione e coefficienti in unità originali e Esercizio - Cross-validation k-fold e Monte Carlo per OLS e ridge sul dataset Advertising.
Perché non basta il training
Ogni modello visto ha parametri da addestrare (per esempio i della regressione lineare) e per addestrarli servono due ingredienti: dati e una procedura di addestramento con una funzione di costo. Per l'OLS l'addestramento è semplice (formula chiusa). Ma l'addestramento non basta: bisogna testare il modello per
- capire le sue prestazioni reali: generalizza? Quali prestazioni aspettarsi nel mondo reale?
- scegliere, tra le alternative di una pipeline, quella migliore.
Si divide il dataset in una parte di training e una di test (per esempio e , a caso). Ma la scelta casuale è «sicura»? Con dataset piccoli il risultato può cambiare molto a seconda di quali punti finiscono nel test.
Cross-validation
Nella modellazione i dati si dividono in training e validation (costruzione del modello) e test (stima finale della prestazione). Per non dipendere da una singola divisione si ripete la valutazione più volte e si media: è la cross-validation (CV).
K-fold
Definizione (K-fold cross-validation). Si mescolano i dati e si dividono in parti (fold) di uguale dimensione. Per : si usa il fold come insieme di valutazione e i restanti per addestrare il modello; si calcola la metrica (per esempio l'MSE) sul fold . La stima finale è la media .
Ogni dato è usato esattamente una volta per la valutazione e volte per l'addestramento. L'unica scelta di progetto è il numero di fold . Nel caso estremo si parla di leave-one-out (si lascia fuori un solo dato per volta).
Esempio. Con dati e si formano 5 fold da 4 dati (dati 1-4, 5-8, 9-12, 13-16, 17-20 dopo il mescolamento): a ogni giro si addestra su 16 dati e si valuta su 4. Per il polinomio quadratico dell'esempio del laboratorio gli MSE dei 5 fold sono e la media vale .
Monte Carlo cross-validation (MCCV)
Definizione (MCCV). Si ripete volte: divisione casuale del dataset in training e test, con una frazione fissata di dati nel test; addestramento; calcolo di . Si media: . Le scelte di progetto sono due: il numero di ripetizioni e la quota di test .
Il nome viene dal metodo Monte Carlo, che stima una quantità ripetendo un campionamento casuale e facendo la media (Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →): nel laboratorio lo si mostra stimando come (frazione di punti casuali di un quadrato che cadono nel cerchio inscritto), con errore che scende come . Qui il «campione» è la divisione casuale dei dati, e mediare più divisioni riduce la varianza della stima.
Confronto
| K-fold | MCCV | |
|---|---|---|
| Pro | stima più stabile (ogni dato nel test una volta); più efficiente (servono meno iterazioni); più deterministica (con fold fissati, ripetibile) | più flessibile (dimensioni di training e test arbitrarie, utile se la distribuzione cambia nel tempo); adatta a piccoli dataset (test più grande) |
| Contro | dimensioni di training e test fissate da | maggiore varianza della stima (per la casualità) e costo più alto; un dato può non entrare mai nel test |
Guardare solo la media a volte basta, ma è meglio considerare la distribuzione degli errori sui fold (ad esempio con un box plot, Correlazione e visualizzazione dei datiLa correlazione di Pearson $r=\sum(X_i-\bar X)(Y_i-\bar Y)/\big(\sqrt{\sum(X_i-\bar X)^2}\sqrt{\sum(Y_i-\bar Y)^2}\big)\in[-1,1]$ misura la relazione lineare tra due variabili (covarianza divisa per le deviazioni standard); correlazione non implica causalità. Serve a capire quali variabili contano per il target e a eliminare quelle quasi duplicate (|r| molto alto). Gli indicatori di sintesi non bastano (quartetto di Anscombe, Datasaurus): vanno affiancati ai grafici: istogramma, KDE, box plot, violin plot, heatmap di correlazione, scatter plot e matrice di scatter plot.Correlazione e visualizzazione dei dati →).
Esempio (dalle slide, California Housing). K-fold con e MCCV con , , confrontando un modello a una feature (MedInc) con uno a quattro feature: con più feature la media dell'MSE è più bassa (meno bias) ma il box plot è più largo (più varianza).
Bias e varianza
Gli errori di un modello sono di tipi diversi.
Definizione (bias). L'incapacità di un metodo di cogliere la vera relazione tra ingresso e uscita. Un modello troppo semplice (la retta quando i dati seguono una parabola) ha bias alto e non la catturerà mai, per quanti dati si abbiano.
Definizione (varianza). La sensibilità del modello ai dati di addestramento: se, cambiando il campione di training, le previsioni cambiano molto, la varianza è alta. Un modello molto flessibile (polinomio con 20 coefficienti) ha bias basso sul training ma varianza alta.
Con la cross-validation i due difetti si distinguono: il polinomio di grado alto è ottimo sul training (basso bias) ma pessimo sui fold di valutazione, e le prestazioni cambiano molto da fold a fold (varianza alta); la retta ha errori alti ma simili in tutti i fold (varianza bassa, bias alto).
Teorema (decomposizione bias-varianza). Sia con rumore , , indipendente dal training. Per un punto fissato e un modello addestrato su un campione casuale:
Dimostrazione, passo per passo. (I valori attesi sono quelli di Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, la varianza è in Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →.)
- Si sostituisce e si sviluppa il quadrato: .
- Il termine misto è nullo: è indipendente da e , quindi . Inoltre .
- Resta . Si somma e si sottrae : . Elevando al quadrato: .
- Si prende il valore atteso. Il primo termine è una costante. Nel secondo, è una costante e , quindi si annulla. Il terzo è per definizione la varianza di . ∎
Esempio. Se per un punto , la media delle previsioni su molti campioni è con varianza e , l'errore quadratico atteso è .
Il rumore è irriducibile; bias e varianza si bilanciano nella complessità del modello:
- Underfitting (sotto-adattamento): modello troppo semplice, i dati non sono sfruttati («ha imparato troppo poco»), associato a bias alto;
- Overfitting (sovra-adattamento): modello troppo complesso che cattura il rumore invece degli andamenti veri, associato a varianza alta: non generalizza.
Grafico interattivo: Andamento qualitativo al crescere della complessità del modello: l'errore sul training scende sempre, quello su dati nuovi scende e poi risale (overfitting); il minimo (circa a 6) è il buon compromesso tra bias e varianza
Il punto fondamentale è che nessun modello è «ottimo» in sé: bisogna trovare l'equilibrio, e la cross-validation permette di farlo guardando dati non usati per addestrare.
Esempio (laboratorio, punti da ). Errore medio con 5-fold cross-validation (fold da 4 dati consecutivi) per polinomi OLS: grado 1 (underfitting: tutti i fold alti), grado 2 , grado 5 , grado 9 circa (un fold esplode: overfitting estremo). Con la ridge sul grado 9 e la media scende a .
Regolarizzazione
Definizione (regolarizzazione). Tecnica per prevenire l'overfitting aggiungendo alla funzione di costo un termine di penalità sulla complessità del modello: si minimizza dove misura la complessità e è il parametro di regolarizzazione, un iperparametro (un valore che si sceglie prima dell'addestramento e che non è appreso dai dati). Se non c'è regolarizzazione; per grande conta quasi solo la penalità.
L'idea è quella del rasoio di Occam («tra le spiegazioni dei fenomeni si preferisce la più semplice possibile»): a parità di adattamento ai dati, meglio i parametri piccoli. Dato un test (o una validazione), si sceglie il valore dell'iperparametro che dà il miglior compromesso tra complessità e accuratezza.
Ridge regression
Definizione (ridge regression, penalità ). Con (somma dei quadrati dei coefficienti, senza ) si minimizza
Perché non si penalizza l'intercetta. Si vogliono ridurre i pesi delle feature rispetto alla risposta per diminuire la complessità; l'intercetta non è il peso di una feature: è il valore medio della risposta quando tutte le feature sono zero. Penalizzare spingerebbe le previsioni verso zero, cosa sbagliata in generale.
Standardizzazione necessaria. La penalità tratta tutti i allo stesso modo: se le feature hanno scale diverse, una feature con valori enormi ha coefficienti minuscoli e viene penalizzata poco, e una con valori piccoli ha coefficienti grandi e viene penalizzata molto, per un'unica ragione di unità di misura. Perciò le feature si standardizzano (media , deviazione standard , calcolate sul training, Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning →).
Derivazione della soluzione in forma chiusa. Si prendono le feature standardizzate (colonne a media zero) e si mette in la colonna di uni come primo elemento. Si indica con la matrice identità con zero nella posizione (così la penalità non tocca ):
- Si sviluppa il primo termine come per l'OLS: .
- Gradiente del termine di penalità: è una forma quadratica con matrice simmetrica , e la regola dà (Differenziabilità e gradientef è differenziabile in x0 se f(x) = f(x0) + ∇f(x0)·(x − x0) + o(‖x − x0‖): vicino a x0 il grafico si confonde con il piano tangente z = f(x0) + ∇f(x0)·(x − x0). Differenziabile ⇒ continua, derivabile e D_v f = ∇f·v; derivate parziali continue ⇒ differenziabile. Il gradiente indica la direzione di massima crescita (pendenza ‖∇f‖) ed è ortogonale alle curve di livello.Differenziabilità e gradiente →).
- Gradiente totale: .
- Lo si pone uguale a zero e si dividono i due membri per : .
- Si raccoglie : .
- Se la matrice tra parentesi è invertibile (lo è sempre per , vedi sotto):
(Con centrata e le feature standardizzate si può togliere l'intercetta, perché ; la formula diventa con identità completa. Nelle slide si indica semplicemente .)
Formula (ridge regression). . Per coincide con l'OLS; al crescere di i coefficienti si riducono (shrinkage) verso zero.
Esempio (una sola feature). Dati (centrata) e ( meno la media ): e . Con : (l'OLS). Con : ; con : ; con : ; per : . Il trace plot (coefficienti in funzione di ) mostra questa discesa.
Grafico interattivo: Trace plot nel caso di una feature: il coefficiente ridge 4/(5+λ) parte dal valore OLS 0,8 per λ = 0 e tende a 0 al crescere di λ (shrinkage)
Collinearità e stabilità. Quando le feature sono molto correlate, è mal condizionata: ha autovalori vicini a zero (Autovalori e autovettoriUn autovettore è un vettore non nullo che una funzione lineare manda in un suo multiplo; si trovano gli autovalori come radici del polinomio caratteristico det(A − λI) e gli autovettori come nucleo di A − λI. Matrici simili hanno gli stessi autovalori.Autovalori e autovettori →). Per una matrice simmetrica si può scrivere con ortogonale e diagonale degli autovalori (Teorema spettrale e forme quadraticheUna funzione lineare è simmetrica se f(v)·w = v·f(w); in una base ortonormale ha matrice simmetrica. Teorema spettrale: f è simmetrica se e solo se esiste una base ortonormale di autovettori, cioè A simmetrica ⇔ PᵀAP diagonale con P ortogonale. Applicato alle forme quadratiche, permette di scriverle come somma di quadrati con gli autovalori come coefficienti.Teorema spettrale e forme quadratiche →, DiagonalizzazioneUna matrice è diagonalizzabile se è simile a una diagonale, cioè se esiste una base di autovettori: allora A = S D S⁻¹ con gli autovettori nelle colonne di S e gli autovalori in D. Criterio: tutti gli autovalori nel campo e molteplicità geometrica uguale a quella algebrica. Le matrici simmetriche reali hanno autovalori reali.Diagonalizzazione →); l'inversa ha autovalori , enormi se : i coefficienti OLS variano moltissimo con piccoli cambiamenti dei dati (Matrice inversaL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa →). Aggiungendo (caso senza intercetta) si ha , con autovalori : la matrice è sempre invertibile e l'inversa ha autovalori al più . In più, nella base degli autovettori il coefficiente ridge è il coefficiente OLS moltiplicato per : le direzioni con piccola varianza ( piccolo) sono ridotte quasi a zero, quelle con grande varianza quasi non cambiano.
Esempio (feature quasi identiche). , , . Allora con determinante e autovalori e (quasi singolare). L'OLS dà . Se si cambia un solo valore di di (da a ), l'OLS diventa : i coefficienti si spostano di circa per una variazione minima. La ridge con dà prima e dopo: quasi identici. Nelle slide si ricorda lo stesso fenomeno con : coefficienti enormi e opposti che si compensano.
Un caso con variabili (laboratorio). Con il grado le feature sono quasi collineari. I coefficienti OLS (standardizzati) hanno valori come mentre quelli ridge con stanno tra e . Training: OLS ha MSE (), ridge (): sembra peggiore. Test su 20 punti nuovi: OLS (), ridge (): la ridge generalizza meglio. È l'errore classico confrontare i modelli sul training.
La relazione tra e le prestazioni è a «U» sul test: poca regolarizzazione dà overfitting, troppa dà underfitting.
Grafico interattivo: Polinomio di grado 9 con ridge: MSE su training (blu) e su 20 punti nuovi (rosso) in funzione di log10(λ). Il training sale sempre; il test ha il minimo (0,0124) per λ = 0,1
Coefficienti in unità originali
Se si standardizza, i coefficienti si riferiscono alle feature standardizzate. Per tornare alle unità originali, da si separa la parte costante e quella che moltiplica : quindi e . Esempio. Se per una feature con , , e (una sola feature): e . Verifica: per il modello standardizzato dà e quello originale ✓.
Scegliere senza barare: cross-validation annidata
Se si sceglie con la cross-validation (grid search, random search), si seleziona il modello migliore sulla validazione e poi lo si valuta su un test separato; ma se il test ha già influenzato la scelta (anche solo indirettamente) la stima finale è ottimistica. La soluzione è la cross-validation annidata (nested CV), con due cicli:
- Ciclo esterno: i dati sono divisi in training (con validation) e test; il test serve solo alla valutazione finale.
- Ciclo interno: all'interno del training, per ciascuna combinazione di iperparametri si fa una cross-validation: si addestra sul training interno e si valuta sul validation interno, e si mediano le prestazioni.
- Si sceglie la combinazione migliore, si riaddestra sul training esterno completo con quella combinazione e si valuta sul test esterno.
- Si ripete per ogni fold esterno e si aggregano (media e deviazione standard). La combinazione finale è la media (o la moda) di quelle scelte; con essa si addestra un modello definitivo su tutti i dati.
Esempio. Con 5 fold esterni, 4 fold interni e 28 combinazioni di iperparametri (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 →) servono addestramenti per la ricerca, più per la valutazione.
Codice
import numpy as np
def fit_ridge(X, y, lam): # X già standardizzata
X = np.hstack([np.ones((len(X), 1)), X]) # colonna di uni per beta_0
I = np.eye(X.shape[1]); I[0, 0] = 0 # non si penalizza l'intercetta
return np.linalg.solve(X.T @ X + lam * I, X.T @ y)
idx = np.random.permutation(len(X)); k = 5 # K-fold
for fold in np.array_split(idx, k):
train = np.setdiff1d(idx, fold)
mu, sd = X[train].mean(0), X[train].std(0) # statistiche del solo training
beta = fit_ridge((X[train]-mu)/sd, y[train], 10.0)
pred = beta[0] + ((X[fold]-mu)/sd) @ beta[1:]
mse = np.mean((y[fold] - pred) ** 2)np.linalg.solve risolve il sistema senza calcolare l'inversa.
Errori tipici
- Scegliere il modello (o ) guardando l'errore sul training: la ridge sembra peggiore dell'OLS sul training ma è migliore sul test.
- Penalizzare l'intercetta, o non standardizzare le feature prima della ridge.
- Calcolare media e deviazione standard su tutti i dati e non sul solo training di ogni fold (fuga di informazione).
- Usare lo stesso insieme per scegliere e per stimare la prestazione finale (serve la cross-validation annidata).
- Pensare che si «impari» dai dati dell'addestramento: è un iperparametro.
- Confondere bias e varianza: il bias non diminuisce con più dati se il modello è troppo semplice.
Versione ripasso
Definizione (K-fold). Dati divisi in fold; ogni fold a turno è il test e gli altri addestrano; . : leave-one-out. MCCV: divisioni casuali con quota di test , media degli errori.
Esempio. , : fold da 4 dati, addestramento su 16; MSE media .
K-fold vs MCCV. K-fold: stima stabile, efficiente, ripetibile, split rigidi. MCCV: split flessibili, buona per piccoli dataset, ma più varianza e costo.
Teorema (bias-varianza). (bias + varianza + rumore). Passi: sviluppare il quadrato (il termine con si annulla), poi sommare e sottrarre .
Esempio. , , , : errore atteso .
Underfitting = modello troppo semplice, bias alto, errori alti e uniformi tra i fold. Overfitting = modello troppo complesso, varianza alta, ottimo sul training e pessimo sui dati nuovi. L'errore su training scende sempre; quello su dati nuovi ha un minimo (compromesso).
Formula (ridge regression). ; gradiente nullo ( senza il primo 1: intercetta non penalizzata). è l'OLS; cresce shrinkage.
Esempio. Una feature: , , : per .
Standardizzare (statistiche del training). Collinearità: ha autovalori , l'inversa è instabile; ha autovalori e il coefficiente ridge nella base degli autovettori è quello OLS per . Esempio: due feature quasi uguali, OLS con una piccola modifica di , ridge stabile ( ciascuna).
Laboratorio (grado 9). Training: OLS , ridge ; test: OLS , ridge . Coefficienti in unità originali: , .
è un iperparametro (rasoio di Occam). Nested CV: ciclo interno sul training per scegliere gli iperparametri, ciclo esterno sul test per la stima finale, riaddestramento su tutti i dati con la combinazione scelta.
Errori tipici: confrontare sul training; penalizzare l'intercetta o non standardizzare; statistiche sul dataset intero; scegliere e stimare con lo stesso insieme.
Esercizi su questo argomento
- Esercizio - Albero di decisione con criteri di impurità e potatura sul dataset iris
- Esercizio - Confronto di tecniche di regolarizzazione su MNIST
- Esercizio - Cross-validation annidata con alberi (laboratorio di ripasso)
- Esercizio - Cross-validation annidata per il LASSO sul dataset prostate
- Esercizio - Cross-validation k-fold e Monte Carlo per OLS e ridge sul dataset Advertising
- Esercizio - k-nearest neighbors da zero sul dataset breast cancer
- Esercizio - Regressione ai minimi quadrati su quattro punti
- Esercizio - Regressione lineare a tratti con k-means
- Esercizio - Rete feed-forward su dati tabulari sbilanciati (appello)
- Esercizio - Ridge regression con standardizzazione e coefficienti in unità originali
- Esercizio - Test di esempio della parte teorica (simulazione d'esame)
Lezioni in cui compare
Teoria collegata
- Addestramento delle reti neurali - backpropagation e ottimizzatori
- Alberi di decisione
- Classificazione e k-nearest neighbors
- Introduzione al machine learning
- LASSO e discesa del gradiente
- Metodi ensemble - bagging, random forest e boosting
- Regolarizzazione delle reti neurali
- Regressione lineare
- Regressione logistica e softmax
- Statistica per il machine learning
- Support vector machines e metodi kernel