Mam model mieszanki, w którym chcę znaleźć estymator maksymalnego prawdopodobieństwa dla danego zestawu danych i zestawu częściowo zaobserwowanych danych . I realizowane zarówno E etapie (obliczenie oczekiwania dane i aktualnych parametrów ), i M-etapie, w celu zminimalizowania negatywnych log-Likelihood względu na spodziewany .
Jak rozumiem, maksymalne prawdopodobieństwo wzrasta z każdą iteracją, co oznacza, że ujemne prawdopodobieństwo log musi maleć przy każdej iteracji? Jednak, jak to powtarzam, algorytm tak naprawdę nie generuje malejących wartości ujemnego prawdopodobieństwa log. Zamiast tego może się zmniejszać i zwiększać. Na przykład były to wartości ujemnego prawdopodobieństwa logarytmicznego do momentu konwergencji:
Czy jest tu coś, co źle zrozumiałem?
Ponadto w przypadku danych symulowanych, gdy wykonuję maksymalne prawdopodobieństwo dla prawdziwych ukrytych (nieobserwowanych) zmiennych, mam prawie idealne dopasowanie, co wskazuje na brak błędów programistycznych. W przypadku algorytmu EM często zbiega się on z wyraźnie nieoptymalnymi rozwiązaniami, szczególnie dla określonego podzbioru parametrów (tj. Proporcji zmiennych klasyfikujących). Dobrze wiadomo, że algorytm może zbiegać się do lokalnych minimów lub punktów stacjonarnych, czy istnieje konwencjonalna heurystyka wyszukiwania lub podobnie w celu zwiększenia prawdopodobieństwa znalezienia globalnego minimum (lub maksimum) . Wydaje mi się, że w przypadku tego konkretnego problemu istnieje wiele brakujących klasyfikacji, ponieważ w przypadku dwuwymiarowej mieszanki jeden z dwóch rozkładów przyjmuje wartości z prawdopodobieństwem jeden (jest to mieszanka okresów życia, w których prawdziwy czas życia znajduje się na podstawie gdzie oznacza przynależność do dowolnego rozkładu. Wskaźnik jest oczywiście cenzurowany w zbiorze danych.
Dodałem drugą liczbę, gdy zaczynam od rozwiązania teoretycznego (które powinno być bliskie optymalnemu). Jednak, jak można zauważyć, prawdopodobieństwo i parametry różnią się od tego rozwiązania na takie, które jest wyraźnie gorsze.
edycja: pełne dane są w postaci gdzie jest obserwowanym czasem dla podmiotu , wskazuje, czy czas jest powiązany z faktycznym zdarzeniem lub jeśli jest poprawnie ocenzurowany (1 oznacza zdarzenie, a 0 oznacza prawą cenzurę), jest czasem obcięcia obserwacji (ewentualnie 0) ze wskaźnikiem obcięcia a na koniec jest wskaźnikiem, do którego populacji należy obserwacja (ponieważ jego dwuwymiarowy musimy wziąć pod uwagę tylko 0 i 1).
Dla mamy funkcję gęstości , podobnie jest to związane z funkcją rozkładu ogona . Dla zdarzenie będące przedmiotem zainteresowania nie wystąpi. Chociaż z tym rozkładem nie ma żadnego , definiujemy go jako , a więc i . Daje to również następujący pełny rozkład mieszaniny:
i
Kontynuujemy definiowanie ogólnej formy prawdopodobieństwa:
Teraz obserwuje się tylko częściowo, gdy , w przeciwnym razie nie jest to znane. Staje się pełne prawdopodobieństwo
gdzie jest wagą odpowiedniego rozkładu (ewentualnie związanego z niektórymi zmiennymi towarzyszącymi i ich odpowiednimi współczynnikami przez jakąś funkcję link). W większości literatur jest to uproszczone do następującego prawdopodobieństwa logicznego
Dla kroku M funkcja ta jest zmaksymalizowana, chociaż nie w całości w 1 metodzie maksymalizacji. Zamiast tego nie możemy tego podzielić na części .
Dla kroku k: th + 1 musimy znaleźć oczekiwaną wartość (częściowo) nieobserwowanych zmiennych ukrytych . Korzystamy z faktu, że dla , a następnie .
Oto, przez
co daje nam
(Zauważ tutaj, że , więc nie ma obserwowanego zdarzenia, dlatego prawdopodobieństwo danych jest określone przez funkcję rozkładu ogona.
źródło
Odpowiedzi:
Celem EM jest maksymalne zaobserwowane prawdopodobieństwo dziennika danych,
Niestety jest to trudne do optymalizacji w odniesieniu do . Zamiast tego EM wielokrotnie tworzy i maksymalizuje funkcję pomocnicząθ
Jeśli maksymalizuje , EM to gwarantujeθt+1 Q(θ,θt)
Jeśli chcesz dokładnie wiedzieć, dlaczego tak się dzieje, rozdział 11.4.7 Uczenia maszynowego Murphy'ego : perspektywa probabilistyczna daje dobre wytłumaczenie. Jeśli twoja implementacja nie zaspokoi tych nierówności, gdzieś popełniłeś błąd. Mówiąc rzeczy takie jak
jest niebezpieczny. Dzięki wielu algorytmom optymalizacji i uczenia się bardzo łatwo jest popełniać błędy, ale przez większość czasu nadal uzyskuje się poprawnie wyglądające odpowiedzi. Intuicja, którą lubię, polega na tym, że te algorytmy są przeznaczone do radzenia sobie z niechlujnymi danymi, więc nic dziwnego, że dobrze radzą sobie również z błędami!
W drugiej połowie twojego pytania
Losowe ponowne uruchomienie jest najłatwiejszym podejściem; kolejnym najłatwiejszym jest prawdopodobnie symulowane wyżarzanie nad parametrami początkowymi. Słyszałem także o wariancie EM zwanym wyżarzaniem deterministycznym , ale nie użyłem go osobiście, więc nie mogę ci o nim wiele powiedzieć.
źródło