Regressione Lineare
★★★★★ Presente in 17 prove su 25: Ridge vs Lasso e regressione bayesiana come domande aperte, gradient descent (discesa del gradiente) e snippet OLS/Ridge/Lasso, numerosi vero/falso.
La regressione lineare è la prima famiglia di metodi di apprendimento supervisionato che si incontra nel corso, e non è una scelta casuale: è il modello più semplice che permette di toccare con mano tutti gli ingredienti visti nel capitolo precedente (hypothesis space (spazio delle ipotesi), loss function (funzione di perdita), ottimizzazione), ammette una soluzione analitica in forma chiusa, e allo stesso tempo è il mattone su cui poggiano tecniche molto più sofisticate, reti neurali comprese. Questo capitolo sviluppa il metodo da quattro angolazioni complementari: la soluzione diretta ai least squares (minimi quadrati), la sua lettura geometrica come proiezione, la lettura probabilistica tramite maximum likelihood (massima verosimiglianza), e infine l’approccio bayesiano completo. Lungo il percorso emergono due temi centrali di tutto il corso: l’overfitting e il suo antidoto, la regolarizzazione. Il capitolo si chiude con gli strumenti pratici per valutare un modello di regressione (indici di errore, , test statistici) e con una serie di esercizi svolti in stile esame.
Riferimenti sul testo: Bishop, Pattern Recognition and Machine Learning, capitoli 1 (1.1, 1.2, 1.3) e 3 (3.1, 3.3).
1. Il problema della regressione#
1.1 Obiettivo e ingredienti#
Il punto di partenza è sempre lo stesso: esiste una funzione ignota che genera i dati, e l’obiettivo è approssimarla usando solo un insieme finito di osservazioni.
Dato un dataset di coppie input-output generate da una funzione ignota , la regressione è il problema di apprendere un’approssimazione di che mappa l’input in un output continuo .
La natura continua del target è ciò che distingue la regressione dalla classificazione, dove il target assume valori in un insieme finito di classi. Esempi tipici: prevedere un prezzo, una temperatura, la larghezza del petalo di un fiore data la sua lunghezza.
Per costruire un algoritmo di regressione servono le tre risposte canoniche dell’apprendimento supervisionato, che qui vengono date in modo esplicito:
- Come modellare : quale famiglia di funzioni (hypothesis space) usare per l’approssimazione.
- Come valutare l’approssimazione: quale loss function (loss) misura la qualità di una candidata soluzione sui dati.
- Come ottimizzare: con quale algoritmo cercare, dentro l’hypothesis space, la funzione che minimizza la loss.
La regressione lineare dà una risposta precisa e molto conveniente a tutte e tre le domande.
1.2 Perché partire dai modelli lineari#
Concentrarsi su un modello così semplice non è solo una scelta didattica. I modelli lineari hanno quattro proprietà che li rendono ancora oggi fondamentali:
- Interpretabilità: un modello lineare si può leggere e spiegare. Guardando i pesi si capisce quanto e in che direzione ogni variabile influenza la predizione; con i pesi di una rete neurale profonda questo è praticamente impossibile.
- Soluzione analitica: con una scelta ragionevole della loss function, il problema di ottimizzazione si risolve in forma chiusa. Non ci sono problemi di convergenza: se nell’hypothesis space esiste la soluzione ottima, la si trova sempre. Con le reti neurali, molto più potenti, non c’è alcuna garanzia di raggiungere l’ottimo.
- Estendibilità al non lineare: tramite le funzioni base (sezione 2.3), la regressione lineare può modellare anche relazioni non lineari tra input e output. Suona strano, ma il trucco è che la linearità richiesta è nei parametri, non nei dati.
- Mattone per metodi avanzati: molte tecniche più sofisticate, incluse le reti neurali e i metodi kernel, usano al loro interno concetti e blocchi presi dalla regressione lineare.
2. Il modello lineare e le funzioni base#
2.1 Il modello lineare più semplice#
Idea chiave: approssimare con una combinazione pesata delle variabili di input più una costante; imparare significa trovare i valori giusti dei pesi.
Con input il modello lineare più semplice è
dove è il parametro di bias: il termine costante che non moltiplica nessuna variabile e permette alla funzione di non passare per l’origine. Per compattare la notazione conviene aggiungere all’input una componente fittizia sempre uguale a 1, ottenendo ; a quel punto il modello diventa un semplice prodotto scalare:
In parole semplici: il modello è una “media pesata” degli input più una costante di partenza. Nel caso di un solo input è l’equazione di una retta, : imparare il modello vuol dire scegliere pendenza e intercetta della retta.
Vale la pena visualizzare l’hypothesis space. Con un solo input le soluzioni candidate sono tutte le rette del piano, e ciascuna retta corrisponde a un punto nello spazio dei pesi : una retta quasi piatta ha vicino a zero, una retta ripida ha grande. Cercare la migliore approssimazione significa cercare il punto migliore in questo spazio dei parametri. Questa è la caratteristica dei metodi parametrici: la forma della soluzione è fissata in anticipo dal progettista, e l’apprendimento si riduce a trovare i valori ottimi di un numero finito di parametri.
2.2 La loss function: somma dei quadrati#
Per confrontare tra loro le candidate soluzioni serve una loss function, e non potendo misurare la distanza dalla vera (che è ignota) la si costruisce a partire dai dati. La scelta standard, e molto conveniente, è la somma degli errori quadratici (SSE, sum of squared errors):
La quantità è il residuo: l’errore che il modello commette sul punto -esimo, cioè la distanza verticale tra il valore osservato e il valore predetto sulla retta. La somma dei residui al quadrato si chiama anche RSS (residual sum of squares). Due dettagli della formula:
- gli errori vengono elevati al quadrato perché altrimenti errori positivi e negativi si cancellerebbero a vicenda, dando l’illusione di un modello accurato;
- il fattore è solo una comodità: derivando il quadrato compare un 2 che si semplifica.
In parole semplici: per ogni punto del dataset si misura di quanto la predizione manca il bersaglio, si eleva al quadrato (così gli errori non si compensano e quelli grandi pesano di più) e si sommano tutti. Il modello migliore è quello che rende minima questa somma.
Con questa loss, il problema di apprendimento diventa un problema di ottimizzazione ben definito: cercare nello spazio dei pesi il punto che minimizza .
2.3 Linearità nei parametri, non nei dati: le funzioni base#
Una combinazione lineare delle sole variabili di input spesso non basta: se i dati seguono una parabola o una sinusoide, nessuna retta li approssimerà bene. L’osservazione cruciale è però questa: per poter risolvere il problema analiticamente non serve che il modello sia lineare nell’input, serve solo che sia lineare nei pesi.
Idea chiave: trasformare l’input con funzioni non lineari scelte a piacere, e poi imparare un modello lineare nel nuovo spazio trasformato. La retta nel nuovo spazio corrisponde a una curva nello spazio originale.
Un’analogia quotidiana: se una strada in salita è troppo ripida per una bicicletta, non si cambia la bicicletta, si cambia il percorso; qui non si cambia l’algoritmo lineare, si cambia lo spazio in cui lavora. Concretamente, si definiscono funzioni base (basis functions) e il modello diventa
dove per convenzione gioca il ruolo del bias.
- Funzione base: una trasformazione , anche non lineare e anche costruita combinando più variabili di input, che produce una nuova variabile detta feature.
- Feature space: il nuovo spazio di input i cui assi sono le feature ; il modello è lineare in questo spazio, non necessariamente in quello originale.
Esempio concreto: dati che seguono una parabola nel piano . Si mappa l’input scalare nel vettore di feature e si impara il modello . Rispetto ai pesi il modello è ancora perfettamente lineare, quindi tutta la matematica dei least squares continua a funzionare identica; ma nel piano originale la funzione appresa è una parabola. Nel feature space bidimensionale i punti del dataset giacciono attorno a un piano: esiste cioè un’approssimazione lineare nel feature space che corrisponde alla relazione non lineare nello spazio originale. Tipicamente, per rendere efficace il trucco, si passa da uno spazio di input a bassa dimensionalità a un feature space a dimensionalità più alta.
Le funzioni base possono essere qualsiasi cosa: , , , e così via. La libertà è totale, perché l’obiettivo è disegnare uno spazio su misura per il problema.
In parole semplici: la regressione “lineare” è lineare solo nei pesi. Se prima di darle i dati li si trasforma (quadrati, prodotti, coseni…), la macchina continua a cercare un iperpiano, ma quell’iperpiano, riportato nello spazio originale, è una curva. Così un metodo semplicissimo modella relazioni complicate.
2.4 Famiglie standard di funzioni base#
Il problema pratico è che di solito non si sa quali basi servano. Se i dati sono pochi e in una dimensione, un’occhiata al grafico può suggerire “serve un polinomio di grado 2”; con migliaia di punti in centinaia di dimensioni questo è impossibile. Si ricorre allora a famiglie standard di basi (qui per input scalare):
- Polinomiali: . Sono funzioni globali: ogni feature è attiva su tutto l’asse reale, quindi cambiare un peso modifica la curva ovunque.
- Gaussiane: . Sono funzioni locali: ciascuna vale circa 1 vicino al proprio centro e decade rapidamente a zero lontano da esso. Disseminando molte gaussiane lungo lo spazio si ottiene un’approssimazione molto flessibile, costruita pezzo per pezzo, perché ogni peso influenza solo una piccola regione.
- Sigmoidali: con . Utili quando ci si aspetta transizioni “a gradino morbido” tra due regimi.
2.5 Il prezzo da pagare: la maledizione della dimensionalità#
Se non si sa quali basi usare, la tentazione è “proviamole tutte”. Il costo di questa strategia è un’esplosione del numero di feature. Un esempio: con due variabili , un polinomio completo di grado 2 richiede le feature , , , , : da 2 variabili a 5 feature. Aumentando il grado o il numero di variabili, il numero di feature cresce in modo esponenziale. Lo stesso vale per le basi locali: per coprire uniformemente uno spazio con gaussiane, il numero di centri necessari cresce esponenzialmente con la dimensione (una griglia in 1D diventa una griglia quadratica in 2D, cubica in 3D, e così via).
Questo fenomeno si chiama maledizione della dimensionalità (curse of dimensionality) ed è il vero limite dei modelli lineari a basi fisse: se non fosse per questo, non servirebbero tecniche più complesse. Verrà ripreso più avanti nel corso da un punto di vista teorico, e i metodi kernel offriranno una via d’uscita.
3. La soluzione diretta: ordinary least squares (OLS)#
3.1 Forma matriciale della loss#
Idea chiave: riscrivendo la loss in forma matriciale, la sua minimizzazione diventa un esercizio di calcolo con una soluzione esplicita: le equazioni normali.
Si raccolgono i dati in due oggetti:
- la matrice di design , la cui riga -esima è il vettore di feature del campione -esimo: . La prima riga contiene tutte le feature del primo campione, la seconda quelle del secondo, e così via fino all’-esimo;
- il vettore dei target .
Il prodotto è allora il vettore di tutte le predizioni del modello sui punti del dataset (ogni riga per il vettore dei pesi dà una predizione), e è il vettore di tutti i residui. La RSS è la norma al quadrato di questo vettore:
Chi non è convinto dell’equivalenza può verificarla a mano con numeri piccoli, per esempio campioni e feature: moltiplicando il vettore dei residui trasposto per sé stesso si ottiene esattamente la somma dei quadrati dei residui.
3.2 Derivazione della soluzione in forma chiusa#
Per minimizzare una funzione si annulla la derivata prima e si controlla la derivata seconda. Qui la variabile è un vettore, quindi la “derivata prima” è il gradiente e la “derivata seconda” è la matrice hessiana delle derivate parziali seconde. Applicando la regola della catena alla forma quadratica (derivata del quadrato per derivata dell’argomento interno, con le trasposizioni imposte dal calcolo matriciale):
La derivazione estesa, passaggio per passaggio
Ci sono due strade per arrivare a queste due formule. La prima è meccanica e non richiede di ricordare nulla oltre a due identità; la seconda è più rapida ma va tenuta a mente.
Via 1: espandere e usare le identità del calcolo matriciale. Si sviluppa il prodotto:
Il passaggio che sblocca tutto: i due termini centrali sono scalari (), e uno scalare è uguale alla propria trasposta, quindi . I due si fondono in uno solo:
A questo punto servono solo due identità standard:
| Identità | Condizione di validità |
|---|---|
| non dipende da | |
| l’ultima uguaglianza solo se è simmetrica |
Qui è simmetrica per costruzione, dato che , quindi vale la forma . Il termine è costante in e sparisce:
Ecco a cosa serve l’ davanti alla loss: cancella esattamente il che esce dalla derivata del quadrato. Non cambia il punto di minimo, essendo una costante moltiplicativa positiva, ed è solo cosmetica.
L’hessiana si ottiene derivando di nuovo. Il gradiente è ormai lineare in , nella forma , quindi la seconda derivata è banale:
Costante, non dipende da : è la firma di una funzione quadratica.
Via 2: la regola della catena, quella citata sopra. Si pone , il vettore dei residui, così che . Allora
e la catena in forma matriciale è .
È più veloce, ma la trasposizione va ricordata a memoria. Il controllo dimensionale la giustifica: è e è ; l’unico modo di combinarle ottenendo un , cioè la stessa forma di come dev’essere per un gradiente, è . All’esame, il controllo dimensionale è il modo più rapido per verificare di non aver sbagliato una trasposta.
L’hessiana è semidefinita positiva, e la ragione è che si tratta di una matrice di Gram: per ogni
cioè una norma al quadrato, che non può essere negativa. Ne segue che la loss è convessa e ogni punto a gradiente nullo è un minimo globale. La disuguaglianza è stretta, e quindi l’hessiana definita positiva con minimo unico, se e solo se per ogni : cioè se ha rango pieno per colonne. Rango pieno, hessiana definita positiva, invertibilità di e unicità della soluzione sono la stessa condizione vista da quattro lati, e il paragrafo successivo esamina cosa accade quando cade. Annullando il gradiente:
Queste sono le cosiddette equazioni normali. Se è invertibile, la soluzione è unica ed esplicita.
Se è non singolare, il minimo globale della RSS è
In parole semplici: tutta la fase di “apprendimento” della regressione lineare si riduce a una formula: si costruisce la matrice delle feature, si fanno due moltiplicazioni e un’inversione di matrice, e i pesi ottimi escono in un colpo solo. Niente iterazioni, niente rischio di fermarsi in una soluzione mediocre: la formula dà sempre il minimo assoluto della loss.
3.3 Costo computazionale e problemi di invertibilità#
La forma chiusa ha solo due punti deboli.
- Costo computazionale: il calcolo di e la sua inversione costano : lineare nel numero di campioni (nella moltiplicazione) e cubico nel numero di feature (nell’inversione). Poiché le feature possono esplodere esponenzialmente quando si vogliono catturare molte non linearità, con dataset e feature space grandi l’OLS diretto diventa impraticabile.
- Singolarità della matrice: se è singolare non si può invertire. Questo accade quando ci sono feature linearmente dipendenti: se una colonna di è combinazione lineare di altre, la matrice non ha rango pieno. Anche una dipendenza lineare quasi perfetta (feature fortemente correlate) causa problemi, perché l’inversione diventa numericamente instabile.
Il primo problema si risolve con i metodi iterativi (sezione 6), il secondo con la regolarizzazione ridge (sezione 8.2), che ha come bonus la garanzia di invertibilità.
4. Lettura geometrica: OLS come proiezione ortogonale#
Idea chiave: visto come vettore in uno spazio a dimensioni, il vettore delle predizioni è vincolato a vivere nel sottospazio generato dalle colonne di ; l’OLS sceglie, dentro quel sottospazio, il punto più vicino al vettore dei target, cioè la sua proiezione ortogonale.
Si cambia prospettiva: invece di guardare i dati punto per punto, si guarda il dataset intero come un unico vettore. Il vettore dei target vive in , uno spazio con una dimensione per ogni campione. Sia la -esima colonna di (cioè i valori della feature su tutti i campioni): le colonne generano un sottospazio lineare di dimensione .
Il vettore delle predizioni è per costruzione una combinazione lineare delle colonne (la prima colonna pesata con , la seconda con , e così via), quindi qualunque sia , il vettore giace dentro . L’OLS minimizza la distanza quadratica , e il punto di un sottospazio più vicino a un vettore esterno è la sua proiezione ortogonale: dunque è la proiezione ortogonale di su .
Un esempio piccolo aiuta a visualizzare: campioni e feature (per esempio la colonna di tutti 1 del bias e una variabile). Il target è una freccia nello spazio 3D; le due colonne di sono due frecce che individuano un piano; tutte le possibili uscite del modello stanno su quel piano; l’OLS pianta il piede della perpendicolare calata da sul piano, e quel punto è . In generale è enorme e il piano diventa un sottospazio -dimensionale, ma l’idea è identica.
Sostituendo la soluzione OLS nell’espressione delle predizioni si ottiene la forma esplicita della proiezione:
La matrice , detta hat matrix (perché “mette il cappello” a ), è la trasformazione geometrica che proietta il vettore dei target sul sottospazio delle feature.
In parole semplici: il modello non può produrre qualunque insieme di predizioni: può produrre solo quelle raggiungibili combinando le sue feature. L’OLS prende le risposte vere e le “schiaccia” sul sottospazio delle risposte producibili, nel modo che perde meno informazione possibile in senso quadratico. L’unica leva di progetto è la scelta delle feature: cambiare le feature cambia il sottospazio, e quindi cambia la proiezione.
5. Output multipli#
Che succede se il target non è uno scalare ma un vettore, cioè se per ogni input vanno predetti valori? In linea di principio si possono risolvere problemi di regressione completamente indipendenti, uno per componente: nella regressione lineare non c’è alcuna dipendenza tra il modo in cui si calcolano le diverse componenti dell’output, perché ognuna ha i propri pesi.
Se però si usa lo stesso insieme di funzioni base per tutti gli output, conviene risolverli insieme. Raccogliendo i target in una matrice (una colonna per output) e i pesi in una matrice (una colonna di pesi per output), la soluzione è
che si disaccoppia esattamente, per ogni output , in .
In parole semplici: i problemi restano indipendenti, ma condividono il pezzo di calcolo più costoso, la matrice , che dipende solo dagli input: la si calcola una volta sola e la si riusa per tutti gli output. Stesso risultato, molto meno lavoro.
6. Metodi iterativi: gradient descent e apprendimento sequenziale#
Quando il dataset è troppo grande per la forma chiusa, si abbandona la soluzione “in un colpo solo” e si procede per aggiustamenti successivi.
Idea chiave: partire da pesi qualsiasi e correggerli ripetutamente muovendosi in discesa lungo la superficie della loss, come una pallina che rotola verso il fondo di una conca; siccome la loss è convessa, il fondo è unico.
Il gradient descent calcola in ogni punto il gradiente della loss, che indica la direzione di massima crescita, e muove i pesi nella direzione opposta. Nella versione batch il gradiente si calcola sull’intera loss, cioè su tutti gli campioni a ogni passo; riusando il gradiente ricavato in 3.2, l’aggiornamento è
Ogni singolo passo costa dunque quanto una scansione completa del dataset, il che rende la batch precisa ma costosa. La variante usata in pratica è il gradient descent stocastica (SGD, detta anche apprendimento sequenziale o online): a ogni passo si usa il gradiente calcolato su un solo campione, che è un’approssimazione rumorosa ma non distorta del gradiente vero, e che comunque garantisce convergenza sotto opportune condizioni. Per la regressione lineare con loss quadratica l’algoritmo risultante prende il nome di Least Mean Squares (LMS):
dove è la loss sul solo campione . Il parametro si chiama learning rate e regola l’ampiezza dei passi; deve decrescere nel tempo, all’inizio passi ampi per avvicinarsi rapidamente, poi passi sempre più piccoli per non scavalcare il minimo. Le condizioni classiche che garantiscono la convergenza sono
la prima assicura che i passi complessivi bastino a raggiungere qualunque punto, la seconda che il rumore dei singoli campioni si smorzi.
Il confronto tra le due formule di aggiornamento è immediato: sono identiche a meno della sommatoria. La batch somma il contributo di tutti gli campioni prima di muovere i pesi, la stocastica ne usa uno solo. È questo che rende la SGD un’approssimazione non distorta: a meno del fattore , il termine relativo a un campione estratto a caso ha come valore atteso il gradiente completo, quindi in media i due metodi si muovono nella stessa direzione, ma la SGD lo fa con un passo che costa volte meno e in cambio zig-zaga. Tra i due estremi esiste una via di mezzo, il mini-batch, che calcola il gradiente su un sottoinsieme di campioni per volta: è la scelta standard nell’addestramento delle reti neurali, dove combina la stabilità della batch con il costo contenuto della stocastica.
I temi d’esame non sono sempre coerenti su questo punto. Un esercizio propone una loss dichiaratamente batch, con tanto di normalizzazione e termine di regolarizzazione,
e chiede di derivarne l’update del gradient descent; la soluzione ufficiale applica però un aggiornamento su un solo campione, , ignorando sia la sommatoria sia il fattore . Di fronte a un testo ambiguo la mossa sicura è scrivere entrambe le forme e dichiarare esplicitamente quale si sta usando: il ragionamento resta corretto in entrambi i casi, e la scelta viene esplicitata invece che subita.
In parole semplici: invece di risolvere l’equazione tutta insieme, si guarda un esempio alla volta: se il modello ha predetto troppo poco per quell’esempio si alzano un po’ i pesi delle feature attive, se ha predetto troppo li si abbassa. Ripetendo su tanti esempi con correzioni sempre più caute, i pesi convergono alla stessa soluzione dell’OLS.
7. Il problema dell’overfitting#
7.1 Complessità del modello e qualità dell’approssimazione#
Le funzioni base sembrano un pranzo gratis: più feature si aggiungono, più il modello diventa flessibile. Un esperimento con dati generati da una funzione sinusoidale (più rumore) mostra dove sta la trappola. Si prova ad approssimare gli stessi punti con polinomi di grado crescente:
- Modello lineare semplice (: retta): la retta non riesce a seguire le oscillazioni della sinusoide. Il modello è troppo rigido rispetto alla relazione vera: questa situazione si chiama underfitting.
- Polinomio di grado 3 (): la curva segue bene l’andamento della sinusoide. Complessità adeguata al problema.
- Polinomio di grado 9 (): la curva passa quasi esattamente per tutti i punti del dataset, con residui nulli o quasi nulli, ma tra un punto e l’altro oscilla selvaggiamente e non assomiglia per niente alla sinusoide che ha generato i dati. Questa situazione si chiama overfitting.
- Underfitting: il modello è troppo semplice per catturare la relazione tra input e target; l’errore è alto già sui dati di training.
- Overfitting: il modello si adatta così fedelmente ai punti del training set (rumore compreso) da perdere la capacità di approssimare la vera funzione generatrice; errore bassissimo sui dati visti, pessimo sul resto.
In parole semplici: un modello troppo potente impara i dati “a memoria” invece di impararne la regola, come uno studente che memorizza le soluzioni degli esercizi svolti senza capire il metodo: perfetto sugli esercizi già visti, perso davanti a un esercizio nuovo. L’obiettivo dell’apprendimento non è azzerare l’errore sui dati, è generalizzare.
7.2 Il sintomo: pesi che esplodono#
Osservando i pesi appresi al crescere del grado del polinomio si nota un fenomeno rivelatore: le componenti del vettore dei pesi diventano enormi in valore assoluto. Il motivo è intuitivo: per passare esattamente per ogni punto, la curva deve cambiare valore in modo drastico e rapidissimo tra un punto e il successivo, e variazioni così brusche si ottengono solo con coefficienti molto grandi che si compensano a vicenda. Pesi grandi sono quindi la firma numerica dell’overfitting nei modelli lineari, ed è proprio su questo sintomo che agisce la regolarizzazione.
8. Regolarizzazione#
8.1 L’idea generale#
Idea chiave: aggiungere alla loss function una penalità che rende “costose” le soluzioni con pesi grandi, così l’ottimizzazione è spinta verso modelli più lisci; un coefficiente dosa il compromesso tra fedeltà ai dati e semplicità.
La loss viene estesa in
dove:
- è la loss usuale sui dati (per esempio la RSS): misura quanto il modello sbaglia sui punti del training set;
- è un termine che penalizza la complessità del modello, cioè la grandezza dei pesi;
- è il coefficiente di regolarizzazione, che bilancia i due obiettivi: riporta all’OLS puro, schiaccia tutti i pesi a zero, i valori intermedi realizzano il compromesso.
Le due scelte naturali per sono la norma 2 al quadrato dei pesi e la norma 1: corrispondono a due metodi con nomi propri, ridge e lasso.
8.2 Ridge regression#
Regressione lineare regolarizzata con penalità in norma 2:
Il punto di forza della ridge è che la loss resta quadratica in (somma di due forme quadratiche), quindi la stessa procedura dell’OLS, gradiente uguale a zero, dà ancora una soluzione in forma chiusa:
identica a quella dell’OLS a parte il termine aggiunto prima dell’inversione. Questo termine porta un bonus non banale: la matrice è sempre invertibile per . Infatti è semidefinita positiva (autovalori ) e è definita positiva, quindi la somma ha tutti gli autovalori . La ridge risolve quindi anche il problema delle feature linearmente dipendenti o quasi dipendenti che rende singolare o instabile l’OLS.
L’effetto sul modello si vede bene sull’esempio del polinomio di grado alto: senza regolarizzazione la curva ha picchi selvaggi; introducendo la funzione diventa via via più liscia e i picchi spariscono; aumentando ancora tutte le componenti del vettore dei pesi si contraggono progressivamente verso l’origine.
In parole semplici: la ridge dice all’ottimizzatore “vai pure vicino ai dati, ma ogni unità di grandezza dei pesi ti costa”. Il risultato è una curva più liscia che rinuncia a inseguire il rumore. In più, il termine rende la matrice sempre invertibile: due problemi risolti con una sola aggiunta.
8.3 Lasso#
Regressione lineare regolarizzata con penalità in norma 1:
dove è la somma dei valori assoluti dei pesi.
Il valore assoluto introduce una non linearità che rompe la forma quadratica: per il lasso non esiste soluzione in forma chiusa. Il problema resta però risolvibile con metodi iterativi in stile gradient descent, e il lasso è molto usato in pratica per una proprietà preziosa: produce soluzioni sparse. Aumentando , nella ridge tutti i pesi si riducono verso zero più o meno alla stessa velocità, e alla fine sono tutti piccoli ma diversi da zero; nel lasso i pesi decrescono a velocità diverse, e per abbastanza grande alcune componenti di diventano esattamente zero.
Questo equivale a una selezione automatica delle feature: partendo da un modello con 15 feature, il lasso può rivelare che solo 5 sono rilevanti, azzerando i pesi delle altre 10. Il modello risultante è più semplice, più interpretabile e più economico da valutare.
8.4 Perché il lasso produce sparsità: la vista per vincoli#
La regolarizzazione si può leggere in modo equivalente come un problema vincolato: minimizzare soggetto al vincolo , cioè
con per la ridge e per il lasso. Nel piano dei pesi la RSS ha curve di livello ellittiche centrate sulla soluzione OLS non vincolata; la regione ammissibile del vincolo è un cerchio centrato nell’origine per la ridge e un quadrato ruotato di 45 gradi (un rombo con i vertici sugli assi) per il lasso. La soluzione regolarizzata è il punto in cui la più piccola curva di livello della RSS tocca la regione ammissibile:
- con il cerchio della ridge il contatto avviene tipicamente in un punto generico del bordo, dove entrambe le coordinate sono diverse da zero;
- con il rombo del lasso il contatto avviene con alta probabilità su uno dei vertici, che stanno esattamente sugli assi: e un punto su un asse ha l’altra coordinata esattamente nulla.
In parole semplici: la ridge stringe i pesi dentro una bolla rotonda, che non ha punti “speciali”: tutti i pesi si rimpiccioliscono ma restano vivi. Il lasso li stringe dentro un rombo con gli spigoli sugli assi: le ellissi dell’errore finiscono quasi sempre per toccare uno spigolo, e uno spigolo significa un peso azzerato. Ecco perché il lasso spegne le feature inutili.
9. La lettura probabilistica: maximum likelihood#
9.1 Il modello con rumore gaussiano#
Finora l’approccio è stato “diretto”: si sceglie una loss ragionevole e la si minimizza. La prospettiva probabilistica rilegge lo stesso problema modellando esplicitamente l’incertezza nei dati, e questo è interessante non perché porti a soluzioni diverse (spoiler: la soluzione sarà la stessa), ma perché spiega che cosa sta davvero assumendo l’OLS e apre la strada a modelli più sofisticati.
Idea chiave: assumere che i dati siano generati da un modello lineare più un rumore casuale gaussiano; a quel punto ogni scelta dei pesi assegna una probabilità ai dati osservati, e si scelgono i pesi che rendono i dati osservati i più probabili possibile.
L’assunzione generativa è
cioè: la natura calcola il valore “pulito” con un modello lineare e poi lo sporca con un rumore gaussiano a media nulla e varianza . Di conseguenza, per un singolo punto la probabilità di osservare il target dato l’input è una gaussiana centrata sulla predizione del modello:
la probabilità è massima esattamente sul valore predetto e decresce allontanandosene, con una velocità governata da .
9.2 Likelihood e log-likelihood#
Assumendo i campioni indipendenti e identicamente distribuiti, la probabilità dell’intero dataset è il prodotto delle probabilità dei singoli punti. Questa quantità, vista come funzione dei parametri, si chiama likelihood.
La likelihood è la probabilità di osservare i dati dato un valore dei parametri :
Misura “quanto è plausibile” che proprio quei dati siano usciti da un generatore con quei parametri.
La stima di maximum likelihood (Maximum Likelihood, ML) sceglie . Massimizzare un prodotto di esponenziali è scomodo; il trucco standard è massimizzare il logaritmo della likelihood, operazione lecita perché il logaritmo è monotono crescente e quindi non sposta il punto di massimo. Il logaritmo trasforma il prodotto in somma, e la densità gaussiana si semplifica drasticamente:
Il primo termine è una costante che non contiene e non influenza l’ottimizzazione; il secondo termine è, a meno di una costante moltiplicativa negativa, esattamente la RSS: gli esponenti delle gaussiane sono i residui al quadrato, e sommandoli si ricompone la somma dei quadrati.
9.3 Maximum likelihood = least squares#
Massimizzare equivale quindi a minimizzare la RSS: annullando il gradiente si ritrova lo stesso identico problema dell’OLS, con la stessa soluzione:
In parole semplici: minimizzare la somma dei quadrati e massimizzare la probabilità dei dati sotto rumore gaussiano sono lo stesso identico calcolo. Quindi l’OLS non è una ricetta arbitraria: è la scelta ottimale se si crede che i dati siano “modello lineare più rumore gaussiano”. Se il rumore vero non fosse gaussiano, la loss quadratica non sarebbe più quella giusta.
I benefici di questa rilettura sono due. Primo, un’interpretazione: usare l’OLS equivale ad assumere implicitamente il modello generativo gaussiano. Secondo, un punto di partenza: dentro un framework probabilistico si può cominciare a ragionare non solo sulla soluzione ottima ma anche sull’incertezza della soluzione, cosa impossibile nell’approccio diretto.
9.4 Proprietà statistiche della stima: il teorema di Gauss-Markov#
La stima ML (cioè OLS) gode di una proprietà di ottimalità classica.
La stima ai least squares di è, tra tutte le stime lineari e non distorte, quella con varianza minima (e quindi con il minor mean squared error (errore quadratico medio) tra le stime lineari non distorte).
Non distorta (unbiased) significa che, in media sui possibili dataset, la stima coincide con i parametri veri del generatore. Attenzione però a non leggere il teorema come “l’OLS è imbattibile”: afferma solo l’ottimalità dentro la classe delle stime lineari non distorte. Più avanti nel corso, con il compromesso bias-varianza, si vedrà che può convenire accettare una stima leggermente distorta (per esempio la ridge) in cambio di una varianza molto più bassa: si rinuncia alla correttezza in media per guadagnare stabilità.
10. Regressione lineare bayesiana#
10.1 L’approccio bayesiano in quattro passi#
La maximum likelihood fornisce un solo numero per ogni peso: il valore ottimo. L’approccio bayesiano fa un salto concettuale: tratta i pesi stessi come variabili aleatorie e ne modella l’intera distribuzione di probabilità.
Idea chiave: non “qual è il miglior ?” ma “quanto è plausibile ciascun , alla luce di ciò che sapevo prima e dei dati che ho visto?”. La risposta è una distribuzione, non un punto: e da una distribuzione si estraggono sia predizioni sia barre di incertezza.
Lo schema generale dell’approccio bayesiano è:
- Formulare la conoscenza sul mondo in modo probabilistico: si definisce il modello, si identificano i suoi parametri ignoti e si esprime ciò che si assume su di essi prima di vedere i dati tramite una distribuzione a priori (prior).
- Osservare i dati.
- Calcolare la distribuzione a posteriori dei parametri dati i dati osservati.
- Usare la posteriori per: fare predizioni mediando sulla distribuzione; quantificare l’incertezza sui parametri; prendere decisioni minimizzando la loss attesa a posteriori.
Lo strumento che collega prior e dati è il teorema di Bayes:
dove ogni fattore ha un nome e un ruolo preciso:
- Prior : ciò che si sa (o si assume) sui pesi prima di osservare qualunque dato; può anche codificare “non so nulla”.
- Likelihood : la probabilità di osservare i dati dato un valore dei parametri; è la stessa quantità della sezione 9.
- Likelihood marginale : la probabilità complessiva dei dati, ; è l’integrale del numeratore e agisce da pura costante di normalizzazione, per garantire che la posteriori integri a 1.
- Posteriori : la conoscenza aggiornata sui pesi dopo aver visto i dati; il suo punto di massimo si chiama massimo a posteriori (MAP) ed è il candidato naturale come “miglior stima” dei pesi.
In parole semplici: la formula di Bayes è una macchina per aggiornare opinioni: si parte da un’opinione iniziale sui pesi (prior), la si confronta con i dati (likelihood), e si ottiene un’opinione aggiornata (posteriori). Il denominatore serve solo a far tornare i conti delle probabilità.
10.2 Prior coniugato gaussiano e calcolo della posteriori#
Come modellare il prior? In linea di principio con qualunque distribuzione, ma c’è una scelta che rende tutto calcolabile analiticamente: un prior coniugato alla likelihood.
Un prior si dice coniugato a una likelihood se la posteriori che risulta dal loro prodotto (normalizzato) appartiene alla stessa famiglia di distribuzioni del prior.
Con likelihood gaussiana, il prior coniugato è una gaussiana: il prodotto di due gaussiane, rinormalizzato, è ancora una gaussiana. Se si scegliesse un prior arbitrario, la posteriori non avrebbe forma analitica e servirebbero metodi numerici. Si pone quindi
con media (quasi sempre : senza conoscenza specifica del problema non c’è motivo di preferire pesi positivi o negativi) e matrice di covarianza che esprime quanto si è incerti sui pesi e quanto li si crede correlati tra loro. Combinando prior e likelihood, la posteriori risulta ancora gaussiana (la derivazione completa è sul Bishop; non è richiesta all’esame, ma vale la pena leggerla per capire cosa succede sotto il cofano):
con
La covarianza è scritta per comodità tramite la sua inversa: si legge come “precisione finale = precisione del prior + precisione portata dai dati”. La media mescola la conoscenza a priori (primo addendo) con l’informazione dei dati (secondo addendo, che dipende da input, target e rumore ).
Poiché la posteriori è gaussiana, il suo massimo coincide con la sua media: quindi la stima MAP è , che è anche il valore atteso dei pesi dati i dati. Questa coincidenza tra moda e media è un lusso della gaussiana: con prior arbitrari, in generale, non vale.
10.3 Casi particolari: ML e ridge ritrovate#
La formula della posteriori contiene come casi particolari entrambe le soluzioni viste finora.
Prior infinitamente largo. Per modellare “non so nulla sui pesi” si prende e (varianza infinita: ogni vettore di pesi è ugualmente plausibile a priori). Allora , i termini con il prior si cancellano e resta
Il MAP coincide con la soluzione di maximum likelihood, cioè con l’OLS. Questo completa l’interpretazione: l’OLS è la risposta bayesiana ottima quando si assume rumore gaussiano e nessuna preferenza a priori sui pesi. In più, ora c’è anche la covarianza , cioè una quantificazione dell’incertezza sui pesi: cresce con la varianza del rumore (più i dati sono rumorosi, meno ci si può fidare delle stime) e dipende dalla struttura degli input tramite . In pratica non è nota e viene stimata dai residui (sezione 11.4); da si ricavano intervalli di confidenza sui singoli pesi e test di significatività.
Prior sferico finito. Si prenda e : covarianza diagonale (nessuna correlazione a priori tra componenti, non avendo motivo di assumerne) e varianza finita uguale per tutte. Questo prior dice: “preferisco vettori di pesi vicini all’origine, e quanto più piccolo è tanto più forte è la preferenza”. Sostituendo nella posteriori, la funzione che il MAP massimizza risulta essere esattamente la loss della ridge regression, con
In parole semplici: la regolarizzazione ridge e il prior gaussiano centrato nell’origine sono la stessa cosa detta in due lingue diverse. Credere a priori che i pesi siano piccoli (varianza piccola) equivale a penalizzarli con grande; permettere a priori pesi enormi ( grande) equivale a regolarizzare poco. La formula è il dizionario di traduzione.
10.4 Apprendimento sequenziale bayesiano: un esempio#
La coniugatezza regala un’altra proprietà preziosa: la posteriori calcolata su un primo blocco di dati può diventare il prior per il blocco successivo, dato che ha la stessa forma funzionale. Non serve mai ripartire da zero: si aggiorna la conoscenza in modo incrementale, punto per punto o a blocchi.
Esempio concreto. I dati sono generati da , con e ; il modello è e il prior è con . L’evoluzione della conoscenza:
- Passo 0 (nessun dato): la distribuzione sui pesi è il prior: una campana simmetrica centrata nell’origine del piano . Campionando coppie di pesi da questa distribuzione si ottengono rette in tutte le direzioni, senza alcuna struttura.
- Passo 1 (un punto osservato): si calcola la likelihood di quel punto, la si moltiplica per il prior, e la posteriori si concentra lungo la striscia di pesi compatibili con quel punto. Le rette campionate ora passano tutte vicino al punto osservato, ma con pendenze ancora molto diverse: un punto non basta a fissare una retta.
- Passo 2 (due punti): la posteriori diventa già piccola e concentrata, perché per individuare una retta due punti sono quasi sufficienti; il rumore lascia solo un margine di incertezza.
- Passo 20 (circa venti punti): la posteriori è una campana strettissima vicino ai valori veri . Non è centrata esattamente sul valore vero: il prior con varianza finita esprimeva una lieve preferenza per pesi piccoli, e questa preferenza lascia una piccola distorsione residua nella soluzione, il prezzo pagato in cambio della regolarizzazione.
10.5 La distribuzione predittiva#
Tutto questo riguarda i pesi, ma alla fine ciò che interessa è predire il target di un nuovo punto. La distribuzione a posteriori sui pesi, combinata con il modello di rumore, produce la distribuzione predittiva del target per un nuovo input :
La media è quello che non poteva non essere: la predizione del modello con i pesi medi a posteriori. La varianza si decompone in due contributi:
- è l’incertezza irriducibile dovuta al rumore intrinseco dei dati: se il generatore ha varianza 0.04, nessuna quantità di dati potrà mai rendere le predizioni più precise di così;
- è l’incertezza sui parametri riflessa sul target, e dipende dal punto : è piccola vicino ai dati osservati e grande nelle regioni inesplorate. Quando questo termine va a zero e resta solo il rumore dei dati.
Visivamente, approssimando una sinusoide con 9 basi gaussiane: con un solo punto osservato la banda di confidenza attorno alla predizione è strettissima vicino a quel punto e larghissima ovunque altrove, e le funzioni campionate dalla posteriori si aprono a ventaglio; con 25 punti la banda si stringe ovunque e le funzioni campionate si addensano attorno alla sinusoide vera.
In parole semplici: il modello bayesiano non dà solo una predizione, dà una predizione con la sua barra di errore, diversa punto per punto: stretta dove ha visto dati, larga dove sta tirando a indovinare. Con l’OLS si ha solo la linea rossa della predizione; con il bayesiano si sa anche quanto fidarsi di ogni suo tratto.
10.6 Sfide e limiti#
L’approccio bayesiano paga la sua eleganza con assunzioni forti. Sul fronte della modellazione, il modello deve dare probabilità ragionevoli a tutte le funzioni plausibili, e il prior non deve né azzerare la probabilità di valori possibili né essere talmente vago da non dire nulla. Sul fronte computazionale, l’integrazione analitica è possibile solo con prior coniugati e modelli semplici: nel caso generale servono approssimazioni (di Laplace, integrazione Monte Carlo, metodi variazionali).
Più in generale, i modelli lineari a basi fisse hanno vantaggi netti: soluzione in forma chiusa, trattamento bayesiano trattabile, capacità di modellare relazioni non lineari con basi opportune. Ma hanno due limiti strutturali: le basi non si adattano ai dati (sono scelte prima e restano quelle), e il numero di basi necessarie esplode con la dimensionalità dell’input, la maledizione della dimensionalità già incontrata. Le tecniche successive del corso, in particolare i metodi kernel e le reti neurali, nascono per aggirare proprio questi limiti.
11. Valutare un modello di regressione#
11.1 La pipeline pratica e la normalizzazione dei dati#
Prima ancora di addestrare il modello, un problema reale richiede alcuni passi preliminari: caricare i dati, ispezionarli qualitativamente, eventualmente selezionare quelli di interesse (spesso con l’aiuto di un esperto di dominio). Seguono i passi di preprocessing:
- Shuffling: rimescolare l’ordine dei dati, per evitare che il risultato dipenda dall’ordine di raccolta. Alcuni algoritmi sono sensibili all’ordine di presentazione dei dati; per la soluzione in forma chiusa della regressione lineare lo shuffling è ininfluente, ma è buona pratica generale.
- Rimozione di dati inconsistenti e outlier: se si dispone di un criterio per riconoscerli.
- Imputazione dei dati mancanti: se si ha un modo sensato di riempirli.
- Normalizzazione: riportare le variabili a una scala comune.
Per la normalizzazione di una variabile con valori ci sono due tecniche standard:
- Z-score: si sottrae la media campionaria e si divide per la deviazione standard campionaria : dopo la trasformazione i dati hanno media 0 e deviazione standard 1.
- Min-max scaling: : dopo la trasformazione i dati vivono nell’intervallo .
Quale usare dipende dall’algoritmo a valle; nel corso si userà tipicamente lo z-score.
Come banco di prova pratico si usa spesso il dataset Iris: 150 righe, ognuna con quattro variabili continue (lunghezza e larghezza di sepalo e petalo di un fiore) più la specie (setosa, versicolor, virginica, 50 esemplari ciascuna). Una domanda di regressione naturale: si può predire la larghezza del petalo dalla sua lunghezza? Il grafico di dispersione mostra punti ben allineati lungo una retta, quindi un modello lineare è promettente. In Python la regressione si esegue con scikit-learn (oggetto LinearRegression e metodo fit), con statsmodels (metodo OLS), oppure implementando direttamente la formula in forma chiusa.
11.2 Indici di errore: RSS, MSE, RMSE#
I primi indici di qualità derivano direttamente dalla loss:
- RSS: , la somma dei quadrati dei residui;
- MSE (mean squared error): , che rimuove la dipendenza dal numero di punti: è l’mean squared error per punto;
- RMSE (root mean squared error): , che riporta l’errore nella stessa unità di misura del target.
Questi indici però sono poco informativi in assoluto: sapere che l’errore medio è 0.2 non dice se sia un buon risultato, perché dipende dalla scala e dalla difficoltà del problema. Serve un indice relativo.
11.3 Il coefficiente di determinazione #
Idea chiave: confrontare il proprio modello con il modello più stupido possibile, quello che predice sempre lo stesso valore costante; il guadagno rispetto a quel modello dice quanto il proprio modello sta davvero spiegando.
dove è la media campionaria dei target e la TSS (total sum of squares) è la RSS del miglior modello costante, quello che predice sempre .
Lettura: se RSS e TSS sono simili, il rapporto vale circa 1 e , cioè il modello non fa meglio di una linea orizzontale; se RSS è molto più piccola di TSS, il rapporto va a 0 e , cioè il modello spiega quasi tutta la variabilità del target.
Alcune proprietà importanti, spesso oggetto di domande d’esame:
- il miglior modello costante sul training set è la media dei target: nessun’altra costante ha RSS più bassa. Quindi l’ del modello costante con la media è esattamente 0, e un modello costante con un valore diverso dalla media ha negativo. Un pari a 0.05 per un modello costante è impossibile: o è 0 (costante = media) o è negativo;
- aggiungendo variabili a un modello lineare, l’ calcolato sul training set non può diminuire: i pesi sono ottenuti minimizzando la RSS su uno spazio di ipotesi più grande, che contiene il precedente;
- proprio per questo, un alto sul training set non basta a dire che il modello è buono: aggiungendo abbastanza feature si può portare l’ arbitrariamente vicino a 1 anche overfittando. La valutazione seria richiede dati freschi, statisticamente indipendenti dal training set: il tema verrà sviluppato più avanti nel corso.
Si definiscono inoltre i gradi di libertà del modello di regressione come (campioni meno parametri stimati) e una versione “adjusted” dell’ che ne tiene conto, penalizzando i modelli con molti parametri; quest’ultima è però poco usata in pratica.
In parole semplici: risponde a “quanto meglio faccio rispetto a chi spara sempre la media?”. Vale 1 se il modello è perfetto, 0 se non aggiunge nulla alla media, negativo se fa addirittura peggio. Ma attenzione: calcolato sugli stessi dati di training, premia anche chi impara a memoria.
11.4 Test statistici sui coefficienti#
L’ dà una valutazione globale ma grossolana. Per affermazioni rigorose (“questa variabile serve davvero?”) si costruiscono test d’ipotesi, sotto l’assunzione generativa gaussiana: con rumore bianco gaussiano indipendente per ogni campione. La varianza del rumore si stima in modo non distorto dai residui:
Sotto queste ipotesi si può dimostrare (i dettagli sono sul libro di testo) che la quantità
segue una distribuzione t di Student con gradi di libertà, dove è il coefficiente stimato dai dati, quello vero del generatore e è il -esimo elemento diagonale di . Da qui due test fondamentali.
In questa sezione lo stesso simbolo compare con tre ruoli distinti, e confonderli è un classico errore di lettura:
- è il target dell’-esimo campione, come nel resto del capitolo;
- è la distribuzione t di Student: il pedice conta i gradi di libertà, non i campioni. Non è né un target né un indice;
- è la statistica del test, un singolo numero calcolato dai dati.
La chiave di lettura è il simbolo : l’espressione si legge “ è distribuita come una t di Student con gradi di libertà”. Dove compare , la è la distribuzione; altrove è un target o la statistica.
Sul perché proprio : sono i gradi di libertà residui. Delle osservazioni, vengono “consumate” per stimare gli parametri, e il vettore dei residui è vincolato a vivere nel complemento ortogonale del sottospazio della sezione 4, che ha appunto dimensione . È lo stesso motivo per cui divide per e non per : è ciò che rende la stima non distorta. Se i gradi di libertà si annullano e i test perdono significato; per grande, invece, la t converge alla gaussiana standard.
Test t su un singolo coefficiente. Ci si chiede se la variabile sia statisticamente significativa. Ipotesi nulla (la variabile non conta; come sempre nei test, l’ipotesi nulla è quella che si vorrebbe rigettare) contro l’alternativa . Sotto la statistica diventa
interamente calcolabile dai dati. L’intuizione: se il valore stimato è molto lontano da zero rispetto alla sua incertezza, c’è evidenza che il coefficiente vero sia diverso da zero. Si fissa un livello di significatività , si ricava dalla distribuzione t la soglia corrispondente, e si rigetta se supera la soglia. Equivalentemente si guarda il p-value: la minima significatività alla quale si rigetterebbe l’ipotesi nulla; un p-value vicino a zero significa rigettare con probabilità di errore piccolissima, cioè forte evidenza che il coefficiente sia significativo.
Test F sulla regressione complessiva. Ci si chiede se il modello nel suo insieme sia meglio di una costante. Ipotesi nulla (tutti i pesi tranne il bias sono nulli) contro l’esistenza di almeno un peso non nullo. È la versione “di principio” del confronto già fatto con l’. La statistica è
che sotto le assunzioni segue una distribuzione di Fisher con parametri e . Si rigetta quando è sufficientemente grande: un grande significa che la differenza tra TSS e RSS è grande, cioè che il modello ha una RSS molto più piccola del modello costante, quindi c’è evidenza che il modello serva davvero. La forma della statistica è, non a caso, imparentata con l’.
In parole semplici: il test t chiede, variabile per variabile, “questo coefficiente potrebbe essere zero e io sto vedendo solo rumore?”; il test F chiede, per il modello intero, “tutto questo modello potrebbe essere inutile rispetto a una semplice media?”. In entrambi i casi, statistica grande e p-value piccolo significano “no, l’effetto è reale”.
11.5 Leggere l’output di una regressione#
All’esame può essere chiesto di interpretare il tabulato prodotto da una libreria (per esempio statsmodels su Iris, predicendo la larghezza del petalo dalla lunghezza, con osservazioni). Gli elementi da saper leggere:
- R-squared : vicino a 1, il modello è nettamente migliore del modello costante (accanto compare anche la versione adjusted);
- F-statistic con p-value dell’ordine di : valore enorme e p-value praticamente zero, quindi si rigetta l’ipotesi che il modello sia equivalente a una costante con significatività prossima a zero: conferma formale di quanto detto dall’;
- tabella dei coefficienti: per ogni variabile compaiono il valore stimato del coefficiente, la sua statistica t (qui circa 43: un valore assoluto così grande indica forte evidenza che il coefficiente sia diverso da zero) e il p-value associato (qui circa zero: il coefficiente è statisticamente significativo).
Attenzione a un dettaglio pratico: alcune librerie di default non includono il termine costante, che va aggiunto esplicitamente se lo si vuole nel modello.
12. Esercizi d’esame svolti#
12.1 Riconoscere gli ingredienti di un problema#
Traccia. È data la relazione , dove è il ricavo dalle vendite e , , sono le somme spese in pubblicità rispettivamente in TV, radio e giornali. Identificare: la variabile di risposta, le feature, il modello; dire che tipo di problema si sta cercando di risolvere.
Svolgimento. La risposta (detta anche target o output) è l’uscita del modello: . Le variabili indipendenti (dette anche feature o input) sono gli ingressi: , e ; “feature” e “variabili” sono due nomi per la stessa cosa. Il modello è la mappa dagli input all’output, cioè la funzione .
Per il tipo di problema conviene ripassare la tassonomia. Si è nell’apprendimento supervisionato perché ci sono variabili di input e un target. Dentro il supervisionato:
- regressione: il target è un numero reale;
- classificazione: il target assume valori in un numero finito di classi (con due sole classi, convenzionalmente 0 e 1, si parla di classificazione binaria);
- stima di densità: il target è una densità di probabilità.
Qui il target è un ricavo, cioè una variabile continua: si tratta di regressione. La giustificazione da scrivere all’esame è esattamente questa: c’è un target, quindi supervisionato; il target è continuo, quindi regressione.
12.2 Feature linearmente dipendenti: input e #
Traccia. Si consideri una regressione lineare con input , target e parametro ottimo . Che cosa succede se si usa come input la coppia di variabili ? Che cosa ci si aspetta sull’incertezza dei parametri? Come si può risolvere il problema? Che cosa succede invece con la coppia ?
Svolgimento. Il nuovo modello ha due parametri:
Il modello dipende dai parametri solo attraverso la combinazione . Se era il parametro ottimo del problema originale, allora ogni coppia che soddisfa
è una soluzione ottima: le soluzioni sono infinite (un’intera retta nello spazio dei parametri).
Lo stesso fatto si vede dall’algebra dei least squares. La matrice di design è
La seconda colonna è il doppio della prima, quindi ha rango 1. Il rango di un prodotto non supera il minimo dei ranghi dei fattori, quindi la matrice ha anch’essa rango al più 1: è singolare e non si può invertire. La formula OLS non è applicabile, ed è esattamente il sintomo algebrico dell’esistenza di infinite soluzioni.
Sull’incertezza dei parametri: con infinite soluzioni indistinguibili dai dati, l’incertezza sui singoli parametri è illimitata; formalmente, la covarianza della stima coinvolge che non esiste (varianze che divergono).
Rimedi, entrambi validi all’esame:
- Rimuovere le colonne linearmente dipendenti, finché la matrice di design torna a rango pieno: qui basta tenere solo .
- Ridge regression, se non si vuole toccare il design: si minimizza RSS più e la soluzione diventa . La matrice da invertire è la somma di , semidefinita positiva (autovalori ), e , definita positiva: tutti gli autovalori della somma sono , quindi la matrice è sempre invertibile per ogni e il problema torna ad avere soluzione unica.
Ultimo quesito: con input il problema non si ripresenta. è una trasformazione non lineare di : le colonne e non sono in generale linearmente dipendenti, la matrice di design ha rango pieno e è invertibile. La dipendenza che rompe l’OLS è solo quella lineare.
12.3 Interpretare il coefficiente di determinazione#
Traccia. Su un dataset con due input , e output si addestrano due modelli: , il modello costante , e , il modello lineare completo . I coefficienti di determinazione risultano e . Dire se le seguenti affermazioni sono vere o false, giustificando:
- il valore alto di indica che esiste una forte relazione tra e ;
- il valore alto di indica che esiste una forte relazione tra e ;
- sapendo inoltre che il modello ha , come cambiano le risposte?
- non fornisce risultati migliori di : vero o falso?
Svolgimento.
Osservazione preliminare sul valore . Se la traccia riportasse per il modello costante un come 0.05, sarebbe un errore: il miglior modello costante è la media dei target, e per costruzione ha (RSS = TSS); qualunque altra costante fa peggio della media e produce negativo (RSS > TSS). Quindi per un modello costante può essere solo 0 o negativo, mai un piccolo valore positivo.
Affermazione 1: falsa. vicino a 1 dice solo che il modello completo è molto migliore del modello costante. Ma il merito potrebbe essere interamente di : tutta l’informazione che rende migliore della costante potrebbe venire dall’altra variabile, e potrebbe essere irrilevante. Regola generale: non si possono trarre conclusioni su una singola variabile dall’ di un modello che ne contiene altre. (Se avesse contenuto solo , allora sì: l’unica differenza rispetto alla costante sarebbe stata la presenza di , e l’ alto sarebbe stato attribuibile a lei.)
Affermazione 2: falsa, per lo stesso identico argomento a ruoli scambiati: l’ alto potrebbe essere dovuto a .
Affermazione 3. Il modello contiene solo e ha : qui la differenza rispetto al modello costante è la sola presenza di , quindi si può concludere che esiste una relazione forte tra e : l’affermazione 1, riferita a questa nuova evidenza, diventa sostenibile. Per : aggiungendola al modello, l’ passa da 0.9 a 0.95; poiché aumenta, porta qualche informazione aggiuntiva sul target (parlare di relazione “forte” sarebbe eccessivo: l’incremento è di 0.05). Due precisazioni utili:
- l’ sul training set non può diminuire aggiungendo variabili, perché i pesi minimizzano la RSS su uno spazio di ipotesi più ricco che contiene il precedente; quindi il confronto corretto è “di quanto aumenta”, non “se aumenta”;
- caso limite istruttivo: se l’ non fosse cambiato affatto (0.9 anche con ), non si potrebbe concludere che è irrilevante: potrebbe essere irrilevante, oppure portare la stessa informazione di (per esempio : stesso potere rappresentativo, nessun incremento di ). I due casi sono indistinguibili dal solo .
Affermazione 4: falsa. ha maggiore di , quindi, almeno guardando l’, è migliore. Con una cautela finale importante: tutti questi sono calcolati sugli stessi dati usati per l’addestramento. Su dati di training l’ si può gonfiare a piacere aggiungendo variabili, quindi la valutazione onesta della qualità di un modello richiede dati freschi, indipendenti dal training set: il tema (validazione e stima dell’errore di generalizzazione) sarà sviluppato più avanti nel corso.
Glossario#
| Termine | Definizione |
|---|---|
| Regressione | Problema supervisionato in cui si apprende un’approssimazione di una funzione ignota che mappa input in un output continuo. |
| Parametro di bias () | Termine costante del modello lineare, non moltiplicato da alcuna variabile; consente alla funzione di non passare per l’origine. |
| Residuo | Errore commesso dal modello sul singolo campione. |
| RSS / SSE | Somma dei quadrati dei residui; la loss function standard della regressione lineare. |
| Funzione base | Trasformazione (anche non lineare) dell’input che genera una nuova feature; il modello resta lineare nei pesi. |
| Feature space | Spazio degli input trasformati dalle funzioni base, nel quale il modello è lineare. |
| Matrice di design () | Matrice con una riga per campione e una colonna per feature. |
| OLS (ordinary least squares (OLS)) | Soluzione in forma chiusa che minimizza la RSS. |
| Equazioni normali | Il sistema ottenuto annullando il gradiente della RSS. |
| Hat matrix () | Matrice che proietta ortogonalmente il vettore dei target sul sottospazio generato dalle feature. |
| Batch / mini-batch gradient descent | Batch: ogni passo usa il gradiente su tutti gli campioni, ; mini-batch: su un sottoinsieme per volta. Differiscono dalla SGD solo per l’ampiezza della sommatoria. |
| SGD / LMS | Gradient descent stocastica; per la loss quadratica prende il nome di Least Mean Squares: aggiorna i pesi un campione alla volta. |
| Learning rate () | Ampiezza del passo di aggiornamento nei metodi iterativi; deve decrescere nel tempo per garantire la convergenza. |
| Underfitting | Modello troppo semplice per catturare la relazione input-target; errore alto già sul training set. |
| Overfitting | Modello che si adatta al rumore del training set perdendo capacità di generalizzazione; sintomo tipico: pesi molto grandi. |
| Regolarizzazione | Aggiunta alla loss di un termine che penalizza pesi grandi per limitare l’overfitting. |
| Ridge regression | Regolarizzazione in norma 2; soluzione in forma chiusa , con matrice sempre invertibile. |
| Lasso | Regolarizzazione in norma 1; niente forma chiusa, ma produce soluzioni sparse (selezione automatica delle feature). |
| Likelihood | Probabilità dei dati osservati in funzione dei parametri, . |
| Maximum likelihood (ML) | Stima dei parametri che massimizza la likelihood; con rumore gaussiano coincide con l’OLS. |
| Teorema di Gauss-Markov | La stima OLS/ML ha varianza minima tra tutte le stime lineari non distorte. |
| Prior | Distribuzione di probabilità sui parametri che codifica la conoscenza prima di osservare i dati. |
| Prior coniugato | Prior tale che la posteriori appartiene alla sua stessa famiglia di distribuzioni; per likelihood gaussiana è la gaussiana. |
| Posteriori | Distribuzione sui parametri dopo aver osservato i dati, ottenuta via teorema di Bayes. |
| MAP (massimo a posteriori) | Valore dei parametri che massimizza la posteriori; con posteriori gaussiana coincide con la sua media. |
| Distribuzione predittiva | Distribuzione del target per un nuovo input, con varianza pari a rumore dei dati più incertezza sui parametri. |
| Maledizione della dimensionalità | Crescita esponenziale del numero di feature/basi necessarie al crescere della dimensione dell’input. |
| Z-score | Normalizzazione che porta i dati a media 0 e deviazione standard 1. |
| Min-max scaling | Normalizzazione che porta i dati nell’intervallo . |
| MSE / RMSE | Mean squared error (RSS/) e sua radice quadrata, nella stessa unità del target. |
| TSS | Total sum of squares: RSS del miglior modello costante (la media dei target). |
| Coefficiente di determinazione, : misura il miglioramento rispetto al modello costante. | |
| Gradi di libertà | : numero di campioni meno numero di parametri stimati. |
| Notazione | Tre usi distinti: = target del campione ; = distribuzione t di Student con gradi di libertà (il pedice sono i gradi di libertà); = statistica del test. Il simbolo segnala la distribuzione. |
| Test t (singolo coefficiente) | Test con ipotesi nulla ; statistica . |
| Test F | Test con ipotesi nulla “tutti i pesi tranne il bias nulli”; statistica . |
| p-value | Minima significatività alla quale si rigetta l’ipotesi nulla; vicino a zero indica forte evidenza contro l’ipotesi nulla. |