Ostatnio studiowałem samemu Maksymalizację oczekiwań i w tym czasie zdobyłem kilka prostych przykładów:
Od tutaj : Istnieją trzy monety , i z , i odpowiednie prawdopodobieństwa do lądowania na głowie, kiedy rzucił. Rzuć . Jeśli wynikiem jest Głowa, rzuć trzy razy, w przeciwnym razie rzuć trzy razy. Obserwowane dane wytworzone przez i są następujące: HHH, TTT, HHH, TTT, HHH. Ukryte dane są wynikiem . Oszacuj , i .
I stąd : Istnieją dwie monety i przy czym i są odpowiednim prawdopodobieństwem wylądowania na Głowie po rzuceniu. W każdej rundzie wybierz losowo jedną monetę i rzuć nią dziesięć razy; zapisz wyniki. Zaobserwowane dane to wyniki losowania tych dwóch monet. Nie wiemy jednak, która moneta została wybrana w danej rundzie. Oszacuj i .
Chociaż mogę uzyskać obliczenia, nie mogę powiązać sposobów ich rozwiązania z pierwotną teorią EM. W szczególności podczas kroku M obu przykładów nie widzę, jak coś maksymalizują. Wygląda na to, że ponownie obliczają parametry i nowe parametry są lepsze od starych. Co więcej, dwa E-Kroki nawet nie wyglądają podobnie, nie wspominając już o E-Kroku z oryginalnej teorii.
Jak dokładnie działają te przykłady?
źródło
Odpowiedzi:
(Ta odpowiedź używa drugiego podanego linku).
Chcemy znaleźć estymator największego prawdopodobieństwa . Algorytm Expectation-Maximization (EM) jest jedną z takich metod znalezienia (przynajmniej lokalnego) . Działa poprzez znalezienie warunkowego oczekiwania, które jest następnie wykorzystywane do maksymalizacji . Chodzi o to, że stale znajdując bardziej prawdopodobne (tj. Bardziej prawdopodobne) w każdej iteracji, będziemy stale zwiększać co z kolei zwiększa funkcję prawdopodobieństwa. Istnieją trzy rzeczy, które należy zrobić, zanim przystąpisz do projektowania algorytmu opartego na EM.θ^ θ^ θ θ Pr[X,Z|θ]
Zbuduj model
Zanim przejdziemy dalej z EM, musimy dowiedzieć się, co dokładnie obliczamy. W kroku E obliczamy dokładnie oczekiwaną wartość dla . Jaka jest więc ta wartość? Zauważ, że Powodem jest to, że mamy na koncie 5 eksperymentów i nie wiemy, jaką monetę użyto w każdym z nich. Nierówność wynika zlogPr[X,Z|θ]
Co to jest ? Jest prawdopodobieństwo, że zobaczymy monetę biorąc pod uwagę eksperyment i . Korzystając z prawdopodobieństw warunkowych, mamyPr[Zi=C|Xi,θ] C Xi θ
Chociaż poczyniliśmy pewne postępy, jeszcze nie skończyliśmy z modelem. Jakie jest prawdopodobieństwo, że dana moneta przerzuci sekwencję ? Pozwalając Teraz jest wyraźnie tylko prawdopodobieństwo pod obiema możliwościami lub . Ponieważ mamy,Xi hi=#heads in Xi
E-Step
Okej ... to nie było takie fajne, ale teraz możemy zacząć pracę nad EM. Algorytm EM zaczyna się od losowego odgadnięcia dla . W tym przykładzie mamy . Obliczamy Ta wartość jest zgodna z zawartością papieru. Teraz możemy obliczyć oczekiwaną liczbę głów w z monety , Robiąc to samo dla monety otrzymujemy,θ θ0=(0.6,0.5)
M-Step
Z naszymi oczekiwanymi wartościami nadchodzi teraz krok M, w którym chcemy zmaksymalizować biorąc pod uwagę nasze oczekiwane wartości. Odbywa się to poprzez zwykłą normalizację! Podobnie jest w przypadku . Proces ten zaczyna się od E-Step i i trwa do momentu, aż wartości dla zbiegną się (lub osiągną dopuszczalny próg). W tym przykładzie mamy 10 iteracji i . W każdej iteracji wartość rośnie, ze względu na lepsze oszacowanieθ
Teraz w tym przypadku model był dość uproszczony. Sprawy mogą się znacznie skomplikować dość szybko, jednak algorytm EM zawsze będzie zbieżny i zawsze da maksymalne prawdopodobieństwo estymatora . Może to być lokalny estymator, ale aby obejść ten problem, możemy po prostu zrestartować proces EM z inną inicjalizacją. Możemy to zrobić stałą ilość razy i zachować najlepsze wyniki (tj. Te o najwyższym prawdopodobieństwie końcowym).θ^
źródło