2013-06-15 7 views
5

Mam pewne problemy ze zrozumieniem, jak działa algorytm Bauma-Welcha. Czytałem, że dostosowuje on parametry HMM (prawdopodobieństwo przejścia i prawdopodobieństwa emisji), aby zmaksymalizować prawdopodobieństwo, że moja sekwencja obserwacyjna będzie widoczna dla danego modelu.Jak mam trenować HMM z Baum-Welch i wieloma obserwacjami?

Co jednak się stanie, jeśli mam wiele sekwencji obserwacji? Chcę wytrenować mój HMM w oparciu o ogromną liczbę obserwacji (i myślę, że tak właśnie się robi).

ghmm na przykład może przyjąć zarówno pojedynczą sekwencję obserwacji, jak i pełny zestaw obserwacji dla metody baumWelch.

Czy działa to samo w obu sytuacjach? Czy algorytm musi znać wszystkie obserwacje w tym samym czasie?

Odpowiedz

5

W Rabiner na paper parametry GMM (wag, środki i kowariancji) są ponownie oszacowano w algorytmie Baum-Welch pomocą tych równań:

enter image description here

Są to tylko dla sekwencji pojedynczej obserwacji walizka. W wielu przypadkach liczniki i mianowniki są po prostu zsumowane nad wszystkimi sekwencjami obserwacji, a następnie podzielone, aby uzyskać parametry. (można to zrobić, ponieważ po prostu reprezentują liczbę zawodów, patrz str. 273 artykułu)

Nie jest wymagane znajomość wszystkich sekwencji obserwacji podczas wywoływania algorytmu. Jako przykład, narzędzie HERest w HTK ma mechanizm, który pozwala na dzielenie danych treningowych pomiędzy wiele maszyn. Każda maszyna oblicza liczniki i mianowniki i zrzuca je do pliku. W końcu jeden komputer odczytuje te pliki, podsumowuje liczniki i mianowniki i dzieli je, aby uzyskać wynik. Patrz str. 129 książki HTK v3.4

Powiązane problemy