Computazione per l interazione naturale: regressione logistica Bayesiana

Documenti analoghi
Computazione per l interazione naturale: classificazione probabilistica

Computazione per l interazione naturale: classificazione probabilistica

Computazione per l interazione naturale: classificazione supervisionata

Classificazione. Apprendimento supervisionato //Classificazione. Corso di Sistemi di Elaborazione dell Informazione

Computazione per l interazione naturale: Regressione probabilistica

Computazione per l interazione naturale: Regressione probabilistica

Computazione per l interazione naturale: processi gaussiani

Computazione per l interazione naturale: Regressione lineare

Regressione. Apprendimento supervisionato //Regressione. Corso di Sistemi di Elaborazione dell Informazione

Computazione per l interazione naturale: modelli a variabili latenti (clustering e riduzione di dimensionalità)

Computazione per l interazione naturale: fondamenti probabilistici (2)

Computazione per l interazione naturale: Modelli dinamici

Computazione per l interazione naturale: fondamenti probabilistici (2)

Computazione per l interazione naturale: fondamenti probabilistici

Computazione per l interazione naturale: clustering e riduzione di dimensionalità

Gaussian processes (GP)

Computazione per l interazione naturale: fondamenti probabilistici

Regressione Lineare e Regressione Logistica

Modelli Probabilistici per la Computazione Affettiva: Learning/Inferenza parametri

Computazione per l interazione naturale: macchine che apprendono

Regressione Lineare. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

Presentazione dell edizione italiana

Modelli Probabilistici per la Computazione Affettiva: Inferenza approssimata con Monte Carlo

Computazione per l interazione naturale: fondamenti probabilistici (1)

Riduzione di dimensionalità

0 altimenti 1 soggetto trova lavoroentro 6 mesi}

Computazione per l interazione naturale: macchine che apprendono

1.1 Obiettivi della statistica Struttura del testo 2

Computazione per l interazione naturale: Modelli dinamici

Computazione per l interazione naturale: Richiami di ottimizzazione (3) (e primi esempi di Machine Learning)

Computazione per l interazione naturale: macchine che apprendono

Equazioni e sistemi non lineari

Calcolo Numerico - Prova Matlab 19 luglio 2013

Generazione di Numeri Casuali- Parte 2

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011

Algoritmi di classificazione supervisionati

Equazioni e sistemi non lineari

Gradiente Coniugato Precondizionato in MatLab

Metodi iterativi per equazioni nonlineari.

f(x) = x e x, prendere come intervallo iniziale [0, 1] e fissare come precisione ε = 10 8.

Statistica multivariata

Statistica multivariata

Elementi di Calcolo Scientifico per l Ingegneria A.A

Laboratorio di Calcolo Numerico

Riconoscimento e recupero dell informazione per bioinformatica

Statistica multivariata

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

VIII Indice 2.6 Esperimenti Dicotomici Ripetuti: Binomiale ed Ipergeometrica Processi Stocastici: Bernoul

Modelli Probabilistici per la Computazione Affettiva: Modelli a template e rappresentazioni complesse

Esercizio 1. Esercizio 2

Minimi quadrati e massima verosimiglianza

Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011

Capitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo

Computazione per l interazione naturale: Richiami di algebra lineare

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a Prof. B.Paternoster

Computazione per l interazione naturale: macchine che apprendono

Laboratorio di Calcolo Numerico Laboratorio 4: Functions. Soluzione di Equazioni non lineari

Esame di Calcolo Numerico

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

Laboratorio di Calcolo Numerico Laboratorio 12: Metodi iterativi per la soluzione di sistemi lineari

Metodo bayesiano / variazionale (lavoro in corso!)

Computazione per l interazione naturale: Richiami di ottimizzazione (3) (e primi esempi di Machine Learning)

Programmare con MATLAB c Parte 5 Cicli: for e while

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 31 agosto 2011 Testo e soluzioni

Laboratorio di Calcolo Numerico A.A Laboratorio 4 Risoluzione di sistemi non lineari Metodo di punto fisso

Università di Siena. Teoria della Stima. Lucidi del corso di. Identificazione e Analisi dei Dati A.A

Calcolo delle probabilità e statistica

Esercitazione 4. F (x) = x + log x. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h.

Laboratorio di Calcolo Numerico Laboratorio 5: Scrittura su FILE. Soluzione di Equazioni non lineari

Coppie di variabili aleatorie

METODI DI PUNTO FISSO

Statistica 2 parte ARGOMENTI

Corso di STATISTICA EGA - Classe 1 aa Docenti: Luca Frigau, Claudio Conversano

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Complementi di Matematica A.A Laboratorio 10

REGISTRO DELLE LEZIONI*

Fondamenti di Informatica

ARGOMENTI TRATTATI NEL CORSO DI ANALISI II

Probabilità e Statistica

Cenni di apprendimento in Reti Bayesiane

MATLAB:Metodi Numerici per zeri di funzioni.

Nozioni preliminari... 1 Notazioni... 1 Alcunirichiamidianalisimatematica... 3 Sommeinfinite... 3

1. Sia data la funzione f(x) = x + log x nel proprio insieme di definizione D.

Statistica Applicata all edilizia: il modello di regressione

Metodi di Ricerca Lineare

Kernel Methods. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

Università di Siena. Corso di STATISTICA. Parte seconda: Teoria della stima. Andrea Garulli, Antonello Giannitrapani, Simone Paoletti

L A B C di R. Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010

Elementi di statistica per l econometria

Modelli di Popolazione: Confronto fra Metodi di Massima Verosimiglianza e a Due Stadi su Dati Simulati e Clinici

Calcolo delle Probabilità 2

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Statistica II Laurea magistrale in Ing. Gestionale a.a. 2012/13 Esempi di domande brevi. 1. Definizione di quantile gaussiano standard

Computazione per l interazione naturale: macchine che apprendono

Modelli Grafici Probabilistici (1): concetti generali

Transcript:

Computazione per l interazione naturale: regressione logistica Bayesiana Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it http://boccignone.di.unimi.it/ium2_2014.html //Regressione Logistica Trasformiamo il dato di input usando M funzioni di base Usiamo un modello lineare per descrivere la log-likelihood ratio Funzione Logistica Poichè

//regressione logistica: funzione logistica Logistica Proprietà di simmetria La funzione inversa è la funzione logit Derivata //Regressione Logistica Algoritmo di base: Step 1. Calcolo la funzione logit con una regressione Step 2. Inverto la logit ottenendo la logistica, cioè la posteriori

//regressione logistica: esempio a 2 classi function EsempioLogisticRegression() %dati di training x = [0.0 0.1 0.7 1.0 1.1 1.3 1.4 1.7 2.1 2.2]'; y = [0 0 1 0 0 0 1 1 1 1]'; %fitting con generalized linear model dello Statistical %Toolbox w = glmfit(x,[y ones(10,1)],'binomial','link','logit') %predizione lineare %z = w(1) + x * (w(2)) %applicazione della funzione logistica alla componente %lineare z = Logistic(w(1) + x * (w(2))) figure(1) plot(x,y,'o', x,z,'-', 'LineWidth',2) end function Output = Logistic(Input) Output = 1./ (1 + exp(-input)); end C0 C1 //regressione logistica Estensione a più classi: uso la decisione con funzione softmax La logistica è un caso particolare di softmax a due classi

//regressione logistica Bayesiana Scriviamo la probabilità congiunta a priori likelihood Funzione di likelihood (iid): I target tn sono binari e seguono una distribuzione di Bernoulli //regressione logistica Bayesiana Scriviamo la probabilità congiunta a priori likelihood Probabilità a priori: utilizziamo una Gaussiana sui coefficienti w

//regressione logistica Bayesiana Scriviamo la probabilità congiunta a priori likelihood //regressione logistica Bayesiana %Dimensione del sample e dimensione del dato N=30; D=2; %Limiti e grid size per il contour plot Range=8; Step=0.1; %2 classi con 2 features ciascuan distribuita con due Gaussiane %con medie pari ai vettori mu1 & mu2 e covarianze isotrope mu1=[ones(n,1) 5*ones(N,1)]; mu2=[-5*ones(n,1) 1*ones(N,1)]; class1_std = 1; class2_std = 1.1; %genera le features delle classi e le target labels X = [class1_std*randn(n,2)+mu1;2*class2_std*randn(n,2)+mu2]; %punti t = [ones(n,1);zeros(n,1)]; %target = label 1/0 %plotta i punti labellati figure plot(x(find(t==1),1),x(find(t==1),2),'r.'); plot(x(find(t==0),1),x(find(t==0),2),'bo'); hold

//regressione logistica Bayesiana %Definisce la contour grid dei parametri w1 & w2 per %logistic regression [w1,w2]=meshgrid(-range:step:range,-range:step:range); [n,n]=size(w1); W=[reshape(w1,n*n,1) reshape(w2,n*n,1)]; %matrice di tutti i pesi %Calcola la log-prior, la likelihood, e joint likelihood %in ciascun punto della griglia definita sopra alpha=100; %Varianza del prior f=w*x'; Log_Prior = log(gauss(zeros(1,d),eye(d).*alpha,w)); Log_Like = W*X'*t - sum(log(1+exp(f)),2); Log_Joint = Log_Like + Log_Prior; %Identifica i parametri w1 & w2 che massimizzano la posterior della joint [i,j]=max(log_joint); plot(w(j,1),w(j,2),'.','markersize', 40); //regressione logistica Bayesiana Inferenza sui parametri (Bayes): likelihood marginale: non computabile analiticamente Possibilità: Tecniche Monte Carlo Approssimazione di Laplace Tecniche variazionali di approssimazione

Idea semplice: la distribuzione da approssimare ha un massimo in x0 univariata multivariata La posteriori da approssimare ha un massimo in Covarianza calcolata nel massimo Approssimazione di Laplace

Per trovare il massimo, massimizziamo la log-likelihood della congiunta Per trovare il massimo, massimizziamo la log-likelihood della congiunta

Per trovare il massimo, massimizziamo la log-likelihood della congiunta Dall Hessiana scrivo la matrice di covarianza della distribuzione approssimata Quasi fatta... i termini di p sono non lineari non computabile analiticamente

Trovo lo zero con un metodo approssimato iterativamente: IRLS (iterative Reweighted Least Square) una variante del metodo di Newton- Raphson Soluzione finale

Esempio Matlab %Newton routine per trovare i valori MAP di w1 & w2 %Fisso un numero di step a 10 e stime iniziali a w1=0, w2=0 N_Steps = 10; w = [0;0]; for m=1:n_steps %memorizza i parametri e plotta l evoluzione delle stime ww(m,:) = w; plot(ww(:,1),ww(:,2),'k.-'); drawnow pause(0.1) %Newton Step P = 1./(1 + exp(-x*w)); V = diag(p.*(1-p)); H = inv(x'*v*x + eye(d)./alpha); w = H*X'*(V*X*w + t - P); %Calcola le nuove likelihood f=x*w; lpr = log(gauss(zeros(1,d),eye(d).*alpha,w')); llk = f'*t - sum(log(1+exp(f))); ljt = llk + lpr; fprintf('log-likelihood = %f, Joint-Likelihood = %f\n',llk,ljt) end

//regressione logistica Bayesiana: Classificazione In termini Bayesiani: classificazione = predizione non computabile analiticamente Metodo 1: assumo che sia fortemente piccata nel valore MAP //regressione logistica Bayesiana: Classificazione %% Inizializza i parametri w = repmat(0,2,1); % posizioniamo in 0 tol = 1e-6; % tolleranza per fermare l'iterazione Nits = 100; w_all = zeros(nits,2); % Evoluzione dei parametri verso il massimo ss = 10; % varianza della Prior sui parametri w change = inf; it = 0; while change>tol & it<=100 prob_t = 1./(1+exp(-X*w)); % Gradiente grad = -(1/ss)*w' + sum(x.*(repmat(t,1,length(w))-repmat(prob_t,1,length(w))),1); % Hessiano H = -X'*diag(prob_t.*(1-prob_t))*X; H = H - (1/ss)*eye(length(w)); % Update di w w = w - inv(h)*grad'; it = it + 1; w_all(it,:) = w'; if it>1 change = sum((w_all(it,:) - w_all(it-1,:)).^2); end end w_all(it+1:end,:) = []; %% Approssimazione MAP [Xv,Yv] = meshgrid(-5:0.1:5,-5:0.1:5); %definisce il supporto Probs = 1./(1+exp(-(w(1).*Xv + w(2).*yv)));

//regressione logistica Bayesiana: Classificazione In termini Bayesiani: classificazione = predizione non computabile analiticamente Metodo 2: risolvo l integrale con un Metodo Montecarlo: campiono un numero Ns di parametri: approssimo l integrale come media della somma