corso di sistemi di elaborazione...
TRANSCRIPT
Corso di Sistemi di Elaborazione dell’Informazione
Prof. Giuseppe Boccignone
Dipartimento di Informatica
Università di Milano
boccignone.di.unimi.it/FM_2016.html
SCUOLA DI SPECIALIZZAZIONE IN FISICA MEDICA
Regressione
Apprendimento supervisionato //Regressione
Apprendimento supervisionato //Regressione
Regressione lineare //Fitting di una retta
• Supponiamo di avere i seguenti datixtrain
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ttrain
2.4865 -0.3033 -4.0531 -4.3359 -6.1742 -5.6040 -3.5069 -2.3257 -4.6377 -0.2327 -1.9858 1.0284 -2.2640 -0.4508 1.1672 6.6524 4.1452 5.2677 6.3403 9.6264 14.7842
>> figure(1)>> plot(xtrain,ttrain,'.')
t
x
dati di training disponibili
• Problema della regressione: dato un vettore di input xT = (x1 , x2 , . . . , xd ), si vuole predire l’output corrispondente individuando una funzione f tale che f(x) non sia troppo diverso dal valore di output reale (il target t) associato a x
• Nel caso precedente abbiamo un’unica feature xT = (x1) = x
• Assumiamo che i dati siano modellabili con una retta
• Definiamo come misura della bontà del fitting una funzione di costo (loss function) media su tutti i punti
Regressione lineare //Fitting di una retta
Modello
Funzione di costo
parametri liberi
• Problema della regressione: dato un vettore di input xT = (x1 , x2 , . . . , xd ), si vuole predire l’output corrispondente individuando una funzione f tale che f(x) non sia troppo diverso dal valore di output reale (il target t) associato a x
• Nel caso precedente abbiamo un’unica feature xT = (x1) = x
• Assumiamo che i dati siano modellabili con una retta
• Vogliamo risolvere i seguenti due problemi
Regressione lineare //Fitting di una retta
Modelloparametri liberi
Fit (apprendimento dei parametri su train set)
Predizione (su test set)
• Assumiamo che i dati siano modellabili con una retta
• Definiamo come misura della bontà del fitting una funzione di costo (loss function) media su tutti i punti
• Esempio: somma dei quadrati dei residui (approccio ai minimi quadrati)
Regressione lineare //Fitting di una retta
Modello
Funzione di costo
parametri liberi
Sample MeanSquare Error
MSE
Regressione lineare //Fitting di una retta
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Modello
Funzione di costo
Regressione lineare //Fitting di una retta
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Regressione lineare //Fitting di una retta
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
= = = =
cov (x)
cov (t x)
xbar = mean(xtrain); %media sui dati x di training tbar = mean(ttrain); %media sui dati y di trainingN = length(ytrain);%Fittingw1 = sum( (xtrain-xbar) .* (ttrain-tbar) ) / sum( (xtrain-xbar).^2 )w0 = tbar - w1*xbar
w1 = 0.6704
w0 = -5.9605
t = -5.9605 + 0.6704 x
Modello appreso dai dati di training
Regressione lineare //Fitting di una retta
dati di training dati di test
Regressione lineare //Fitting di una retta
figure(2);scatter(xtest,ttest,'r','filled');title('Test set')
figure(1);scatter(xtrain,ttrain,'b','filled');title('Training set')
• Possiamo ora effettuare la predizione sugli x di test usando il modello appreso
t = -5.9605 + 0.6704 xtest
v
%PredizioneNtest = length(xtest);t_hat = zeros(Ntest,1); %allocazione vettorefor i=1:Ntest t_hat(i) = w0 + w1*xtest(i);end
Predizione sui dati di test
Regressione lineare //Fitting di una retta
figure(3);scatter(xtest,ttest,'r','filled');hold on;plot(xtest, t_hat, 'k', 'linewidth', 3);title('Predizione sul test set')
Predizione sui dati di test
Regressione lineare //Fitting di una retta
Esempio: fit dei risultati olimpiadi 100m
• Scriviamo un’equazione per ogni osservazione
• Abbiamo un sistema scrivibile in forma matriciale
Regressione lineare //Fitting di una retta: forma matriciale
design matrix
vettore dei parametri
vettore delle risposte
(response)
design matrix
vettore dei parametri
vettore delle risposte
(response)
Regressione lineare //Fitting di una retta: forma matriciale
• La soluzione si può trovare in forma matriciale
pseudo inversa
di X
w = inv(X’*X)*X’*t
w = pinv(X)*t
w = X \ t
soluzione 1
soluzione 2
soluzione 3
Regressione lineare //Fitting di una retta: forma matriciale
• Possiamo vettorizzare le operazioni e usare l’operatore \
Regressione lineare //Fitting di una retta sfruttando Matlab
Xtrain = xtrain; Xtest = xtest; %% Fit usando le funzioni MatlabXtrain1 = [ones(size(Xtrain,1),1) Xtrain];
w = Xtrain1 \ ttrain
%% PredizioneXtest1 = [ones(size(Xtest,1),1) Xtest];
t_hat = Xtest1*w;
design matrix
Fit
Predizione
• Si noti che l’ MSE
Regressione lineare //Fitting di una retta: forma matriciale
• Applicando la derivazione rispetto a vettori
• ovvero
• Si trova dunque il punto stazionario
Fit
Predizione
Regressione lineare //Fitting di una retta: forma matriciale
Regressione lineare //dalla retta ai modelli lineari
• Combinazione lineare delle variabili di input
• Funzioni lineari dei parametri w
• Funzione lineare delle variabili x. Estensione a combinazione lineare di funzioni base
• In forma matriciale, ponendo
• Risposta non lineare da un modello lineare
Regressione lineare //dalla retta ai modelli lineari
• Se stiamo usando una matrice
• Vale ancora la soluzione MSE con vettore colonna
Regressione lineare //dalla retta ai modelli lineari
design matrix
• Che funzioni di base possiamo utilizzare?
• Polinomiali (funzioni globali)
• Gaussiane (locali)
• Sigmoidali (locali)
• Tangenti iperboliche (locali)
Regressione lineare //dalla retta ai modelli lineari
Esempio: modello quadratico
Esempio: modello di ordine k su dati olimpici
Apprendimento supervisionato //Regressione: overfitting
Polinomio di ordine 0
Apprendimento supervisionato //Regressione: overfitting
Polinomio di ordine 1
Apprendimento supervisionato //Regressione: overfitting
Polinomio di ordine 3
Polinomio di ordine 9
overfitting!
Regressione lineare (deterministica) //Il problema della regolarizzazione (deterministica)
Root-Mean-Square (RMS) Error:
Regressione lineare (deterministica) //Il problema della regolarizzazione (deterministica)
Regressione lineare (deterministica) //Il problema della regolarizzazione (deterministica)
• Introduzione di un termine di regolarizzazione nella funzione di costo
• Esempio: funzione quadratica che penalizza grandi coefficienti
penalized loss function
regularization parameter
dipendendente dai dati
dipendendente dai parametri
Regressione lineare (deterministica) //Il problema della regolarizzazione (deterministica)
Esempio: minimi quadrati regolarizzati
vs
Regressione lineare (deterministica) //Il problema della regolarizzazione (deterministica)
• Assumiamo una generazione di punti con un processo rumoroso
Regressione lineare //modelli con rumore
come definiamo la precisione?
• Assumiamo rumore gaussiano additivo
• Allora
Regressione lineare //modelli probabilistici: stima di ML
precisione
Esempio: modello generativo dei dati olimpici
• Abbiamo N osservazioni nel training set
• Considerando la probabilità congiunta dei target
• Vogliamo stimare i parametri w
Regressione lineare //modelli probabilistici: stima di ML
Introduzione alla Statistica Bayesiana (1) //metodologia generale
predizioni
stima parametriselezione modello
ipotesi H (modelli)
osservazioni S (dati)
P(S | H)
P(H | S)inferenza statistica (machine learning)
Introduzione alla Statistica Bayesiana (1) //metodologia generale
predizioni
stima parametri
ipotesi H (modelli)
osservazioni S (dati)
P(S | H, )
P( | S,H)inferenza statistica (machine learning)
Introduzione alla Statistica Bayesiana (1) //metodologia generale
• Obiettivo: predire un dato x sulla base di n osservazioni S = {x1, . . . , xn}
• Tre step:
• Specifica del modello h con parametri di tuning per la generazione dei dati in S
• Inferenza (learning dei parametri)
• Predizione
Modello o ipotesi h
rappresentazione con modello grafico
probabilistico (PGM)
Introduzione alla Statistica Bayesiana (1) //metodologia generale
rappresentazione della pdf congiunta
rappresentazione con modello grafico
probabilistico (PGM)
funzione di likelihood: (generazione dei dati)
probabilità a priori
• Rinunciando ad un approccio completamente Bayesiano, si possono ottenere stime puntuali dei parametri (ovvero i parametri diventano “numeri” e non VA)
• Stima Maximum A Posteriori (MAP)
• Stima di massima verosimiglianza (Maximum Likelihood, ML)
Introduzione alla Statistica Bayesiana (1) //stime puntuali
• Un vettore aleatorio
forma quadratica di x
• per il singolo campione
Esempio : stima di massima verosimiglianza //caso Gaussiano
Appendice 2 : stima di massima verosimiglianza //caso Gaussiano
• Insieme di campioni x1, . . . , xn da distribuzione Gaussiana di parametri ignoti (identicamente distribuiti)
• Campioni estratti indipendentemente:
• allora
• oppure usando la log-verosimiglianza
L’ipotesi i.i.d
• Se con covarianza nota e media da stimare
• per il singolo campione
• derivando il secondo termine rispetto a (il primo è costante rispetto a teta)
• per tutti i campioni
• ponendo uguale a 0
Esempio: stima di massima verosimiglianza // della Gaussiana
media empirica
• Se con covarianza e media da stimare
• per il singolo campione
• derivando il secondo termine rispetto a e ripetendo il procedimento di prima
Esempio: stima di massima verosimiglianza // Parametri della Gaussiana
media empirica
covarianza empirica
• Training set
• La likelihood è
Regressione lineare //stima di ML dei parametri
L’ipotesi i.i.d
funzione di costo
log-likelihood
Funzione di loss (errore) quadratica
Regressione lineare //modelli probabilistici: stima di ML
• Abbiamo che
max min
Regressione lineare //modelli probabilistici: stima di ML
punto stazionario
• Abbiamo che
max min
soluzione di ML = equazioni normali per i minimi quadrati
Regressione lineare //modelli probabilistici: stima di ML
negativa il punto stazionario è un max
punto stazionario
• Analogamente possiamo anche fornire una stima ML della varianza del rumore, assumendo
Regressione lineare //modelli probabilistici: stima di ML
negativa il punto stazionario è un max
REGRESSIONE PROBABILISTICA
THE AUTHOR
Assumendo w = !w
(1)∂L
∂σ= −
N
σ+
1
σ2
N"
n=1
(tn − xT !w)2 = 0
(2) !σ2 =1
N
N"
n=1
(tn − xT !w)2 =
1
N(t−X!w)T (t−X!w)
1
•Possiamo effettuare la predizione sui dati nuovi (test set)
•Qual è l’incertezza sulle stime del nostro modello?
Regressione lineare //predizione e incertezza
Regressione lineare //predizione e incertezza
l’incertezza è legata alla covarianza dei parametri stimati !!
•Possiamo effettuare la predizione sui dati nuovi (test set)
•Qual è l’incertezza sulle stime del nostro modello?
• Qual è l’incertezza sulle stime del nostro modello?
• E’ legata alla covarianza dei parametri stimati...
• Si ottiene
Regressione lineare //modelli probabilistici: stima di ML
piccola curvatura =
elevata varianza =
parametri poco significativi
• Qual è l’incertezza sulle stime del nostro modello?
• E’ legata alla covarianza dei parametri stimati...
• Poichè ML è stimatore unbiased:
rumore a media 0
Un po’ di conti: Regressione lineare //predizione e incertezza
• Qual è l’incertezza sulle stime del nostro modello?
• E’ legata alla covarianza dei parametri stimati...
• Si ottiene
piccola curvatura =
elevata varianza =
parametri poco significativi
Un po’ di conti: Regressione lineare //predizione e incertezza
• Qual è l’incertezza sulle stime del nostro modello?
Regressione lineare //modelli probabilistici: stima di ML
Regressione lineare //andamento della funzione di log-likelihood
REGRESSIONE PROBABILISTICA
THE AUTHOR
Assumendo w = !w
(1)∂L
∂σ= −
N
σ+
1
σ2
N"
n=1
(tn − xT !w)2 = 0
(2) !σ2 =1
N
N"
n=1
(tn − xT !w)2 =
1
N(t−X!w)T (t−X!w)
Relazione tra w e !w
Ep(t|X,w,σ) [!w] =
#!wp(t|X,w,σ)dt(3)
= (XTX)−1
XT
#tp(t|X,w,σ)dt
= (XTX)−1
XTEp(t|X,w,σ) [t]
= (XTX)−1
XTXw
= w
Predizione:
(4) tnew = !wTxnew
σ2new = var{tnew} = Ep(t|X,w,σ)
$t2new
%− (Ep(t|X,w,σ) [tnew])
2(5)
= σ2xTnew(X
TX)−1
xnew
= xTnewcov{!w}xnew
likelihood:
logL = −N
2log 2π −
N
2log&σ2 −
1
2&σ2N&σ2(6)
= −N
2(1 + 2 log 2π)−
N
2log&σ2
1
Esempio: andamento log-verosimiglianza su dati olimpici
Esempio: predizione incertezza
• La likelihood è
• Dove la funzione di costo o di errore è
Regressione lineare //stima di ML dei parametri di generiche funzioni di x
max min
equazioni normali per i minimi quadrati
Regressione lineare //stima di ML dei parametri di generiche funzioni di x
• Abbiamo generalizzato il risultato già ottenuto per la retta
equazioni normali per i minimi quadrati
design matrix
Regressione lineare //stima di ML dei parametri di generiche funzioni di x
• Possiamo computare il Minimo di ED(w) anche in modo non analitico: metodo di discesa del gradiente (procedura iterativa)
• Inizializzazione
• while ( ~ condizioneTerminazione)
i = i+1;
Regressione lineare //stima di ML dei parametri di generiche funzioni di x
• Possiamo computare il Minimo di ED(w) anche in modo non analitico: metodo di discesa del gradiente (procedura iterativa)
• Inizializzazione
• while ( ~ condizioneTerminazione)
i = i+1;
Regressione lineare //stima di ML dei parametri di generiche funzioni di x
• Valore pratico limitato: ci vogliono molti data sets (ensemble di data set)
• Approccio frequentistico
• In generale:
• L’utilizzo del criterio di massima verosimiglianza (ML) per la determinazione dei parametri del modello tende tipicamente ad essere soggetto al problema dell’overfitting
• Per controllare la complessità del modello, un approccio di tipo bayesiano, invece di fare uso del termine di regolazione E(w), introduce una distribuzione che rappresenta la nostra valutazione a priori (prima dell’osservazione del training set) dei valori dei coefficienti w
Regressione lineare probabilistica ML //problemi
• Per un singolo lancio uso Bernoulli
• Likelihood per N lanci indipendenti
• Stima ML
• Quindi se dopo N=3 lanci osservo S = {C, C, C} allora
Esempio: stima di massima verosimiglianza // lancio di moneta
1 se il lancio ha dato “testa” come esito 0 altrimenti
= 0
= 0 :-(
• Nel setting ML (frequentistico) in realtà con N piccolo ottengo conclusioni fuorvianti (la moneta è sicuramente truccata: darà sempre CCCCCCC....)
• Approccio Bayesiano:
Esempio: stima Bayesiana (2) // lancio di moneta
funzione di likelihood: distribuzione di Bernoulli
a priori
funzione di likelihood: distribuzione di Bernoulli
a prioria posteriori:
• Nel setting ML (frequentistico) in realtà con N piccolo ottengo conclusioni fuorvianti (la moneta è sicuramente truccata: darà sempre CCCCCCC....)
• Approccio Bayesiano:
Esempio: stima Bayesiana (2) // lancio di moneta
funzione di likelihood: distribuzione di Bernoulli a priori coniugata di
Bernoulli: distribuzione Betaa posteriori:
distribuzione Beta
a priori coniugata di Bernoulli: distribuzione Beta
funzione di likelihood: distribuzione di Bernoulli
• Approccio Bayesiano:
Esempio: stima Bayesiana (2) // lancio di moneta
funzione di likelihood: distribuzione di Bernoulli a priori coniugata di
Bernoulli: distribuzione Betaa posteriori:
distribuzione Beta
a priori coniugata di Bernoulli: distribuzione Beta
funzione di likelihood: distribuzione di Bernoulli
a posteriori: distribuzione Beta
Esempio: stima Bayesiana (2) // funzione gamma
• Approccio Bayesiano:
Esempio: stima Bayesiana (2) // lancio di moneta
funzione di likelihood: distribuzione di Bernoulli a priori coniugata di
Bernoulli: distribuzione Betaa posteriori:
distribuzione Beta
a priori coniugata di Bernoulli: distribuzione Beta
funzione di likelihood: distribuzione di Bernoulli
a posteriori: distribuzione Beta
• Approccio Bayesiano:
• Uso come stima il valore atteso della Beta
Esempio: stima Bayesiana (2) // lancio di moneta
funzione di likelihood: distribuzione di Bernoulli a priori coniugata di
Bernoulli: distribuzione Betaa posteriori:
distribuzione Beta
a posteriori: distribuzione Beta
• Uso come stima il valore atteso della Beta
• Anche se uso un a priori uniforme
• Quindi se dopo N=3 lanci osservo S = {C, C, C} allora
Esempio: stima Bayesiana (2) // lancio di moneta
= 0.2 ;-)
• Non a caso abbiamo utilizzato come stima il valore atteso della Beta
• Implicitamente abbiamo usato la predizione Bayesiana:
• Nel nostro esempio
Esempio: stima Bayesiana (2) // lancio di moneta
• Qual è la relazione con la stima di massima verosimiglianza?
• Per infiniti lanci
• ovvero:
• Infatti per T e N >> e
Esempio: stima Bayesiana (2) // lancio di moneta
• Posso usare la formula di Bayes in modo ricorsivo (sequenziale)
• ad ogni lancio, osservo T o C e uso come a priori la posteriori (Beta) del lancio precedente, quindi effettuo la predizione
• S={C,C,C}
• S={C,C,C,T}
Esempio: stima Bayesiana (2) // lancio di moneta
aggiorno la mia credenza a priori
osservo
osservo
predìco
predìcoaggiorno la mia
credenza a priori
inferenza
inferenza
• Nel nostro modello h possiamo calcolare in forma chiusa anche la verosimiglianza marginale o evidenza (dei dati)
• Ricordando che
• Usando Bayes
Esempio: stima Bayesiana (2) // lancio di moneta
• Framework probabilistico
Regressione lineare //Approccio Bayesiano: sintesi
• Framework probabilistico
Regressione lineare //Approccio Bayesiano: sintesi
Regola di Bayes
Regola di Bayes per la regressione
Probabilità congiunta
funzione di likelihood:
a priori sui pesi
a posteriori: sui pesi
evidenza
• I pesi w non sono semplici parametri ma variabili aleatorie su cui fare inferenza abbiamo cioè un modello generativo
Regressione lineare //Approccio Bayesiano: sintesi
• I pesi w non sono semplici parametri ma variabili aleatorie su cui fare inferenza abbiamo cioè un modello generativo
Regressione lineare //Approccio Bayesiano: sintesi
Probabilità congiunta (probabilità di tutto)
• I pesi w non sono semplici parametri ma variabili aleatorie su cui fare inferenza abbiamo cioè un modello generativo
• Si introduce una probabilità a priori su w (che regolarizza: favorisce piccoli w)
• Dai dati di training si calcola la probabilità a posteriori
Regressione lineare //Approccio Bayesiano: sintesi
Iperparametri
• Dai dati di training si calcola la probabilità a posteriori
Regressione lineare //Approccio Bayesiano: sintesi
Iperparametri
• Dai dati di training si calcola la probabilità a posteriori
• Per un nuovo dato x, predico t usando la distribuzione predittiva
Regressione lineare //Approccio Bayesiano: sintesi
• Si assume che i coefficienti w siano tra loro indipendenti e tutti distribuiti allo stesso modo, secondo una gaussiana a media 0 e varianza
• ovvero una gaussiana multivariata
• con parametri
Regressione lineare //Approccio Bayesiano: l’ipotesi sul prior
Regressione lineare //Approccio Bayesiano: l’ipotesi sul prior
Regressione lineare //Approccio Bayesiano: likelihood
=
Regressione lineare //Approccio Bayesiano: prob. a posteriori
Regressione lineare //Approccio Bayesiano: prob. a posteriori
predizione
incertezza
Regressione lineare //Approccio Bayesiano: predizione
Regressione lineare //Approccio Bayesiano: learning sequenziale
osservo
osservo
rette campionate dalla distribuzione
Regressione lineare //Approccio Bayesiano: learning sequenziale
osservo
osservo
rette campionate dalla distribuzione
Regressione lineare //Approccio Bayesiano: learning sequenziale
osservo
osservo
rette campionate dalla distribuzione
Regressione lineare //Approccio Bayesiano: learning sequenziale
osservo
osservo
rette campionate dalla distribuzione
predizione
incertezza
Regressione lineare //Approccio Bayesiano per
diventa uniforme
Regressione lineare //Approccio Bayesiano per = ML
Esempio: regressione Bayesiana su dati olimpici
• Data la posteriori
Regressione lineare //Approccio Bayesiano: predizione
=
• Data la posteriori
Regressione lineare //Approccio Bayesiano: caso generale
Risultato ancora gaussiano
Rumore dati
Incertezza nei parametri w
Regressione lineare //Approccio Bayesiano: esempio
Regressione lineare //Approccio Bayesiano: esempio
• In un approccio totalmente Bayesiano anche gli iper-parametri sono variabili aleatorie
• Per un nuovo dato x, predico t usando la distribuzione predittiva
• problema intrattabile in forma chiusa!!
Regressione lineare //Approccio totalmente Bayesiano: sintesi
Variabili aleatorie
Modello Bayesiano gerarchico
Regressione: Appendici
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Minimizzazione della funzione di
costo rispetto ai parametri
medie empiriche
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Appendice 1: Regressione lineare //Fitting di una retta: derivazione
Minimizzazione della funzione di
costo rispetto ai parametri
• Vogliamo che tale costo (o errore) sia minimo al variare dei parametri
Appendice 1: Regressione lineare //Fitting di una retta: derivazione