EM algoritm

EM-algoritm ( eng.  Expectation-maximization (EM) algorithm ) är en algoritm som används i matematisk statistik för att hitta maximala sannolikhetsuppskattningar för parametrarna för probabilistiska modeller, i det fall då modellen beror på några dolda variabler . Varje iteration av algoritmen består av två steg. I E-steget (förväntning) beräknas sannolikhetsfunktionens förväntade värde medan de latenta variablerna betraktas som observerbara. I M-steget (maximering) beräknas den maximala sannolikhetsuppskattningen, vilket ökar den förväntade sannolikheten som beräknas i E-steget. Detta värde används sedan för E-steget i nästa iteration. Algoritmen exekveras tills konvergens.

Ofta används EM-algoritmen för att separera en blandning av Gausser .

Beskrivning av algoritmen

Låt vara  några av värdena för de observerade variablerna och  vara dolda variabler. Tillsammans bildar de en komplett datamängd. I allmänhet kan det finnas någon ledtråd som gör det lättare att lösa problemet om det är känt. Till exempel, om det finns en blandning av distributioner , är sannolikhetsfunktionen lätt att uttrycka i termer av parametrarna för de individuella fördelningarna av blandningen.

Låt oss anta att det  är sannolikhetstätheten (i det kontinuerliga fallet) eller sannolikhetsfunktionen (i det diskreta fallet) för en komplett datamängd med parametrar : Denna funktion kan förstås som sannolikheten för hela modellen, om vi betraktar den som en funktion av parametrarna . Observera att den villkorliga fördelningen av den dolda komponenten under viss observation och en fast uppsättning parametrar kan uttryckas enligt följande:

,

med den utökade Bayes- formeln och den totala sannolikhetsformeln . Således behöver vi bara veta fördelningen av den observerade komponenten för en fix latent och sannolikheten för latent data .

EM-algoritmen förbättrar iterativt den initiala poängen genom att beräkna nya poängvärden och så vidare. Vid varje steg utförs övergången till från enligt följande:

var  är den förväntade logaritmen för sannolikheten. Med andra ord kan vi inte omedelbart beräkna den exakta sannolikheten, men från kända data ( ) kan vi hitta en efterhandsuppskattning av sannolikheterna för olika värden av de latenta variablerna . För varje uppsättning värden och parametrar kan vi beräkna förväntan på sannolikhetsfunktionen för denna uppsättning . Det beror på det tidigare värdet eftersom detta värde påverkar sannolikheterna för de latenta variablerna .

beräknas enligt följande:

det vill säga detta är en villkorad förväntan under villkoret .

Med andra ord  är värdet som maximerar (M) det villkorliga medelvärdet (E) av log-sannolikheten för de givna värdena för de observerade variablerna och det tidigare värdet av parametrarna. I det kontinuerliga fallet beräknas värdet så här:

Alternativ beskrivning

Under vissa omständigheter är det bekvämt att tänka på EM-algoritmen som två alternerande maximeringssteg. [1] [2] Tänk på funktionen:

där q  är sannolikhetsfördelningen för oobserverade variabler Z ; p Z | X ( · | x ; θ ) är den villkorliga fördelningen av icke observerade variabler för fixerade observerbara värden x och parametrarna θ ; H  är entropin och D KL  är avståndet Kullback-Leibler .

Sedan kan stegen i EM-algoritmen representeras som:

Förväntningssteg : Välj q för att maximera F : M(aximisering) steg : Välj θ för att maximera F :

Användningsexempel

Anteckningar

  1. Radford; Neal; Hinton, Geoffrey . En vy av EM-algoritmen som motiverar inkrementella, sparsamma och andra varianter  //  Learning in Graphical Models : journal / Michael I. Jordan . - Cambridge, MA: MIT Press, 1999. - P. 355-368 . — ISBN 0262600323 .
  2. Hastie, Trevor; Tibshirani, Robert; Friedman, Jerome. 8.5 EM-algoritmen // The Elements of Statistical Learning  (neopr.) . - New York: Springer, 2001. - S. 236-243. — ISBN 0-387-95284-5 .

Länkar