Inteligentne Systemy Autonomiczne Ukryte Modele Markowa W oparciu o wyklad Prof. Geoffrey Hinton University of Toronto Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie
Co znaczy “Markowa” ? Następny w kolejności składnik mógłby zależeć od wszystkich składników poprzednich. Ale jest znacznie prościej gdy tak nie jest! Jeśli zależy on tylko od poprzedniego składnika to jest składnikiem Markowa pierwszego rzędu. Jeśli zależy od dwóch poprzednich składników to jest składnikiem Markowa drugiego rzędu. Proces Markowa pierwszego rzędu dla symboli dyskretnych jest zdefiniowany przez: Początkowe rozkłady prawdopodobieństwa symboli oraz Macierz przejścia, stworzoną z prawdopodobieństw warunkowych
Dwie reprezentacje tablicy prawdopodobieństw warunkowych procesu Markowa pierwszego rzędu Bieżący symbol A B C .7 .7 .3 .2 0 .1 0 .5 .5 .7 .3 0 .2 .7 .5 .1 0 .5 A B C A B C Następny symbol Łańcuch znaków: CCBBAAAAABAABACBABAAA
Prawdopodobieństwo wygenerowania łańcucha znaków Iloczyn prawdopodobieństw, jeden dla każdego składnika szeregu To pochodzi z tablicy prawdopodobieństw początkowych To oznacza sekwencje symboli w czasie od 1 do T To jest prawdopodo-bieństwo przejścia
Uczenie tablicy prawdopodobieństw warunkowych Naiwne: Tylko obserwuj wiele łańcuchów liter i ustaw prawdopodobieństwa warunkowe równe z tymi zaobserwowanymi Ale czy naprawdę wierzmy gdy mamy zero? Lepsze: dodaj 1 w liczniku i liczbę symboli do mianownika. Jest to jak podanie słabego prawdopodobieństwa a priori dla przejść
Jak uzyskać długoterminowe zależności i nadal być modelem Markowa pierwszego rzędu Wprowadzamy ukryte stany aby uzyskać ukryty model Markowa (Hidden Markov Model HMM): Następny stan ukryty zależy tylko od aktualnego stanu ukrytego, ale stany ukryte mogą posiadać informacje z więcej niż jednego kroku z przeszłości. Aktualny symbol zależy tylko od aktualnego stanu ukrytego.
Ukryty model Markowa .7 .7 i j k A B C .7 .7 .3 .2 0 .1 0 i A B C k j .5 .1 .3 .6 .4 .6 0 0 .2 .8 Postrzegalne stany wyjściowe Stan ukryty Każdy węzeł ukryty posiada wektor prawdopodobieństw przejść i wektor prawdopodobieństw wyjściowych.
Generowanie z HMM Jest proste wygenerowanie łańcuchów znaków jeśli znamy parametry modelu. W każdym kroku czasowym dokonaj, dwóch przypadkowych wyborów: Użyj prawdopodobieństw przejścia z aktualnego węzła ukrytego aby wybrać następny węzeł ukryty. Użyj prawdopodobieństw wyjściowych z aktualnego węzła ukrytego aby otrzymać aktualny symbol na wyjściu. Moglibyśmy również wygenerować na wstępie całkowitą sekwencję ukrytą a następnie zezwolić każdemu węzłowi ukrytemu w sekwencji wyprodukować jeden symbol wyjściowy Węzły ukryte zależą tylko od wcześniejszych węzłów ukrytych Prawdopodobieństwo wygenerowania sekwencji ukrytej nie zależy od widocznej sekwencji, którą ona generuje
Prawdopodobieństwo wygenerowania sekwencji ukrytej Iloczyn prawdopodobieństw, jeden dla każdego składnika szeregu To pochodzi z tabeli prawdopodobieństw początkowych węzłów ukrytych To jest prawdopodo -bieństwo przejścia pomiędzy węzłami ukrytymi To oznacza sekwencję węzłów ukrytych w czasie od 1 do T
Łączne prawdopodobieństwo wygenerowania sekwencji ukrytej i sekwencji widocznej To oznacza zarowno sekwencje ukrytych węzłów i symboli To jest prawdopodo – bieństwo wytworzenia symbolu st z węzła ht
Prawdopodobieństwo wygenerowania sekwencji widocznej z HMM Ta sama sekwencja widoczna może być wywoływana przez wiele różnych sekwencji ukrytych To jest tak samo jak fakt, że te same dane mogłyby zostać wyprodukowane przez wiele różnych Gaussianów w czasie grupowania Ale jest wykładniczo dużo możliwych sekwencji ukrytych Wydaje się to trudne do wytworzenia
Sztuczka programowania dynamicznego w HMM Jest to skuteczna metoda obliczania sumy, która ma wykładniczo wiele składników. W każdym przedziale czasu łączymy wszystko co trzeba wiedzieć o ścieżkach aż do tego czasu w reprezentacji łączonej: Łączne prawdopodobieństwo wytworzenia sekwencji do czasu i użycia węzła i w czasie Wielkość ta może być liczona rekursywnie: i i i j j j k k k
Uczenie sie parametrow HMM Łatwo jest nauczyć się parametrów, jeśli dla każdej zaobserwowanej sekwencji symboli możemy wywnioskować rozkład aposteriori poprzez sekwencje stanów ukrytych. Możemy wnioskować, która sekwencja stanów ukrytych doprowadziła do zaobserwowanej sekwencji używając sztuczki programowania dynamicznego.
Prawdopodobieństwo wygenerowania sekwencji widzialnej z HMM Ta sama sekwencja widzialna może zostać wywołana przez wiele różnych sekwencji ukrytych. A B C D
Prawdopodobieństwo aposteriori ścieżki ukrytej przy danej sekwencji widzialnej. ścieżka ukryta Suma w mianowniku mogłaby być policzona efektywnie przy użyciu sztuczki programowania dynamicznego. Ale do uczenia nie musimy znać całych ścieżek ukrytych.
Pytania?
Learning the parameters of an HMM Detailed Learning of HMM parameters presented in the following 8 slides is not required for the final exam
Learning the parameters of an HMM Its easy to learn the parameters if, for each observed sequence of symbols, we can infer the posterior probability for each hidden node at each time step. We can infer these posterior probabilities by using the dynamic programming trick. The joint probability of producing the sequence up to time t and using state i at time t. This quantity can be computed recursively: i i i j j j k k k transition prob output prob
The dynamic programming trick again where st is a hidden state at time t The conditional probability of producing all of the sequence beyond time t given state i at time t. This quantity can be computed recursively: i i i j j j k k k
The forward-backward algorithm (also known as the Baum-Welch algorithm) We do a forward pass along the observed string to compute the alpha’s at each time step for each node. We do a backward pass along the observed string to compute the beta’s at each time step for each node. Its very like back-propagation. Once we have the alpha’s and beta’s at each time step, its “easy” to re-estimate the output probabilities and transition probabilities.
The statistics needed to re-estimate the transition probabilities and the output probabilities To learn the transition matrix we need to know the expected number of times that each transition between two hidden nodes was used when generating the observed sequence. To learn the output probabilities we need to know the expected number of times each node was used to generate each symbol.
The re-estimation equations (the M-step of the EM procedure) For the transition probability from node i to node j: For the probability that node i generates symbol A:
Summing the expectations over time The expected number of times that node i produces symbol A requires a summation over all the different times in the sequence when there was an A. The expected number of times that the transition from i to j occurred requires a summation over all pairs of adjacent times in the sequence
Combining the influences of the past and the future to get the full posterior To re-estimate the output probabilities, we need to compute the posterior probability of being at a particular hidden node at a particular time. This requires a summation of the posterior probabilities of all the paths that go through that node at that time. i i i i i j j j j j
Combining past and future influences efficiently