Algoritmo di motivazione dell'aspettativa di massimizzazione


20

Nell'approccio dell'algoritmo EM usiamo la disuguaglianza di Jensen per arrivare a

logp(x|θ)logp(z,x|θ)p(z|x,θ(k))dzlogp(z|x,θ)p(z|x,θ(k))dz

e definire daθ(k+1)

θ(k+1)=argmaxθlogp(z,x|θ)p(z|x,θ(k))dz

Tutto ciò che leggo EM lo fa semplicemente cadere, ma mi sono sempre sentito a disagio non avendo una spiegazione del perché l'algoritmo EM nasce naturalmente. Comprendo che verosimiglianza viene generalmente gestita per gestire l'addizione anziché la moltiplicazione, ma l'aspetto di \ log nella definizione di \ theta ^ {(k + 1)} mi sembra poco motivato. Perché si dovrebbe considerare \ log e non altre funzioni monotone? Per vari motivi sospetto che il "significato" o la "motivazione" alla base della massimizzazione delle aspettative abbia una sorta di spiegazione in termini di teoria dell'informazione e statistiche sufficienti. Se ci fosse una spiegazione del genere sarebbe molto più soddisfacente di un semplice algoritmo astratto.log θ ( k + 1 ) logloglogθ(k+1)log


3
Qual è l'algoritmo di massimizzazione delle aspettative? , Nature Biotechnology 26 : 897–899 (2008) ha una bella foto che illustra come funziona l'algoritmo.
chl

@chl: ho visto quell'articolo. Il punto che sto chiedendo è che l'avviso che da nessuna parte spiega perché un approccio non log non può funzionare
user782220

Risposte:


10

L'algoritmo EM ha interpretazioni diverse e può presentarsi in forme diverse in applicazioni diverse.

Tutto inizia con la funzione di verosimiglianza o, equivalentemente, con la funzione di verosimiglianzalog p ( x | θ )p(x|θ)logp(x|θ) che vorremmo massimizzare. (Generalmente usiamo il logaritmo in quanto semplifica il calcolo: è rigorosamente monotono, concavo e .) In un mondo ideale, il valore di p dipende solo dal parametro del modello θ , quindi possiamo cercare nello spazio di θ e trovarne uno che massimizzi p .log(ab)=loga+logbp θθp

Tuttavia, in molte interessanti applicazioni del mondo reale le cose sono più complicate, perché non tutte le variabili vengono osservate. Sì, potremmo osservare direttamente , ma alcune altre variabili z non sono osservate. A causa delle variabili mancanti z , ci troviamo in una sorta di situazione di pollo e uova: senza z non possiamo stimare il parametro θ e senza θ non possiamo dedurre quale possa essere il valore di z .xz zzθθz

È qui che entra in gioco l'algoritmo EM. Iniziamo con un'ipotesi iniziale dei parametri del modello e ricaviamo i valori attesi delle variabili mancanti z (cioè il passaggio E). Quando abbiamo i valori di z , possiamo massimizzare la probabilità rispetto ai parametri θ (cioè, il passo M, corrispondente all'equazione arg max nell'istruzione problematica). Con questo θ possiamo derivare i nuovi valori attesi di z (un altro passo E), così via e così via. In altre parole, in ogni passaggio assumiamo uno dei due, z e θθzzθargmaxθzzθ, è conosciuto. Ripetiamo questo processo iterativo fino a quando non è più possibile aumentare la probabilità.

Questo è l'algoritmo EM in breve. È noto che la probabilità non diminuirà mai durante questo processo EM iterativo. Ma tieni presente che l'algoritmo EM non garantisce l'ottimale globale. Cioè, potrebbe finire con un ottimo locale della funzione di verosimiglianza.

L'aspetto del nell'equazione di θ ( k + 1 ) è inevitabile, perché qui la funzione che si desidera massimizzare è scritta come verosimiglianza.logθ(k+1)


Non vedo come questo risponda alla domanda.
Bronco,

9

Probabilità vs probabilità logaritmica

Come già detto, il viene introdotto con la massima probabilità semplicemente perché è generalmente più facile ottimizzare le somme rispetto ai prodotti. Il motivo per cui non consideriamo altre funzioni monotone è che il logaritmo è la funzione unica con la proprietà di trasformare i prodotti in somme.log

Un altro modo per motivare il logaritmo è il seguente: Invece di massimizzare la probabilità dei dati secondo il nostro modello, potremmo provare in modo equivalente a minimizzare la divergenza di Kullback-Leibler tra la distribuzione dei dati, i dati e la distribuzione del modello, p ( x θ ) ,pdata(x)p(xθ)

DKL[pdata(x)∣∣p(xθ)]=pdata(x)logpdata(x)p(xθ)dx=constpdata(x)logp(xθ)dx.

Il primo termine sul lato destro è costante nei parametri. Se abbiamo campioni dalla distribuzione dei dati (i nostri punti di dati), possiamo approssimare il secondo termine con la probabilità media di log dei dati,N

pdata(x)logp(xθ)dx1Nnlogp(xnθ).

Una visione alternativa di EM

Non sono sicuro che questo sarà il tipo di spiegazione che stai cercando, ma ho trovato la seguente visione della massimizzazione delle aspettative molto più illuminante della sua motivazione attraverso la disuguaglianza di Jensen (puoi trovare una descrizione dettagliata in Neal & Hinton (1998) o nel libro PRML di Chris Bishop, capitolo 9.3).

Non è difficile dimostrarlo

logp(xθ)=q(zx)logp(x,zθ)q(zx)dz+DKL[q(zx)∣∣p(zx,θ)]

per ogni . Se chiamiamo il primo termine sul lato destro F ( q , θ ) , ciò implica cheq(zx)F(q,θ)

F(q,θ)=q(zx)logp(x,zθ)q(zx)dz=logp(xθ)DKL[q(zx)∣∣p(zx,θ)].

Poiché la divergenza KL è sempre positiva , è un limite inferiore della probabilità logaritmica per ogni q fisso . Ora, EM può essere visto alternativamente massimizzando F rispetto a q e θ . In particolare, modificando q ( z | x ) = p ( z | x , θ ) nella E-passo, riduciamo al minimo la divergenza KL sul lato destro e quindi massimizzare F .F(q,θ)qFqθq(zx)=p(zx,θ)F


Grazie per il post! Sebbene il documento dato non dica che il logaritmo è la funzione unica che trasforma i prodotti in somme. Si dice logaritmo è l'unica funzione che soddisfa tutte e tre le proprietà elencate contemporaneamente .
Weiwei,

@Weiwei: giusto, ma la prima condizione richiede principalmente che la funzione sia invertibile. Naturalmente, f (x) = 0 implica anche f (x + y) = f (x) f (y), ma questo è un caso poco interessante. La terza condizione richiede che la derivata su 1 sia 1, il che è vero solo per il logaritmo su cui basare . Elimina questo vincolo e ottieni logaritmi su basi diverse, ma comunque logaritmi. e
Lucas,

4

Il documento che ho trovato chiarendo in merito alla massimizzazione delle aspettative è K-Mezzi bayesiani come un algoritmo di "Massimizzazione-Aspettativa" (pdf) di Welling e Kurihara.

Supponiamo di avere un modello probabilistico con x osservazioni, z variabili casuali nascoste e un totale di θ parametri. Ci viene dato un set di dati D e siamo costretti (da potenze superiori) a stabilire p ( z , θ | D ) .p(x,z,θ)xzθDp(z,θ|D)

1. Campionamento di Gibbs

Possiamo approssimare campionando. Il campionamento di Gibbs fornisce p ( z , θ | D ) alternando:p(z,θ|D)p(z,θ|D)

θp(θ|z,D)zp(z|θ,D)

2. Bayes variazionali

Invece, possiamo provare a stabilire una distribuzione e q ( z ) e ridurre al minimo la differenza con la distribuzione che siamo dopo p ( θ , z | D ) . La differenza tra le distribuzioni ha un comodo nome di fantasia, la divergenza KL. Per ridurre a icona K L [ q ( θ ) q ( z ) | | p ( θ , z | D ) ] aggiorniamo:q(θ)q(z)p(θ,z|D)KL[q(θ)q(z)||p(θ,z|D)]

q(θ)exp(E[logp(θ,z,D)]q(z))q(z)exp(E[logp(θ,z,D)]q(θ))

3. Massimizzazione delle aspettative

Trovare distribuzioni di probabilità a tutti gli effetti sia per che θ potrebbe essere considerato estremo. Perché non consideriamo invece una stima puntuale per uno di questi e manteniamo l'altro bello e sfumato. In EM il parametro θ viene stabilito come indegno di una distribuzione completa e impostato sul suo valore MAP (Massimo A Posteriore), θ .zθθθ

θ=argmaxθE[logp(θ,z,D)]q(z)q(z)=p(z|θ,D)

Qui sarebbe in realtà essere una notazione meglio: l'operatore argmax può restituire più valori. Ma non pignoli. Rispetto ai Bayes variazionali vedi che la correzione per il log di exp non cambia il risultato, quindi non è più necessario.θargmaxlogexp

4. Massimizzazione-Aspettativa

Non c'è motivo di trattare come un bambino viziato. Possiamo anche usare le stime dei punti z per le nostre variabili nascoste e dare ai parametri θ il lusso di una distribuzione completa.zzθ

z=argmaxzE[logp(θ,z,D)]q(θ)q(θ)=p(θ|z,D)

Se le nostre variabili nascoste sono variabili indicatrici, abbiamo improvvisamente un metodo computazionalmente economico per eseguire inferenze sul numero di cluster. In altre parole: selezione del modello (o rilevamento automatico della pertinenza o immagina un altro nome di fantasia).z

5. Modalità condizionate iterate

Naturalmente, il bambino poster dell'inferenza approssimativa deve usare le stime dei punti sia per i parametri sia per le osservazioni z .θz

θ=argmaxθp(θ,z,D)z=argmaxzp(θ,z,D)

Per vedere come funziona la massimizzazione-aspettativa consiglio vivamente l'articolo. A mio avviso, il punto di forza di questo articolo non è tuttavia l'applicazione a un'alternativa ai mezzi , ma questa esposizione lucida e concisa di approssimazione.k


(+1) questo è un bellissimo riassunto di tutti i metodi.
kedarps,

4

Esiste un'utile tecnica di ottimizzazione alla base dell'algoritmo EM. Tuttavia, di solito è espresso nel linguaggio della teoria della probabilità, quindi è difficile capire che al centro c'è un metodo che non ha nulla a che fare con la probabilità e le aspettative.

Considera il problema di massimizzare (o equivalentemente log g ( x ) ) rispetto a x . Se scrivi un'espressione per g ( x ) e la poni a zero, spesso finirai con un'equazione trascendentale da risolvere. Questi possono essere cattivi.

g(x)=iexp(fi(x))
logg(x)xg(x)

Supponiamo ora che il giocate bene insieme, nel senso che le combinazioni lineari di loro ti danno qualcosa di facile da ottimizzare. Ad esempio, se tutte le f i ( x ) sono quadratiche in x allora anche una combinazione lineare della f i ( x ) sarà quadratica, e quindi facile da ottimizzare.fifi(x)xfi(x)

Data questa supposizione, sarebbe bello se, al fine di ottimizzare il potessimo in qualche modo rimescolare il log oltre ∑ in modo da poter incontrare gli exp ed eliminare loro. Poi il f i potrebbe giocare insieme. Ma non possiamo farlo.logg(x)=logiexp(fi(x))logexpfi

Facciamo la prossima cosa migliore. Faremo un'altra funzione simile a g . E lo faremo con combinazioni lineari di f i .hgfi

Diciamo che è un'ipotesi per un valore ottimale. Vorremmo migliorare questo. Troviamo un'altra funzione h che corrisponde a g e alla sua derivata in x 0 , ovvero g ( x 0 ) = h ( x 0 ) e g ( x 0 ) = h ( x 0 ) . Se traccia un grafico di h in un piccolo quartiere di x 0 sembrerà simile a g .x0hgx0g(x0)=h(x0)g(x0)=h(x0)hx0g

g(x)=ifi(x)exp(fi(x)).
x0
h(x)=constant+ifi(x)exp(fi(x0)).
x=x0
h(x)=ifi(x)exp(fi(x0)).
x0fighg(x0)=h(x0)

x0h(x)g(x)x0hh

h

h(x)g(x)h(x)xgg(x0)hgh

exp


3

Come hai detto, non entrerò nei dettagli tecnici. Ci sono alcuni tutorial molto carini. Uno dei miei preferiti sono gli appunti di Andrew Ng . Dai un'occhiata anche ai riferimenti qui .

  1. K

    p(x)=i=1KπiN(x|μi,Σi)
    πixμiΣiπirappresenta le probabilità che il componente ith possa tenere conto di quel campione) e prendere la somma ponderata. Ad esempio concreto, immagina di voler raggruppare documenti di testo. L'idea è di supporre che ogni documento appartenga a un argomento (scienza, sport, ...) che non si conosce in anticipo !. I possibili argomenti sono variabili nascoste. Quindi ti viene dato un mucchio di documenti e contando n-grammi o qualsiasi altra caratteristica che estrai, vuoi quindi trovare quei cluster e vedere a quale cluster appartiene ciascun documento. L'EM è una procedura che attacca questo problema in maniera graduale: la fase dell'aspettativa tenta di migliorare le assegnazioni dei campioni raggiunti finora. Il passaggio di massimizzazione migliora i parametri della miscela, in altre parole, la forma dei cluster.
  2. Il punto non sta usando le funzioni monotone, ma le funzioni convesse. E la ragione è la disuguaglianza di Jensen che garantisce che le stime dell'algoritmo EM miglioreranno ad ogni passo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.