Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Formulazione delle miscele Gaussiane
N N K~ ~Y Y X| N |= = (~x Σ )p(D; θ) p(~x θ) π ~µ ,n k n k kn=1 n=1 k=1
Applicando come al solito il logaritmo alla distribuzione per il calcolo del massimo(poiché la funzione logaritmica non cambia il massimo) otteniamo:
N K( )~ X X N |ln = ln (~x Σ )p(D; θ) π ~µ ,k n k kn=1 k=1
Osserviamo che la soluzione è diventata più complessa rispetto a quella ottenuta conuna singola Gaussiana, a causa della presenza della sommatoria su all’interno delklogaritmo.
Di conseguenza, la soluzione di massima verosimiglianza per i parametri non ha più unasoluzione analitica in forma chiusa.
Perciò dobbiamo definire approcci diversi per massimizzare la distribuzione likelihood.variabili
Passiamo quindi ad una formulazione delle miscele Gaussiane in termini dilatenti discrete, ovvero variabili che non vengono mai osservate ma vengono introdotteper semplificare il problema di ottimizzazione. A tale scopo introduciamo una
variabilecasuale binaria con rappresentazione (perciò un particolare1-di-KK-dimensionale ~z7.2. GAUSSIAN MIXTURE MODELS 85elemento è uguale a 1 e tutti gli altri elementi sono uguali a Quindi i valori di0).zkcon la condizione che∈ {0, P1} = 1.z zk kkN.B: abbiamo possibili stati per il vettore a seconda di quale elemento è non nullo.K ~zQuindi definiamo la distribuzione congiunta in termini della distribuzione)p(~x, ~zmarginale e della distribuzione condizionale |) ).p(~z p(~x ~zIn particolare la distribuzione marginale è specificata in termini dei coefficienti di)p(~zmiscelazione . Ovvero, considerando un particolare valore , la distribuzioneπ zk kmarginale è definita come: = 1) =p(z πk k Kdove i coefficienti devono soddisfare le condizioni ed X≤ ≤0 1 = 1.π π πk k kk=1Poiché utilizza una rappresentazione allora possiamo riscrivere questa1-di-K~zdistribuzione marginale come: K zY) =p(~z π kkk=1Analogamente laLa distribuzione condizionale di dato un particolare valore è definita da una Gaussiana:
N(1) = (x, Σ)p(x | z, μ, k)
Quindi, poiché utilizza una rappresentazione 1-di-K, la distribuzione condizionale può essere riscritta come:p(z | N) = (x, Σ)p(x | z, μ, k)
Pertanto, la distribuzione congiunta è data da:p(N) = Πp(x)Πp(z)
Da cui possiamo ricavare la distribuzione marginale di x sommando la distribuzione congiunta su tutti i possibili stati di z (cioè si elimina la dipendenza da z nella distribuzione congiunta con la proprietà della somma, ovvero p(x | N) = Σp(x, z | N)):p(x | N) = (x, Σ)p(x)Σp(z)
Pertanto, la distribuzione marginale di x è una Gaussian mixture. Grazie a questa rappresentazione di p(x | N) ne consegue che, se abbiamo osservazioni p(x | N), allora per ogni punto osservato esiste una corrispondente variabile latente z..~znAbbiamo quindi trovato una formulazione equivalente della Gaussian mixture checoinvolge una variabile latente esplicita. In questo modo siamo in grado di sfruttare ladistribuzione congiunta invece che la distribuzione marginale Questo) ).p(~x, ~z p(~xcomporterà notevoli semplificazioni, in particolare attraverso l’introduzionedell’algoritmo Expectation-Maximization (EM).
Un’altra importante grandezza è la probabilità condizionale di dato . In particolare~z ~xutilizzeremo per indicare la probabilità condizionale il quale valore|) = 1 ),γ(z p(z ~xk kpuò essere trovato con il teorema di Bayes: |= 1)p(~x = 1)p(z zk k≡ |) = 1 ) =γ(z p(z ~xk k KX |= 1)p(~x = 1)p(z zj jj=186 CAPITOLO 7. UNSUPERVISED LEARNINGN |(~x Σ )π ~µ ,k k k= KX N |(~x Σ )π ~µ ,j j kj=1In particolare, rappresenta la probabilità prior di e la quantità= 1 )π z γ(zk k krappresenta la corrispondente
probabilità posterior (dopo avere osservato ).
Inoltre possiamo vedere come la (responsibility) assunta dalla responsabilità γ(zk componente per "giustificare" l'osservazione .k
Supponiamo di avere un dataset che vogliamo modellare utilizzando D {~x }= , ..., ~xN1 una mixture di Gaussiane (GMM). Possiamo rappresentare questo dataset come una matrice di dimensione la cui riga è definita da .Tn×X N D, n-esima ~x
Allo stesso modo le corrispondenti variabili latenti sono denotate da una matrice di Z dimensione la cui riga è definita da .T×N K, n-esima ~zn
Assumiamo che i dati siano indipendenti ed identicamente distribuiti (i.i.d.). Allora ~xn vogliamo massimizzare: N K( )X X| N |ln Σ) = ln (~x Σ )p(X ~π , ~μ , π ~μ ,k n k kn=1 k=1 che rappresenta il logaritmo della likelihood. Per massimizzare tale funzione dobbiamo calcolare le derivate rispetto a , e e porle a Σ 0. ~π ~μ Innanzitutto
calcoliamo il gradiente rispetto alla media :~µkN N |(~x Σ )π ~µ ,k n k kX− −0= Σ (~x )~µk n kN |P (~ Σ )π x ~µ ,j n j jjn=1NX⇒0 −= )Σ (~x )γ(z ~µnk k n kn=1 NMoltiplicando per e chiamando otteniamo:−1 XΣ = )N γ(zk nkk n=1N1 X= )~x~µ γ(zk nk nNk n=1N.B: possiamo interpretare come il numero effettivo di punti assegnati al clusterN k.kOsserviamo la forma di questa soluzione. Vediamo che la media per la~µ k-esimakcomponente Gaussiana si ottiene a partire dalla media pesata su tutti i punti deldataset in cui il peso del punto è dato dalla probabilità posterior che la)~x γ(zn nkcomponente si assuma la responsabilità di generare .k ~xnCalcoliamo il gradiente rispetto alla matrice di covarianza seguendo lo stessoΣkragionamento. In particolare otteniamo:N1 TX − −Σ = )(~x )(~x )γ(z ~µ ~µk nk n k n kNk
n=1che ha la stessa forma del risultato corrispondente ad una singola Gaussiana applicataall'intero dataset, ma pesando ogni punto per la corrispondente probabilità posterior e7.2. GAUSSIAN MIXTURE MODELS 87con il denominatore dato dal numero effettivo di punti associati alla corrispondentecomponente.Infine calcoliamo il gradiente rispetto ai coefficienti di miscelazione . In questo casoπ kdobbiamo tenere conto del vincolo Questo vincolo può essere rispettatoKP = 1.π kk=1utilizzando un moltiplicatore di Lagrange. Quindi la funzione da massimizzare diventa:K !X| −ln Σ) + 1p(X ~π , ~µ, λ π kk=1In particolare, derivando rispetto a e ponendo la derivata a otteniamo:0π kN N |(~x Σ )~µ ,n k kX0= + λN |P (~ Σ )x ~µ ,n j jjn=1 N N |1 (~x Σ )π ~µ ,k n k kX⇒0 = + λN |P (~x Σ )π π ~µ ,k j n j jjn=1Nk⇒0 = + λπ kdove ancora una volta possiamoosservare l'apparizione delle responsabilità. La derivata parziale rispetto al moltiplicatore di Lagrange sarà: λK KX X- ⇒0= 1 = 1π πk kk=1 k=1 Sostituendo questo risultato con quello ottenuto per ricaviamo: π kNk=π k NOtteniamo quindi che il coefficiente di miscelazione per la componente è dato k-esima dalla responsabilità media che quella componente si assume per "giustificare" i dati. N.B: i risultati ottenuti per i parametri , e non costituiscono una soluzione inΣ~π ~µforma chiusa per i parametri del modello perché le responsabilità dipende da tali)γ(znkparametri in modo complesso. Tuttavia questi risultati definiscono uno schema iterativo per trovare una soluzione al problema della massima verosimiglianza. In particolare tale problema può essere implementato attraverso l'algoritmo EM applicato al caso particolare del Gaussian Mixture Model. Vediamo come implementare
Tale algoritmo. Dato un GMM (Gaussian Mixture Model), l'obiettivo è quello massimizzare la funzione di verosimiglianza rispetto ai parametri (ovvero medie e covarianze delle componenti ecoefficienti di miscelazione). Quindi iteriamo i seguenti passaggi:
- Inizializziamo i coefficienti di miscelazione, la media e la covarianza σ, π, μ e valutiamo il valore iniziale del logaritmo della likelihood.
- E-Step. Valutiamo le responsabilità utilizzando gli attuali valori dei parametri.
- N |(x, σ, π, μ) = γ(znk) KX N |(x, σ, π, μ, j) = γ(znj)
- M-Step. Stimiamo nuovamente i parametri utilizzando le responsabilità correnti.
- N1new X = ∑xμγ(znk)
- N1new ∑ = ∑(x - μ)(x - μ)γ(znk)
- Nnew k = πk N
- Con X = ∑N γ(znk)
- Valutiamo il logaritmo della likelihood: N K( )X X| N |ln ∑ = ln (x, σ)
p(X ∼ π, µ, π ∼ µ, k n k kn=1 k=1
Verifichiamo la convergenza dei parametri o de