Wst ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺad nr.11, 18 stycznia 2006) Spis treści 7 Ukryte modele arkowa 75 7.1 Algorytm Viterbiego....................... 77 7.2 Prawdopodobieństwo wyemitowania zadanego s lowa...... 78 7.2.1 Algorytm prefiksowy................... 78 7.2.2 Algorytm sufiksowy.................... 78 7.3 Estymacje parametrów...................... 79 7.3.1 Algorytm Bauma-Welcha................. 80 7 Ukryte modele arkowa Zaczniemy od definicji lańcucha arkowa. Bedziemy sie wy l acznie zajmować skończonymi lańcuchami arkowa dzia lajacymi w dyskretnym czasie. Niech Q, bedzie skończonym zbiorem (zbiór stanów). Pewien stan k 0 Q jest wyróżniony jako stan poczatkowy. Lańcuch arkowa jest zadany przez macierz przejść = (p k,l ) k,l Q, która dla k, l Q podaje prawdopodobieństwo p k,l przejścia ze stanu k do stanu l. musi spe lniać nastepuj acy warunek (tzn. macierz musi być stochastyczna): dla każdego k Q mamy p k,l = 1. l Q Lańcuch arkowa opisuje pewien uk lad, który w każdym momencie może sie znajdować tylko w jednym ze stanów k Q. Uk lad ten obserwujemy w dyskretnych chwilach czasowych t = 0, 1,.... Przyjmujemy, że na poczatku uk lad znajduje sie w stanie poczatkowym k 0. Jeśli w danym momencie t, uk lad znajduje sie w stanie k, to w momencie t + 1 przechodzi on do stanu l z prawdopodobieństwem p k,l. Podstawowa cecha lańcucha arkowa jest to, że nastepny stan zależy tylko od obecnego stanu i nie zależy od wartości t, ani od historii dojścia do obecnego stanu. Ukryte modele arkowa (H, od hidden arkov models ) stanowia pewne rozszerzenie definicji lańcucha arkowa. Niech Σ bedzie alfabetem. Bedziemy rozważać lańcuchy arkowa mogace sie komunikować z otoczeniem poprzez emitowanie ciagów liter z alfabetu Σ. Tak wiec majac dany H bed acy w stanie k Q, emituje on symbol x Σ z prawdopodobieństwem 75
e k (x) oraz przechodzi do stanu l z prawdopodobieństwem p k,l. Ukryte modele arkowa znane sa w literaturze informatycznej również pod nazwa probabilistycznych automatów z wyjściem. Jeśli chcemy aby w każdym stanie k Q emitowany by l jakiś symbol, to musimy przyjać x Σ e k(x) = 1. W ogólności, jeśli dopuszczamy sytuacje, że w pewnych stanach (z pewnym prawdopodobieństwem, nic nie jest emitowane, to przyjmujemy s labsze za lożenie x Σ e k(x) 1. Przyjmujemy, że to co daje sie obserwować to symbole emitowane przez uk lad, a nie stany wewnetrzne uk ladu (stad nazwa ukryte ). Przyk lad 7.0.1 Przyk ladem ukrytego lańcucha arkowa jest nieuczciwe kasyno gry, które ma dwa rodzaje kości: uczciwa kostke do gry (z prawdopodobieństwem 1/6 wyrzuca sie każda z sześciu możliwych wartości) oraz nieuczciwa kostke (dla której prawdopodobieństwo wyrzucenia szóstki wynosi 1/2, a dla pozosta lych liczb 1/10). Tak wiec mamy dwa stany: F (uczciwa kostka) i L (nieuczciwa). Uk lad może zmieniać swój stan z pewnym prawdopodobieństwem, ale my stanu nie możemy zaobserwować. Jedynie widzimy ciag liczb bed acych wynikiem rzutów kostka. oż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 lad 7.0.2 (Wyspy CpG) Wiadomo, że w ludzkim genomie, jeśli pojawi sie para nukleotydów CG (tzn G pojawia sie tuż za C w jednej nici, w kierunku 5 do 3 ), to nukleotyd C zwykle ulega zmianie (pod wp lywem metylacji) i z dużym prawdopodobieństwem zostaje zmutowany na T. Tak wiec pary CpG 1 zwykle pojawiaja sie rzadziej w genomie cz lowieka. Z pewnych biologicznych powodów proces metylacji jest zatrzymywany na krótkich odcinkach genomu w pobliżu miejsc rozpoczynajacych rejony kodujace bia lko (lub też w pobliżu tzw. odcinków promotorowych). Takie odcinki sa nazywane wyspami CpG. Rozpoznawanie wysp CpG może być wykorzystane jako wskazówka przy poszukiwaniu biologicznie interesujacych fragmentów genomu. amy tutaj do czynienia z ukrytym modelem arkowa. a on osiem stanów A +, C +, G +, T +, A, C, G, T. Stan A + oznacza, że znajdujemy sie w rejonie wyspy CpG i czytamy nukleotyd A. Podobnie, stan G oznacza, że znajdujemy sie poza rejonem wyspy CpG i czytamy G. Emitowane symbole: bed ac w stanie A ξ (gdzie ξ {, +}), emitujemy A z prawdopodobieństwem 1 Litera p pomiedzy C oraz G oznacza, że chodzi o kolejne nukleotydy w tej samej nici, a nie odpowiadajace sobie pary komplementarnych nukleotydów w DNA. 76
1; każdy inny symbol jest emitowany w stanie A ξ z prawdopodobieństwem 0. Podobnie dla innych stanów. 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 n 1 P (S, π) = e π(t+1) (S(t + 1)) p π(t),π(t+1), t=0 gdzie w powyższym wzorze przyjmujemy, że π(0) = k 0, jest stanem poczatkowym. 2 7.1 Algorytm Viterbiego Dane s lowo S Σ zaobserwowane na wyjściu H. Chcemy znaleźć najbardziej prawdopodobny ciag stanów, który doprowadzi l do wyemitowania S, czyli znaleźć π takie, że P (S, π ) = max{p (S, π) π Q, π = S }. Zastosujemy metode dynamicznego programowania. Dla 0 < i S oraz k Q, niech v(i, k) bedzie prawdopodobieństwem najbardziej optymalnej drogi kończacej sie w stanie k, która doprowadzi la do wyemitowania prefiksu S[1..i] z maksymalnym prawdopodobieństwem. Tzn. v(i, k) = max{p (S[1..i], π) π Q i, π(i) = k}. Funkcje v rozszerzamy dla przypadku i = 0, definiujac { 1 gdy k = k 0, v(0, k) = 0 gdy k k 0. Twierdzenie 7.1.1 Dla 0 < i S oraz k Q zachodzi v(i, k) = e k (S(i)) max l Q [v(i 1, l) p l,k]. Wówczas maksymalne prawdopodobieństwo P (S, π ) znajduje si e ze wzoru P (S, π ) = max[v( S, k)]. k Q 2 Czasami przyjmuje sie, że H ma wyróżniony stan końcowy, do którego uk lad przechodzi po wyemitowaniu s lowa S. Wprowadzenie takiego stanu niewiele zmienia rozważania, wiec dla prostoty bedziemy go opuszczać. 77
Optymalna droge π (może ich być wiecej niż jedna) znajduje sie przez zapamietywanie wskaźników, dla których maksimum jest realizowane w równaniu rekurencyjnym z Twierdzenia 7.1.1. Twierdzenie to w naturalny sposób prowadzi do algorytmu wyznaczania najbardziej prawdopodobnej ścieżki emitujacej zadane s lowo. Jest to tzw. algorytm Viterbiego. Twierdzenie 7.1.2 Algorytm Viterbiego wyznacza najbardziej prawdopodobna ścieżke emitujac a przez H dane s lowo S w czasie O( S Q 2 ) i przestrzeni O( S Q ), gdzie Q jest zbiorem stanów modelu H. 7.2 Prawdopodobieństwo wyemitowania zadanego s lowa Zajmiemy si e algorytmem obliczania prawdopodobieństwa P (S), wyemitowania s lowa S przez dany H. amy P (S) = π P (S, π), gdzie w powyższej sumie przyjmujemy, że P (S, π) = 0 dla dróg π, takich że S π. 7.2.1 Algorytm prefiksowy Dla 0 i S oraz k Q niech f(i, k) bedzie prawdopodobieństwem wyemitowania prefiksu S[1..i] przy dodatkowym za lożeniu, że droga prowadzaca do tej emisji kończy sie w stanie k. Czyli f(i, k) = P (S[1..i], π). {π π(i)=k} Podobnie jak dla algorytmu Viterbiego mamy { 1 gdy k = k 0, f(0, k) = 0 gdy k k 0. Poniższe twierdzenie sugeruje pewien sposób obliczania wartości f(i, k) oraz prawdopodobieństwa P (S). Twierdzenie 7.2.1 Dla 0 < i S oraz k Q mamy f(i, k) = e k (S(i)) f(i 1, l) p l,k. Prawdopodobieństwo wyemitowania s lowa S wynosi wówczas l Q P (S) = k Q f( S, k). 78
7.2.2 Algorytm sufiksowy Prawdopodobieństwo P (S) możemy również obliczyć używajac sufiksów. Niech 0 i S = m i niech b(i, k) oznacza prawdopodobieństwo wyemitowania sufiksu S[i+1..m], zak ladajac, że stan poczatkowy modelu jest k. amy wiec b( S, k) = 1, dla k Q (bo oczywiście prawdopodobieństwo wyemitowania pustego s lowa przy dowolnym stanie poczatkowym jest równe 1). Ponadto oczywiście mamy P (S) = b(0, k 0 ). Poniższe twierdzenie podaje sposób obliczania wartości b(i, k). Twierdzenie 7.2.2 Dla 0 i < S oraz k Q mamy b(i, k) = l Q p k,l e l (S(i + 1)) b(i + 1, l). Twierdzenie 7.2.3 Opierajac sie na równaniach z Twierdzeń 7.2.1 oraz 7.2.2, wartości f(i, k) oraz b(i, k) można obliczyć w czasie O( S Q 2 ) i w pamieci O( S Q ). Używajac funkcji f oraz b możemy wyrazić warunkowe prawdopodobieństwo tego, że na i-tym kroku dany H by l w stanie k, pod warunkiem że wyemitowane zosta lo s lowo S: P (π(i) = k S) = P (π(i) = k & S) P (S) 7.3 Estymacje parametrów = f(i, k) b(i, k). (7.1) P (S) Problem estymacji parametrów polega na jak najlepszym doborze prawdopodobieństw przejść i emisji w oparciu o zaobserwowany zbiór s lów S 1,..., S n, wyemitowanych przez pewien H. S lowa te sa nazywane uczacymi badź treningowymi sekwencjami. Zak ladamy, że znamy alfabet Σ nad którym tworzone sa s lowa S 1,..., S n oraz zbiór Q stanów modelu H. Nie znamy natomiast prawdopodobieństw p k,l oraz e k (x), dla k, l Q oraz x Σ. Tak wiec, naszym zadaniem jest dobranie tych prawdopodobieństw tak, aby zmaksymalizować prawdopodobieństwo wyemitowania S 1,..., S n. Niech oznacza pewien H nad alfabetem Σ i zbiorem stanów Q. Przez P (S 1 &... &S n ) bedziemy oznaczać prawdopodobieństwo wyemitowania s lów S 1,..., S n w modelu. Ponieważ s lowa sa emitowane niezależnie, to n P (S 1 &... & S n ) = P (S j ). 79 j=1
Przechodzac do logarytmicznej skali i oznaczajac Score (S) przez log(p (S)), mamy za zadanie znaleźć tak, aby zmaksymalizować n Score (S j ). j=1 Zacznijmy od prostszego zadania. Za lóżmy dodatkowo, że dla każdego s lowa S j znamy ciag stanów π j, przy którym to s lowo zosta lo wyemitowane. Niech P k,l bedzie równe liczbie przejść ze stanu k w stan l w ciagach π 1,..., π n. Podobnie, niech E k (x) bedzie równe liczbie emisji symbolu x, gdy uk lad by l w stanie k. Wówczas przyjmujemy oraz p k,l = e k (x) = P k,l q Q P, (7.2) k,q E k (x) y Σ E k(y). (7.3) Aby uniknać zerowych prawdopodobieństw w sytuacjach gdy mamy do czynienia z ma lym zbiorem uczacych sekwencji, czesto wprowadza sie poprawke, dodajac 1 do każdego P k,l oraz każdego E k (x). Teraz zajmiemy sie trudniejszym przypadkiem, kiedy ciagi π i nie sa znane. 7.3.1 Algorytm Bauma-Welcha Niech b edzie pewnym modelem H i niech f (j) (i, k) oraz b(j) (i, k) bed a odpowiednio wartościami zdefiniowanymi dla algorytmu prefiksowego (por. Sekcja 7.2.1) oraz dla algorytmu sufiksowego (por. Sekcja 7.2.2) dla s lowa S j w modelu. Wejście: n s lów uczacych S 1,..., S n Σ oraz zbiór stanów Q pewnego H. Wyjście: H maksymalizujacy 3 n j=1 Score (S j ). Krok 1: (Inicjalizacja) przyjmijmy pewien model (Σ oraz Q sa znane i ustalone). Krok 2: Obliczmy wartość oczekiwana liczby przejść w modelu ze stanu k do stanu l. Zauważmy, że dla 1 i S j, prawdopodobieństwo tego że 3 odel znajdowany przez algorytm realizuje lokalne maksimum funkcji Score. 80
w i-tym kroku emisji przez s lowa S j model znajdowa l si e w stanie k, a w (i + 1)-szym kroku w stanie l, wynosi: f (j) (i, k) p k,l e l (S j (i + 1)) b (j) (i + 1, l) P (S j ) Zatem wartość oczekiwana liczby przejść ze stanu k w l wynosi. P k,l = S n j j=1 i=1 f (j) (i, k) p k,l e l (S j (i + 1)) b (j) (i + 1, l) P (S j ). Podobnie liczymy wartość oczekiwana liczby emisji symbolu x w stanie k (por. (7.1)): E k (x) = gdzie I j (x) = {i S j (i) = x}. n j=1 i I j (x) f (j) (i, k) b(j) (i, k), P (S j ) Krok 3: ajac nowe wartości P k,l oraz E k (x) wyznaczamy nowe prawdopodobieństwa p k,l oraz e k (x), stosujac wzory (7.2) i (7.3). W ten sposób otrzymujemy nowy model. Krok 4: Obliczamy n j=1 Score (S j). Jeśli ta wartość nie różni sie o wiecej niż z góry zadane ε > 0 od poprzedniej wartości n j=1 Score (S j ), to przerywamy iterowanie z wynikiem. W przeciwnym przypadku powtarzamy kroki 2,3,4 algorytmu. Powyższy algorytm jest szczególnym przypadkiem metody E (Expectation aximization) maksymalizacji wartości oczekiwanej. ożna pokazać, że po każdym kroku w petli wartość Score dla zmienionego modelu jest nie mniejsza od analogicznej wartości dla poprzedniego modelu. Typowy problem z powyższym algorytmem polega na tym, że może on znaleźć lokalne maksimum zamiast globalnego. ożna cześciowo obejść ten problem startujac algorytm dla różnych wartości poczatkowych (krok 1). Jeśli w wiekszości przypadków dostaniemy podobny wynik, to jest szansa, że mamy do czynienia z maksimum globalnym. 81