Modelli Probabilistici per la Computazione Affettiva: Learning/Inferenza parametri Corso di Modelli di Computazione Affettiva Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it Giuseppe.Boccignone@unimi.it http://boccignone.di.unimi.it/compaff2015.html Dove siamo arrivati // Modelli Teorie: Basi psicologiche e neurobiologiche delle emozioni Modelli: Modelli probabilistici per la computazione affettiva: Apprendimento Inferenza Applicazioni: Esempi di sistemi di computazione affettiva
Dove siamo arrivati // Modelli Modello: variabili aleatorie stato mentale (nascosto) generazione inferenza comportamento non verbale (visibile) Dove siamo arrivati // Modelli: approccio frequentistico Modello: variabili aleatorie + parametri stato mentale (nascosto) comportamento non verbale (visibile)
Dove siamo arrivati // Modelli: approccio Bayesiano Modello: variabili aleatorie + v. a. latenti (parametri) +iperparametri stato mentale (nascosto) Sono un Bayesiano! comportamento non verbale (visibile) Per un Bayesiano non c è apprendimento, ma sempre e solo inferenza... Il problema dell apprendimento per PGM Il problema, concretamente: struttura conosciuta, dati completi Modello Dati input Learning
Il problema dell apprendimento per PGM Il problema, concretamente: struttura incompleta, dati completi Modello Dati input Learning Il problema dell apprendimento per PGM Il problema, concretamente: struttura conosciuta, dati incompleti Modello Dati input Learning
Il problema dell apprendimento per PGM Il problema, concretamente: struttura incompleta, dati incompleti Modello Dati input Learning Il problema dell apprendimento per PGM Il problema, concretamente: struttura incompleta con variabili latenti, dati incompleti Modello Dati input Learning
Introduzione alla Statistica Bayesiana //metodologia generale Obiettivo: predire un dato x sulla base di n osservazioni S = {x1,..., xn} Tre step: Modello o ipotesi h Specifica del modello h con parametri di tuning generazione dei dati in S per la Inferenza (learning dei parametri) Predizione Statistica Bayesiana //stime puntuali 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)
Esempio: stima di massima verosimiglianza //caso Gaussiano Insieme di campioni x1,..., xn da distribuzione Gaussiana di parametri ignoti (identicamente distribuiti) Campioni estratti indipendentemente: L ipotesi i.i.d allora oppure usando la log-verosimiglianza Esempio: stima di massima verosimiglianza //caso Gaussiano Un vettore aleatorio forma quadratica di x per il singolo campione
Esempio: stima di massima verosimiglianza // Parametri della Gaussiana Se con covarianza e media da stimare per il singolo campione derivando il secondo termine rispetto a e ripetendo il procedimento di prima media empirica covarianza empirica Esempio: stima di massima verosimiglianza // lancio di moneta Lancio di moneta come Naive Bayes: 100 lanci di moneta... θ x1 x2 x3 x4 x5 x6 x7 x8 x8 x9 x10
Esempio: stima di massima verosimiglianza // lancio di moneta Lancio di moneta come Naive Bayes: 100 lanci di moneta... θ xn n = 1,...,100 θ se θ è dato (0.5): Esempio: stima di massima verosimiglianza // lancio di moneta Likelihood per N lanci indipendenti Stima ML = 0 Quindi se dopo N=3 lanci osservo S = {C, C, C} allora = 0 :-(
Esempio: stima di massima verosimiglianza // lancio di dadi Distribuzione multinoulli o categorica Likelihood per N lanci indipendenti Stima ML Esempio: stima Bayesiana // lancio di moneta Nel setting ML (frequentistico) in realtà con N piccolo ottengo conclusioni fuorvianti (la moneta è sicuramente truccata: darà sempre CCCCCCC...) Approccio Bayesiano: funzione di likelihood: distribuzione di Bernoulli
Esempio: stima Bayesiana // lancio di moneta Approccio Bayesiano: a posteriori: distribuzione Beta funzione di likelihood: distribuzione di Bernoulli a priori coniugata di Bernoulli: distribuzione Beta θ xn n = 1,...,100 Esempio: stima Bayesiana // lancio di moneta Approccio Bayesiano: a posteriori: distribuzione Beta funzione di likelihood: distribuzione di Bernoulli a priori coniugata di Bernoulli: distribuzione Beta a priori coniugata di Bernoulli: distribuzione Beta funzione di likelihood: distribuzione di Bernoulli a posteriori: distribuzione Beta
Il problema dell apprendimento per PGM Il problema, concretamente: struttura conosciuta, dati completi Modello Dati input Learning Il problema dell apprendimento per PGM //ML per BN: decomponibilità della likelihood Decomposizione della likelihood globale in generale Dati disponibili: m=1 M Nodi / clique del PGM: i =1 likelihood locale sul singolo nodo / clique Abbiamo una Likelihood locale per ogni CPD
BN tabellari Caso piu semplice: CPD tabellare E una likelihood multinomiale che conteggia le occorrenze di x Il problema dell apprendimento per PGM //ML per BN: decomponibilità della likelihood Training set likelihood locale likelihood locale
Il problema dell apprendimento per PGM //ML per BN: decomponibilità della likelihood distribuzione multinomiale stima di ML della multinomiale (semplicemente: si contano le occorrenze di x e y nei dati) Learning con parametri condivisi //DBN/HMM Training: coppie di (sequenze di stati, sequenze di osservazioni) Test: predizione di sequenze di stati da sequenze di osservazioni Prima bisogna effettuare il learning dei parametri che sono condivisi sia a livello di transizione di stato, sia a livello di emissione/osservazione Mettiamoci nel caso: fully observed (totalmente osservato: stati & emissioni)
Learning con parametri condivisi //DBN/HMM: stati osservati stati osservati decomponiamo su tutte le coppie di stati tutti gli istanti t in cui accade la transizione s_i -> s_j # transizioni # volte in cui occorre lo stato s_i Learning con parametri condivisi //DBN/HMM: stati & emissioni osservati Caso di HMM completamente osservato decomponiamo su tutte le coppie di stato / osservazione
Il problema dell apprendimento per PGM //Reti Bayesiane: sintesi BN con insiemi disgiunti di parametri: la verosimiglianza è il prodotto di likelihood locali alla CPD (una per variabile) CPD tabellari (CPT): la likelihood locale si decompone ulteriormente in un prodotto di likelihood multinomiali, una per ogni combinazione di genitori BN con CPD condivise (shared): le statistiche sufficienti (conteggi) si accumulano ogni volta che vengono utilizzate le CPD Il problema dell apprendimento per PGM //Reti Bayesiane: inferenza Bayesiana Le a posteriori sui parametri sono indipendenti se i dati X,Y sono completi (d-separazione) Come per MLE possiamo risolvere il problema della stima in modo indipendente
Il problema dell apprendimento per PGM //Reti Bayesiane: inferenza Bayesiana Le a posteriori sui parametri sono indipendenti se i dati X,Y sono completi (d-separazione) Come per MLE possiamo risolvere il problema della stima in modo indipendente vale anche fra parametri della stessa famiglia! Il problema dell apprendimento per PGM //Reti Bayesiane: inferenza Bayesiana Le a posteriori sui parametri sono indipendenti se i dati X,Y sono completi (d-separazione) Come per MLE possiamo risolvere il problema della stima in modo indipendente Se la famiglia è multinomiale a priori conteggio evento a posteriori
Il problema dell apprendimento per PGM //Reti Bayesiane: inferenza Bayesiana In BN se i parametri sono indipendenti a priori lo sono a posteriori Per BN con parametri multinomiali Stima di Maxlikelihood Stima Bayesiana Apprendimento in MN Nei Markov Network, a differenza delle BN non possiamo più effettuare l apprendimento in forma chiusa. la f di partizione è funzione dei parametri, non è costante! # dati # volte che l entry (a,b) è usata nel fattore qui siamo riusciti a separare i parametri x # occorrenze la Z accoppia i parametri: - la likelihood non si decompone - non c è soluzione in forma chiusa
Apprendimento in MN //Modelli log-lineari Per rendere più esplicite le tipologie delle strutture utilizzate è possibile riparametrizzare i fattori in termini di funzioni di energia La distribuzione di Gibbs (Boltzmann) diventa La probabilità di uno stato fisico del sistema è inversamente proporzionale all energia del sistema Apprendimento in MN //Modelli log-lineari Consideriamo in generale il set di features La congiunta è La log-likelihood La funzione di partizione è convessa forma log-sum-exp # esponenziale di valutazioni
Funzione di log-partizione Teorema: vettore matrice (Hessiana) Apprendimento in MN //Modelli log-lineari Che cosa ottengo dalla funzione di partizione è convessa è concava concava lineare concava unimodale
Apprendimento in MN //Modelli log-lineari: Metodo dei momenti Funzione di verosimiglianza Stima di massima verosimiglianza, con media empirica sui dati CALCOLO SULLA SINGOLA CLIQUE I parametri che massimizzano si ottengono per media empirica sui dati aspettazione teorica sul modello aspettazione teorica sul modello Tuttavia non c è soluzione in forma chiusa e devo usare tecniche di ottimizzazione (ascesa del gradiente, massima entropia ecc.) Apprendimento in MN //Modelli log-lineari Come calcolo il gradiente La funzione di log-likelihood è concava: ascesa del gradiente La funzione di log-likelihood negativa è convessa (ha un minimo): discesa del gradiente aspettazione teorica sul modello Oppure uso tecniche più sofisticate: richiede una inferenza ad ogni step n! L-BFGS (quasi-newton)
Apprendimento in MN //Modelli log-lineari Come calcolo il gradiente Uso tecniche più sofisticate: Il problema dell apprendimento per PGM //Markov Networks: sintesi A differenza delle BN la likelihood non si disaccoppia, perchè la funzione di partizione accoppia le variabili Non c è soluzione in forma chiusa: problema di ottimizzazione convessa Gradient ascent L-BFGS Altre tecniche Ad ogni step di ottimizzazione devo effettuare un inferenza per calcolare la P Siccome le features sono racchiuse solitamente in una clique, mi basta un passo di calibrazione se uso message passing
Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF Introduciamo i parametri Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF Supponiamo di usare features molto semplici definite sul superpixel s colore medio del super pixel Dati di input etichettati log - conditional likelihood
Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF Supponiamo di usare features molto semplici definite sul superpixel s colore medio del super pixel Dati di input etichettati log - conditional likelihood Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF misura feature expectation della feature presa su Y con x[m] fissato
Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF misura feature expectation della feature presa su Y con x[m] fissato probabilità a posteriori Il problema dell apprendimento per PGM //Markov Networks: il caso specifico CRF MRF: 1 Inferenza ad ogni passo dell ottimizzazione (gradient ascent) CRF: 1 inferenza per ciascun x[m], m = 1,...,M ad ogni passo dell ottimizzazione (gradient ascent) Però qui faccio inferenza su P(Y x) (tabella più piccola) mentre su MRF faccio inferenza su P(Y, X)
Stima MAP per MRF e CRF Mettere un prior sui parametri per avere smoothing sulla soluzione Nei BN era abbastanza semplice (prior coniugate: Multi /Dirichlet) Qui facciamo delle stime MAP dei parametri Stima MAP per MRF e CRF Mettere un prior sui parametri per avere smoothing sulla soluzione Per esempio una Gaussiana a media zero su ogni parametro sigma è iperparametro Gaussiana su parametro i-esimo
Stima MAP per MRF e CRF Mettere un prior sui parametri per avere smoothing sulla soluzione Per esempio una Laplace su ogni parametro beta è iperparametro Laplace su parametro i- esimo Stima MAP per MRF e CRF parametri densi L1 parametri sparsi
Il problema dell apprendimento per PGM //Dati incompleti, variabili latenti Il problema, concretamente: struttura incompleta con variabili latenti, dati incompleti Modello Dati input Learning Variabili latenti / Dati incompleti Perchè usarle? otteniamo modelli sparsi 17 parametri 59 parametri
Variabili latenti / Dati incompleti Perchè usarle? trovare dei cluster nei dati Variabili latenti / Dati incompleti La likelihood è tipicamente multimodale
Correlazione dei parametri Se mi mancano dei dati, è come se osservassi meno, non blocco i cammini e quindi ho correlazione fra i parametri 0 dati mancanti su 8 2 dati mancanti su 8 3 dati mancanti su 8 Variabili latenti / Dati incompleti Caso incompleto (multimodale) Caso completo (unimodale)
Variabili latenti / Dati incompleti Per massimizzare posso ricorrere all ascesa del gradiente rispetto ai parametri Variabili latenti / Dati incompleti Per BN vale il seguente: Teorema: CPD evidenza del dato m dipendente dai genitori parametri correnti Dobbiamo calcolare per tutti gli i (variabili) e tutti gli m (esempi di input) Possiamo farlo con il clique tree. Però il metodo è generale e si applica anche a CPD non tabellari Alternativa: Expectation-Maximization
Variabili latenti / Dati incompleti Expectation: Per ciascun dato d[m] e ogni famiglia X,U calcola assegnazione soft Maximization statistiche sufficienti attese ESS Considera le ESS come conteggi reali e usa MLE pesato dall ESS Learning con parametri condivisi //DBN/HMM: stati nascosti & emissioni osservati Stati nascosti s_t = x_t: come se fosse una mistura sequenziale Si usa una variante di Expectation-Maximization Passo E: Fissati i parametri inferisco gli stati nascosti Passo M: Fissati gli stati, aggiorno i parametri di transizione e di osservazione Algoritmo di Baum-Welch (EM per HMM)
Apprendimento dei parametri //Algoritmo di Baum-Welch (EM per HMM) Date le sequenze di training Passo E: Fissati i parametri inferisco gli stati nascosti Passo M: Fissati gli stati, aggiorno i parametri di transizione e di osservazione