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 .
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:
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 :Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|