(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| θ]
- Costruisci il modello
- Calcola le aspettative condizionali secondo il modello (E-Step)
- 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| θ]= ∑i = 15logΣC∈ { A , B }Pr [ Xio, Zio= C| θ]= ∑i = 15logΣC∈ { A , B }Pr [ Zio= C| Xio, θ ] ⋅ Pr [ Xio, Zio= C|θ ]Pr [Zio=C|Xio, θ ]≥ ∑i = 15ΣC∈ { A , 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⋅θhiC(1−θC)10−hi, for C∈{A,B}.
Pr[Xi|θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2Pr[Xi| θ]=1 / 2⋅(Pr[ Xio| Zio= A , θ ] + 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= A | X1, Θ ] = 1 / 2 ⋅ ( 0.65⋅ 0.45)1 / 2 ⋅ ( ( 0,65⋅ 0.45) + ( 0,55⋅ 0,55) )≈ 0.45.
X1= ( H, T, T, T, H, H, T, H, T, H)UNE [ # teste per moneta A | X1, θ ] = h1⋅ Pr [ Z1= A | X1,θ]=5⋅0.45≈2.2.
BE[#heads by coin B|X1,θ]=h1⋅Pr[Z1=B|X1,θ]=5⋅0.55≈2.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
h110−h1Xihi 1≤i≤5E[#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θ
θ1A=E[#heads over X by coin A|X,θ]E[#heads and tails over X by coin A|X,θ]=21.321.3+9.6≈0.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).θ^