Applicazione dell'ottimizzazione delle aspettative agli esempi di lancio di monete


18

Ultimamente ho studiato da solo la massimizzazione delle aspettative e mi sono procurato alcuni semplici esempi nel processo:

Da qui : ci sono tre monete , e con , e la rispettiva probabilità di atterrare su Head quando lanciate. Toss . Se il risultato è Head, lancia tre volte, altrimenti lancia tre volte. I dati osservati prodotti da e sono così: HHH, TTT, HHH, TTT, HHH. I dati nascosti sono il risultato di . Stima , e .c0c1c2p0p1p2c0c1c2c1c2c0p0p1p2

E da qui : ci sono due monete e con e rappresentano la probabilità relativa di atterrare sulla testa quando lanciate. Ad ogni round, seleziona una moneta a caso e lanciala dieci volte; registra i risultati. I dati osservati sono i risultati del lancio forniti da queste due monete. Tuttavia, non sappiamo quale moneta è stata selezionata per un determinato round. Stimare e .cUNcBpUNpBpUNpB

Mentre posso ottenere i calcoli, non riesco a mettere in relazione i modi in cui sono risolti con la teoria EM originale. Nello specifico, durante l'M-Step di entrambi gli esempi, non vedo come stiano massimizzando qualcosa. Sembra che stiano ricalcolando i parametri e, in qualche modo, i nuovi parametri sono migliori di quelli vecchi. Inoltre, i due E-Step non sembrano nemmeno simili tra loro, per non parlare dell'E-Step della teoria originale.

Quindi, come funzionano esattamente questi esempi?


Nel primo esempio, quanti casi dello stesso esperimento otteniamo? Nel secondo esempio, qual è la legge di "selezionare una moneta a caso"? Quanti colpi osserviamo?
Raffaello

I file PDF che ho collegato risolvono già questi due esempi passo dopo passo. Tuttavia, non capisco davvero l'algoritmo EM utilizzato.
IcySnow

@IcySnow, capisci il concetto di aspettativa e aspettativa condizionale di una variabile casuale?
Nicholas Mancuso,

Comprendo le aspettative di base di una variabile casuale e la probabilità condizionale. Tuttavia, non ho familiarità con le aspettative condizionali, i suoi derivati ​​e statistiche sufficienti.
IcySnow

Risposte:


12

(Questa risposta utilizza il secondo link che hai fornito.)

θ = ( θ A , θ B ) X = ( X 1 , , X 5 ) X i Z = ( Z 1 , , Z 5 )

L[θ|X]=Pr[X|θ]=ZPr[X,Z|θ]
θ=(θA,θB)X=(X1,,X5)XiZ=(Z1,,Z5)

Vogliamo trovare lo stimatore della massima verosimiglianza . L'algoritmo Expectation-Maximization (EM) è uno di questi metodi per trovare (almeno locale) . Funziona trovando l'aspettativa condizionale, che viene quindi utilizzata per massimizzare . L'idea è che trovando continuamente un più probabile (cioè più probabile) in ogni iterazione aumenteremo continuamente che a sua volta aumenta la funzione di verosimiglianza. Ci sono tre cose che devono essere fatte prima di andare avanti progettando un algoritmo basato su EM. θ θθPr[X,Z| θ]θ^θ^θθPr[X,Z|θ]

  1. Costruisci il modello
  2. Calcola le aspettative condizionali secondo il modello (E-Step)
  3. Massimizza la nostra probabilità aggiornando la nostra attuale stima di (M-Step)θ

Costruisci il modello

Prima di andare oltre con EM, dobbiamo capire che cosa stiamo esattamente calcolando. Nell'E-step stiamo calcolando esattamente il valore atteso per . Allora, qual è questo valore, davvero? Osserva che Il motivo è che abbiamo 5 esperimenti da tenere in considerazione e non sappiamo quale moneta sia stata utilizzata in ciascuno di essi. La disuguaglianza è dovuta alog Pr [ X , Z | θ ]logPr[X,Z|θ]log

logPr[X,Z|θ]=Σio=15logΣC{UN,B}Pr[Xio,Zio=C|θ]=Σio=15logΣC{UN,B}Pr[Zio=C|Xio,θ]Pr[Xio,Zio=C|θ]Pr[Zio=C|Xio,θ]Σio=15ΣC{UN,B}Pr[Zio=C|Xio,θ]logPr[Xio,Zio=C|θ]Pr[Zio=C|Xio,θ].
logessere concavo e applicare la disuguaglianza di Jensen. Il motivo per cui abbiamo bisogno di quel limite inferiore è che non possiamo calcolare direttamente l'arg max sull'equazione originale. Tuttavia, possiamo calcolarlo per il limite inferiore finale.

Che cos'è ora ? È la probabilità che vediamo la moneta dato l'esperimento e . Usando le probabilità condizionali abbiamo,C X i θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]Pr[Zio=C|Xio,θ]CXioθ

Pr[Zio=C|Xio,θ]=Pr[Xio,Zio=C|θ]Pr[Xio|θ].

Mentre abbiamo fatto alcuni progressi, non abbiamo ancora finito con il modello. Qual è la probabilità che una determinata moneta abbia lanciato la sequenza ? Lasciare Ora è chiaramente solo la probabilità sotto le due possibilità di o . Poiché abbiamo, h i = # teste in  X i Pr [ X i , Z i = C | θ ] = 1Xiohi=#heads in Xi Pr[Xi| θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2

Pr[Xi,Zi=C|θ]=12θChi(1θC)10hi,  for  C{A,B}.
Pr[Xi|θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2
Pr[Xio|θ]=1/2(Pr[Xio|Zio=UN,θ]+Pr[Xio|Zio=B,θ]).

E-Step

Okay ... non è stato così divertente, ma possiamo iniziare a fare un po 'di lavoro EM ora. L'algoritmo EM inizia facendo delle ipotesi casuali per . In questo esempio abbiamo . Calcoliamo Questo valore è in linea con quanto contenuto nel documento. Ora possiamo calcolare il numero previsto di teste in dalla moneta , Facendo la stessa cosa per la moneta otteniamo, θθ0=(0.6,0.5)

Pr[Z1=UN|X1,θ]=1/2(0.650.45)1/2((0.650.45)+(0.550.55))0.45.
X1=(H,T,T,T,H,H,T,H,T,H)UN
E[#heads by coin A|X1,θ]=h1Pr[Z1=A|X1,θ]=50.452.2.
B
E[#heads by coin B|X1,θ]=h1Pr[Z1=B|X1,θ]=50.552.8.
Possiamo calcolare lo stesso per il numero di code sostituendo con . Questo continua per tutti gli altri valori di e . Grazie alla linearità delle aspettative possiamo capire h110h1Xihi 1i5
E[#heads by coin A|X,θ]=i=15E[#heads by coin A|Xi,θ]

M-Step

Con i nostri valori previsti in mano, ora arriva il passaggio M in cui vogliamo massimizzare dati i nostri valori previsti. Questo viene fatto mediante una semplice normalizzazione! Allo stesso modo per . Questo processo ricomincia con E-Step e e continua fino a quando i valori di convergono (o in una certa soglia consentita). In questo esempio abbiamo 10 iterazioni e . In ogni iterazione il valore di aumenta, grazie alla migliore stima diθ

θA1=E[#heads over X con moneta UN|X,θ]E[#testa e croce X con moneta UN|X,θ]=21,321,3+9.60.71.
Bθ1θθ^=θ10=(0.8,0.52)Pr[X,Z|θ]θ .

Ora in questo caso il modello era abbastanza semplicistico. Le cose possono diventare molto più complicate abbastanza rapidamente, tuttavia l'algoritmo EM converrà sempre e produrrà sempre uno stimatore di probabilità massimo . Potrebbe essere uno stimatore locale , ma per ovviare a questo possiamo semplicemente riavviare il processo EM con una diversa inizializzazione. Possiamo farlo un numero costante di volte e conservare i migliori risultati (cioè quelli con la più alta probabilità finale).θ^


Se alcune parti non sono chiare, posso provare ad espanderle anche.
Nicholas Mancuso,

Ora diventa molto più chiaro. Quello che non capisco davvero è perché il numero atteso di teste per la moneta A è stato calcolato come: E [# teste per moneta A | X1, θ] = h1⋅Pr [Z1 = A | X1, θ] = 5⋅0,45 ≈2.2? Il problema menzionato nel primo PDF è più complicato. Se non ti dispiace, puoi fare anche dei calcoli illustrativi per questo? Mille grazie per la tua risposta.
IcySnow,

@IcySnow, per quanto riguarda il calcolo delle aspettative: . Il motivo è che puoi pensare che ci sia un'altra variabile casuale dell'indicatore se fosse usato A. L'aspettativa di calcolo rispetto alle variabili dell'indicatore è semplice la probabilità di quell'evento. E[# teste per moneta UN|X1,θ]=Σ# entra X1Pr[Z1=UN|X1,θ]=5Pr[Z1=UN|X1,θ]
Nicholas Mancuso,

Ci scusiamo per la risposta lenta. Grazie a te, ora posso davvero capire la logica dietro i due esempi di monete, dopo aver esaminato la tua risposta molte volte. C'è un'ultima cosa che vorrei porre riguardo a questa domanda: l'esempio a partire da pagina 8 in questa diapositiva cs.northwestern.edu/~ddowney/courses/395_Winter2010/em.ppt mostra che nell'M-Step, dobbiamo prima calcolare il derivato della funzione log-verosimiglianza e usarlo per massimizzare le aspettative. Perché qualcosa del genere non è presente negli M-Step degli esempi di lancio della moneta? Poiché questi M-Step non sembrano massimizzare nulla
IcySnow il

Sono confuso dalla prima equazione visualizzata dopo "Costruire il modello". Puoi spiegare da dove viene? Mi sembra , quindi la somma interna è 1 per ogni , quindi l'intero lato destro diventa zero. Sono sicuro che mi manca qualcosa: puoi spiegare il ragionamento su come sei arrivato a quell'equazione? Pr[Zio=UN|Xio,θ]+Pr[Zio=B|Xio,θ]=1io
DW
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.