Statystyczna analiza danych ukryte modele Markowa, algorytm EM Anna Gambin Instytut Informatyki Uniwersytet Warszawski
ńczonymi l łańcuch Markowa Q, zbiór stanów M = (p k,l ) k,l Q, stochastyczna ścia ze stanu k d macierz przejść l Q p k,l = 1.
ukryte modele Markowa Niech Σ b edzie alfabetem. k Q, e k (x) ele Ma Σ. Tak x Σ probabilistyczne automaty z wyjściem stan ukryty obserwacja w każdym stanie x Σ e k(x) = 1 tanach (z pewnym w każdym stanie emitowany jest jakiś symbol
z wikipedii :) x states y possible observations a state transition probabilities b output probabilities
przykład: nieuczciwe kasyno F - uczciwa kostka L - fałszywa kostka - szóstka wypada z prawdopodobieństwem = 0.5, pozostałe z pr = 0.1 Możemy, na przyk lad, mieć do czynienia z nastepuj acym modelem: p F,F = 0.95, p L,L = 0.9, p F,L = 0.05, p L,F = 0.1; ponadto prawdopodobieństwo emisji jest zdefiniowane nastepuj aco: e F (x) = 1/6 dla x {1, 2, 3, 4, 5, 6} oraz e L (6) = 0.5 i e L (x) = 0.1 dla x {1, 2, 3, 4, 5}
przykład: wyspy CpG 5 C G 3 CpG z dużym prawdopodobieństwem C-> T (metylacja) proces ten jest zahamowany w regionach promotorowych i w pobliżu miejsc rozpoczynających rejony kodujące my tutaj do czynienia z ukrytym A +, C +, G +, T +, A, C, G, T. w stanie A ξ (gdzie ξ {, +}), emitujemy A stany ukryte
przykład: wyspy CpG http://www.cellscience.com/
przykład: introny/eksony
ukryte modele Markowa c.d. Niech S Σ oraz π Q bed a niepustymi ciagami równej d lugości n = S = π > 0. Prawdopodobieństwo tego że S zostanie wyemitowane oraz uk lad bedzie zmienia l stany wed lug kolejności π wynosi P (S, π) = n 1 t=0 e π(t+1) (S(t + 1)) p π(t),π(t+1), gdzie w powyższym wzorze przyjmujemy, że π(0) = k 0, jest stanem poczatkowym. 1 2 3 e 1 p 1, 2 p 2, 3 S(1) S(2) S(3)
algorytm Viterbiego S Σ słowo zaobserwowane na wyjściu poszukiwany π ciąg stanów, który doprowadził do wyemitowania jb S P (S, π ) = max{p (S, π) π Q, π = S }.
algorytm Viterbiego 0 < i S dziej optym v(i, k) = max{p (S[1..i], π) π Q i, π(i) = k}. v(0, k) = { prawdopodobieństwo najlepszej drogi kończącej się w k { 1 gdy k = k 0, 0 gdy k k 0. v(i, k) = e k (S(i)) max l Q [v(i 1, l) p l,k].
algorytm Viterbiego maksymalne prawdopodobieństwo znajdujemy ze wzoru: P (S, π ) = max[v( S, k)]. k Q optymalną ścieżkę odtwarzamy z zapamiętanych wskaźników
algorytm Viterbiego-złożoność czas O( S Q 2 ) pamięć O( S Q ) UWAGA problem: mnożenie małych liczb
przykład: nieuczciwe kasyno
prawdopodobieństwo emisji słowa P (S) = π P (S, π) P (S, π) = 0 dla S π. UWAGA: liczba ścieżek wykładnicza! można aproksymować za pomocą π ale nie trzeba...
algorytm prefiksowy 0 < i S dziej optym f(i, k) = k Q {π π(i)=k} P (S[1..i], π). prawdopodobieństwo wyemitowania prefiksu długości i droga kończy sie w stanie k
algorytm { prefiksowy rytmu Viterbiego mamy { 1 gdy k = k 0, f(0, k) = 0 gdy k k 0. f(i, k) = e k (S(i)) l Q f(i 1, l) p l,k emitowania s lowa S wyn P (S) = k Q f( S, k).
algorytm sufiksowy Prawdopodobieńs 0 i S = m prawdopodobieństwo wyemitowania sufiksu i..m i-ty symbol emitowany w stanie k
algorytm prefiksowy sufiksowy - złożoność czas O( S Q 2 ) pamięć O( S Q )
i-ty krok w stanie k pod warunkiem, że nastąpiła emisja słowa S P (π(i) = k S) = P (π(i) = k & S) P (S) = f(i, k) b(i, k) P (S) prawdopodobieństwo a posteriori
estymacja parametrów HMM ze praw- S 1,..., S n, mi badź zaobserwowany zbiór słów uczących y, Σ alfabet Q z e zbiór stanów p k,l oraz e k (x), znamy szukamy
estymacja parametrów HMM n P M (S 1 &... & S n ) = P M (S j ) j=1 prawdopodobieństwo wygenerowania słów S 1...S n w modelu M
estymacja parametrów HMM log(p M (S)), c Score M (S) szukamy M który maksymalizuje n j=1 malizować Score M (S j ).
estymacja parametrów HMM uproszczenie s lowa S j znamy ciag stanów π j dla Niech P k,l bedzie równe liczbie przejść ze stanu k w stan l w ciagach π 1,..., π n. E k (x) b edzie równe liczbie emisji symbolu x wczas przyjmujemy w stanie k. p k,l = P k,l q Q P k,q, e k (x) = E k (x) y Σ E k(y).
zadanie: estymacja parametrów HMM f (j) (i, k) M lgorytmu (i, k) ksowego b (j) M f(i, k) = b(i, k) = l Q P (S[1..i], π). {π π(i)=k} p k,l e l (S(i + 1)) b(i + 1, l) S 1,..., S n Σ Q HMM M maksymalizujący n j=1 Score M(S j ).
algorytm Bauma Welcha Krok 1: (Inicjalizacja) ustalone). Krok 2: Obliczmy wartość oczekiwana liczby przejść k do stanu w l. modelu Zauważmy, M ze stanu że dlak1 do stanu i S l., prawdo opodobieństwo tego że f (j) M (i, k) pm k,l em l (S j (i + 1)) b (j) M (i + 1, l) P M (S j ) prawdopodobieństwo: -ty krok emisji i S j w stanie k i +1 w stanie l
algorytm Bauma Welcha P k,l = n j=1 S j i=1 f (j) M (i, k) pm k,l em l (S j (i + 1)) b (j) (i + 1, l) M P M (S j ). E k (x) = n j=1 i I j (x) f (j) M (i, k) b(j) M (i, k) P M (S j ) I j (x) = {i S j (i) = x}
algorytm Bauma Welcha Krok 3: p k,l = P k,l q Q P k,q, e k (x) = E k (x) y Σ E k(y). M.
algorytm Bauma Welcha Krok 4: Obliczamy n j=1 Score M (S j ) niż z góry zadane ε > 0 od poprzednie jeśli nie różni się wiele od poprzedniej wartości iterujemy, aż poprawa będzie niewielka to przerywamy lokalne maksimum różne pkty startowe
algorytm Bauma Welcha szczególny przypadek algortymu EM (Expectation- Maximization) służącego do estymacji parametrów modelu stochastycznego wady: lokalne maksimum powolna (liniowa) zbieżność wrażliwość na punkt startowy
ogólniej: algorytm EM z rozkładu wiarygodność danych: estymator największej wiarygodności często łatwiej maskymalizować
ogólniej: algorytm EM algorytm przydatny w dwóch przypadkach: zakładamy niepełne dane (np. niektóre jest ciężko zaobserwować) funkcja wiarygodności jest analitycznie nie do ugryzienia, ale zmienia się to jeśli uwzględnimy dodatkowe (ukryte) parametry.
ogólniej: algorytm EM efektywna iteracyja metoda maksymalizacji logarytmu wiarygodności przy założeniu ukrytych/ niepełnych danych. W każdej iteracji dwa kroki: E-krok: liczymy warunkową wartość oczekiwaną wiarygodności, pod warunkiem obserwowanych danych oraz aktualnych oszacowań parametrów. M-krok: szukamy parametrów, które maksymalizują funkcję wiarygodności. zbieżność zagwarantowana, bo wiarygodność rośnie w każdej iteracji
funkcja wypukła
algorytm EM maksymalizujemy: w kroku n oszacowanie dla chcemy znaleźć nowe oszacowanie, takie że czyli maksymalizujemy różnicę:
algorytm EM ukryte dane - zmienna losowa rozkład łączny:
algorytm EM Johan Jensen
EM wybiera maksymalizujące
algorytm EM
algorytm EM EM wybiera maksymalizujące wyrzucamy czynniki niezależne od
algorytm EM warunkowa wartość oczekiwana
E- krok kontemplacja czasami rozkład brzegowy jest prostym wyrażeniem zależnym od danych i paramaterów z poprzedniego kroku... czasami jest trudno... często używamy gęstości w postaci: nie zależy ona wtedy od wcześniejszych kroków...
algorytm EM E-krok: M-krok:
uogólniony algorytm EM wybieraliśmy, żeby maksymalizowało A wystarczy, żeby:
algorytm EM: zbieżność czyli wiarygodność w każdej iteracji nie maleje dodatkowo jeśli maksymalizuje oraz to jest punktem krytycznym również dla