Domanda

Sono stato auto-studiando l'Expectation Maximization ultimamente, e ha afferrato me alcuni semplici esempi del processo:

: Ci sono tre monete $ C_0 $, $ c_1 $ e $ $ c_2 con $ p_0 $, $ P_1 $ e $ P_2 $ rispettivo probabilità per l'atterraggio sulla testa quando gettato. Toss $ C_0 $. Se il risultato è capo, gettare $ c_1 $ tre volte, altrimenti gettare $ c_2 $ tre volte. I dati osservati prodotte da $ c_1 $ e $ c_2 $ è come questo: HHH, TTT, HHH, TTT, HHH. I dati nascosti è il risultato di $ C_0 $. Stima $ p_0 $, $ P_1 $ e $ P_2 $.

E da qui : Ci sono due monete $ C_A $ e $ c_B $ con $ P_A $ e $ P_b $ essendo la relativa probabilità per l'atterraggio sulla testa quando gettato. Ogni round, selezionare una moneta a caso e gettarlo dieci volte; registrare i risultati. I dati osservato è il risultato di scossa forniti da questi due monete. Tuttavia, non sappiamo quale moneta è stato selezionato per un particolare giro. Stima $ P_A $ e $ P_b $.

Mentre posso ottenere i calcoli, non posso riguardano i modi in cui vengono risolti alla teoria EM originale. In particolare, durante la M-Step di entrambi gli esempi, non vedo come stanno massimizzando nulla. Sembra proprio che stanno ricalcolando i parametri e in qualche modo, i nuovi parametri sono migliori di quelli vecchi. Inoltre, le due E-passi non hanno nemmeno guardare simili tra loro, per non parlare della teoria originale E-Step.

Quindi, esattamente come questi esempi lavoro?

È stato utile?

Soluzione

(Questa risposta usa il secondo link che hai dato.)

$ \ newcommand {\ Come} {\ text {L}} \ newcommand {\ E} {\ text {E}} $ Richiamo la definizione di probabilità: $$ \ Come [\ theta | X] = \ Pr [X | \ Theta] = \ sum_Z \ Pr [X, Z | \ Theta] $$ dove nel nostro caso $ \ theta = (\ theta_A, \ theta_B) $ sono gli stimatori per la probabilità che le monete A e B, rispettivamente teste di terra, $ X = (X_1, \ dotsc, X_5) $ essendo i risultati dei nostri esperimenti, ogni $ x_i $ composto da 10 lanci, e $ Z = (Z_1, \ dotsc, Z_5) $ essendo la moneta utilizzata in ogni esperimento.

Vogliamo trovare massima verosimiglianza $ \ hat {\ theta} $. L'aspettativa Massimizzazione (EM) algoritmo è uno di questi metodi per trovare (almeno locale) $ \ hat {\ theta} $. Funziona trovando l'aspettativa condizionale, che viene poi utilizzato per massimizzare $ \ theta $. L'idea è che, trovando sempre un più probabile (vale a dire più probabile) $ \ theta $ in ogni iterazione ci sarà continuamente aumentare $ \ Pr [X, Z | \ theta] $ che a sua volta, aumenta la funzione di verosimiglianza. Ci sono tre cose che devono essere fatte prima di andare avanti la progettazione di un algoritmo EM-based.

  1. costruire il modello
  2. Calcola condizionale L'attesa sotto il modello (E-Step)
  3. massimizzare la nostra probabilità aggiornando la nostra attuale stima di $ \ theta $ (M-Step)

costruire il modello

Prima di andare oltre con EM abbiamo bisogno di capire che cosa esattamente è che stiamo Computing. Nella E-passo stiamo calcolando esattamente il valore atteso per $ \ log \ Pr [X, Z | \ theta] $. Allora, qual è questo valore, davvero? Si osservi che $$ \ begin {* align} \ Log \ Pr [X, Z | \ theta] = & \ sum_ {i = 1} ^ 5 \ log \ sum_ {C \ in \ {A, B \}} \ Pr [x_i, Z_i = C | \ Theta] \\ & = \ Sum_ {i = 1} ^ 5 \ log \ sum_ {C \ in \ {A, B \}} \ Pr [Z_i = C | X_i, \ theta] \ cdot \ frac {\ Pr [x_i, Z_i = C | \ Theta]} {\ Pr [Z_i = C | X_i, \ theta]} \\ & \ Geq \ sum_ {i = 1} ^ 5 \ sum_ {C \ in \ {A, B \}} \ Pr [Z_i = C | \ Theta x_i,] \ cdot \ log \ frac {\ Pr [x_i, Z_i = C | \ Theta]} {\ Pr [Z_i = C | X_i, \ theta]}. \ End {* align} $$ La ragione è che abbiamo 5 esperimenti per spiegare, e noi non sappiamo cosa moneta è stato utilizzato in ciascuno. La disuguaglianza è dovuto a $ \ Log $ essendo concave e applicando la disuguaglianza di Jensen. La ragione per cui abbiamo bisogno di quel limite inferiore è che non siamo in grado di calcolare direttamente l'arg max all'equazione originale. Tuttavia possiamo calcolare che per la finale limite inferiore.

Ora, ciò che è di $ \ Pr [Z_i = C | x_i, \ theta] $? E 'la probabilità che vediamo coniare $ C $ dato esperimento $ x_i $ e $ \ theta $. Utilizzando probabilità condizionate abbiamo, $$ \ Pr [Z_i = C | X_i, \ theta] = \ frac {\ Pr [x_i, Z_i = C | \ theta]} {\ Pr [x_i | \ theta]}. $$

Mentre abbiamo fatto alcuni progressi, non stiamo fatto con il modello appena ancora. Qual è la probabilità che una data moneta capovolto la sequenza $ x_i $? Lasciando $ h_i = \ # \ text {} testa sotto x_i $ $$ \ Pr [x_i, Z_i = C | \ Theta] = \ Frac {1} {2} \ cdot \ theta_C ^ {} h_i (1 - \ theta_C) ^. {10 - h_i}, \ \ text {for} \ C \ in \ {A, B \} $$ Ora $ \ Pr [x_i | \ theta] $ è chiaramente solo la probabilità sotto le due possibilità di $ Z_i = A $ o $ Z_i = B $. Dal momento che $ \ Pr [Z_i = A] = \ Pr [Z_i = B] = 1/2 $ che abbiamo, $$ \ Pr [x_i | \ theta] = 1/2 \ cdot (\ Pr [x_i | Z_i = A, \ theta] + \ Pr [x_i | Z_i = B, \ theta]). $$

E-Passo

Va bene ... che non era così divertente, ma possiamo iniziare a fare qualche lavoro di EM ora. L'algoritmo EM inizia facendo qualche ipotesi casuale per $ \ theta $. In questo esempio abbiamo $ \ theta ^ 0 = (0.6,0.5) $. calcoliamo $$ \ Pr [Z_1 = A | X_1, \ theta] = \ frac {1/2 \ cdot (0,6 ^ 5 \ cdot 0,4 ^ 5)} {1/2 \ cdot ((0,6 ^ 5 \ cdot 0,4 ^ 5 ) + (0,5 ^ 5 \ cdot 0,5 ^ 5))} \ circa 0,45. $$ Questo valore allinea con ciò che è nella carta. Ora siamo in grado di calcolare il numero atteso di teste in $ X_1 = (H, T, T, T, H, H, T, H, T, H) $ da Coin $ A $, $$ \ E [\ # \ text {teste di moneta} A | X_1, \ theta] = H_1 \ cdot \ Pr [Z_1 = A |. X_1, \ theta] = 5 \ cdot 0,45 \ ca. 2,2 $$ Fare la stessa cosa per la moneta $ B $ otteniamo, $$ \ E [\ # \ text {teste di moneta} B | X_1, \ theta] = H_1 \ cdot \ Pr [Z_1 = B |. X_1, \ theta] = 5 \ cdot 0,55 \ ca. 2,8 $$ Possiamo calcolare lo stesso per il numero di code da subtituting $ H_1 $ a $ 10 - $ H_1. Questo continua per tutti gli altri valori di $ x_i $ e $ h_i $ $ 1 \ leq i \ leq 5 $. Grazie alla linearità delle aspettative riusciamo a capire $$ \ E [\ # \ text {teste di moneta} A | X, \ theta] = \ sum_ {i = 1} ^ 5 \ E [\ # \ text {teste da moneta} A | X_i, \ theta] $$

M-Step

Con i nostri valori attesi in mano, ora arriva il passo M dove vogliamo massimizzare $ \ Theta $ dato i nostri valori attesi. Questo viene fatto per semplice normalizzazione! $$ \ theta_A ^ 1 = \ frac {E [testo {teste \ # \ oltre} X \ text {} dalla moneta A | X, \ theta]} {E [\ # \ text {teste e le code oltre} X \ text {} dalla moneta A |. X, \ theta]} = \ frac {} {21,3 21,3 + 9,6} \ ca. 0,71 $$ Allo stesso modo per $ B $. Questo processo inizia di nuovo con la E-Step e $ \ theta ^ 1 $ e continua fino a quando i valori a $ \ theta $ Converge (o ad una certa soglia alloweable). In questo esempio abbiamo 10 iterazioni e $ \ hat {\ theta} = \ theta ^ {10} = (0.8, 0.52) $. In ogni iterazione il valore di $ \ Pr [X, Z | \ theta]. $ Aumenta, a causa della migliore stima di $ \ theta $

Ora, in questo caso il modello era abbastanza semplicistico. Le cose possono diventare molto più complicato abbastanza rapidamente, ma l'algoritmo EM sarà sempre convergere, e produrrà sempre un maxmimum verosimiglianza $ \ hat {\ theta} $. Può essere un locale estimatore, ma per ovviare a questo possiamo semplicemente riavviare il processo EM con un'inizializzazione diversa. Noi può fare questo una quantità costante di volte e trattenere i migliori risultati (cioè quelli con il più alta probabilità finale).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top