Скрытые Марковские Модели 0 1 1 1 … 1 2 2 2 … 2 … … … K K K x1 x2 x3 … … K xL H1 H2 Hi HL-1 HL X1 X2 Xi XL-1 XL 0 Вероятности и вероятностные модели Вероятностная модель с множеством дискретных исходов 1. Бросание кости 6 p1,p2,….p6 Spi =1 i=1 Вероятность последовательности выпадения значений P[5,3,2] = p1 p3 p2 2. Случайные последовательности (аминокислоты или нуклеотиды) q1,q2, .qn – вероятности символов в последовательности Вероятность последовательности P(q1q2….qn) = П qi Условные, совместные и полные вероятности Две кости D1 и D2. Одна кость – честная, другая - нечестная P(i|Dj) – вероятность выпадения i при условии, что была выбрана кость j P(Dj) – вероятность выбора кости P(i,Dj)=P(i|Di)P(Dj) условная вероятность совместная вероятность или в общем виде - P(X,Y)=P(X|Y) P(Y) P(X) = S P(X,Y) = S P(X|Y)P(Y) Y полная вероятность Y Продемонстрировать на доске на примере пирога жизни Вероятность и правдоподобие Вероятность (probability) и правдоподобие (likelihood) Функция правдоподобия L(Q|x) – это совместное распределение выборки из параметрического распределения, рассматриваемая как функция параметра. Сравните два вопроса: •«Какова вероятность выпадения подряд трех шестерок из трех бросков?» •«Насколько правдоподобно, что кости не шулерские, если из трех бросков выпало три шестерки?» Здесь параметр – шулерская или не шулерская кость Вероятность позволяет нам предсказывать неизвестные результаты, основанные на известных параметрах Правдоподобие позволяет нам оценивать неизвестные параметры, основанные на известных результатах. Правдоподобие – это всегда условная вероятность Теорема Байеса и нечестное казино P(честная кость) =0.99 P(нечестная кость) =0.01 p1=p2=p3=p4=p5=p6=1/6 P6=1/2 p1=p2=p3=p4=p5=1/10 Как проверить, какая кость была здесь взята, честная или нет? Какова вероятность гипотезы о том, что в данном случае кость нечестная? P(3 шестерки|D нечестная) -? Эта вероятность и есть правдоподобность гипотезы Теорема Байеса и нечестное казино Более правдоподобно, что мы выбрали честную кость, несмотря на то, что получили три шестерки Цепи Маркова • Основное свойство – состояние системы в момент времени t+1 зависит ТОЛЬКО от состояния системы в момент t. P[X t 1 x t 1 | X t x t , X t -1 x t -1 , . . . , X1 x1 , X 0 x 0 ] P[X t 1 x t 1 | X t x t ] Xt=1 Xt=2 Xt=3 Xt= 4 Xt=5 Пример с погодой • дождь сегодня дождь завтра prr = 0.4 • дождь сегодня нет дождя завтра prn = 0.6 • нет дождя сегодня дождь завтра • нет дождя сегодня нет дождя завтра prr = 0.8 pnr = 0.2 Матрица переходов Стохастическая матрица 0.4 0.6 P 0.2 0.8 Ряд суммируется в 1 0.6 0.4 rain no rain 0.2 8 0.8 Пример с погодой 0.6 0.4 rain X(0)=(1,0) X(1)=X(0)*P = (1,0) x 0.8 no rain 0.2 0.4 0.6 = (0.4 , 0.6) 0.2 0.8 X(2)=X(1)*P= X(0) x P 2 = ( 1,0) x 0.4 0.6 2 0.28 0.72 = (1,0) x = (0.28,0.72) 0.2 0.8 0.24 0.76 X(3) = ……………………………………………………………………………………………= (0.256, 0.744) n X(n)= X(0) x P = (1,0) x 0.4 0.6 n = ……………………………………….= (0.25, 0.75) 0.2 0.8 Предсказание – 25% дней с дождем, 75% без дождя Coke vs. Pepsi Если посетитель последний раз купил кока-колу, то вероятность того, что в следующий раз он опять купит кока-колу составляет 90%. Если же этот посетитель в последний раз купил пепси, то вероятность того, что в следующий раз он опять купит пепси составляет 80%. 0.1 0.9 0.8 coke pepsi 0.2 10 Coke vs. Pepsi Вопрос: исходя из того, что человек постоянно покупает пепси, какова вероятность того, что он начиная с настоящего времени два раза купит кока-колу? 0.1 0.9 0.8 coke Матрица переходов: 0.9 0.1 P 0.2 0.8 pepsi 0.2 (это значение соответствует вероятности 1 покупки вперед) 0.9 0.1 0.9 0.1 0.83 0.17 P 0.2 0.8 0.2 0.8 0.34 0.66 2 11 Coke vs. Pepsi Вопрос: исходя из того, что человек постоянно покупает пепси, какова вероятность того, что он начиная с настоящего времени три раза купит кока-колу 0.9 0.1 0.83 0.17 0.781 0.219 P 0.2 0.8 0.34 0.66 0.438 0.562 3 12 Coke vs. Pepsi Предположим, что каждый человек один раз в неделю покупает кока-колу. Предположим, что в настоящее время 60% всех людей пьет кока-колу, и 40% пьют пепси. Какой процент людей будет пить кока-колу через три недели? Пусть (Q0,Q1)=(0.6,0.4) начальные вероятности. кока-кола = 0 пепси = 1 0.9 0.1 P 0 . 2 0 . 8 0.781 0.219 P 0 . 438 0 . 562 3 1 ( 3) P( X 3 0) Qi pi(03) Q0 p00 Q1 p10(3) 0.6 0.781 0.4 0.438 0.6438 i 0 13 Equilibrium (Stationary) Distribution • Предположим, что в настоящее время 60% всех людей пьет кока-колу, и 40% пьют пепси. • Какой процент людей будет пить кока-колу через 10,100,1000,10000 недель? • Для каждой недели вероятности хорошо определены. Сходятся ли они к какому-то равновесному распределению [p0,p1] • Если да, то должно иметь место 9p0+.2p1 =p0, .8p1+.1p0 =p1 Решение: p0= 2/3, p1=1/3 14 0.9 0.1 P 0 . 2 0 . 8 Markov Process Coke vs. Pepsi Example (cont) Simulation: 2/3 3 Pr[Xi = Coke] 2 1 0.9 0.1 2 3 3 0 . 2 0 . 8 1 3 stationary distribution 0.1 0.9 coke 0.8 pepsi 0.2 week -15i Равновесное (Стационарное) Распределение Является ли распределение стационарным, и является ли оно при этом единственным, определяется некоторыми свойствами процесса. Неприводимость - любое состояние достижимо из любого другого состояния Апериодичность – существует хотя бы одно состояние для которого возможен переход в самого себя. Положителная рекуррентность – для каждого состояния существует конечное число переходов. 0.1 0.9 0.8 coke pepsi 16 0.2 Равновесное (Стационарное) Распределение • Если Цепь Маркова положительно рекуррентная, то существует стационарное распределение • Если Цепь Маркова положительно рекуррентная и неприводимая, то существует единственное стационарное распределение. • Более того, если процесс был построен таким образом, что стационарное распределение было взято в качестве начального, то такой процесс является эргодическим. 17 Равновесное (Стационарное) Распределение • Пусть P – матрица переходов, а стационарное распределение – это вектор π , удовлетворяющий уравнению – Pπ = π . • В данном случае стационарное распределение π есть собственный вектор матрицы переходов, соответствующий собственному значению 1. 18 СКРЫТЫЕ Модели Маркова Hidden Markov Models Скрытые Марковские Модели (вероятностные конечные автоматы) Очень часто у нас возникают ситуации, когда состояния не наблюдаются непосредственно. Поэтому: Hidden Markov Models (HMM) a22 a11 a12 b11 b13 b12 1 a44 a33 a34 a23 b14 4 2 Наблюдаемые 3 a вероятности переходов для состояний. ij bik - вероятности наблюдаемых (выходные вероятности). 20 b11 + b12 + b13 + b14 = 1, b21 + b22 + b23 + b24 = 1, etc. Hidden Markov Models - HMM Hidden variables H1 H2 Hi HL-1 HL X1 X2 Xi XL-1 XL Observed data 21 Пример: Нечестное казино Собственно, что скрыто в данной модели? 22 Пример подбрасывания монеты Start 1/2 1/2 tail 1/2 Fair 0.9 1/2 0.1 0.1 tail 1/4 loaded 0.9 3/4 head head Fair/Loade d L tosses H1 H2 Hi HL-1 HL X1 X2 Xi XL-1 XL Head/Tail Вопрос1: Какова вероятность наблюдать такую последовательность (например, HHHTHTTHHT), при условии выбора данной моделиl? 23 Nucleotide frequencies in the human genome A C T G 29.5 20.4 20.5 29.6 CpG Островки CpG islands: части ДНК, обогащённые C и G q/4 A P q/4 G P Regular T q change P DNA q q P q q/4 C q/4 p/6 (1-P)/4 A p/3 G (1-q)/6 (1-q)/3 p/3 P/6 C-G island 25 T C Example: CpG islands • In human genome, CG dinucleotides are relatively rare – CG pairs undergo a process called methylation that modifies the C nucleotide – A methylated C mutate (with relatively high chance) to a T • Promotor regions are CG rich – These regions are not methylated, and thus mutate less often – These are called CpG islands 26 CpG Islands • We construct Markov chain for CpG rich and poor regions • Using maximum likelihood estimates from 60K nucleotide, we get two models 27 Ratio Test for CpC islands Для конкретной последовательности X1,…,Xn мы рассчитываем логарифм отношения правдоподобия P ( X1 , , Xn | ) S ( X1 , , Xn ) log P ( X1 , , Xn | ) A X i Xi 1 log A Xi X i 1 i X i Xi 1 i 28 Empirical Evalation Гистограмма распределения весов, нормированных на длину. CpG островки – темносерые, а не . CpG островки – светло-серые Биты – так как логарифм по основанию 2 Finding CpG islands Simple Minded approach: • Pick a window of size N (N = 100, for example) • Compute log-ratio for the sequence in the window, and classify based on that Problems: • How do we select N? • What do we do when the window intersects the boundary of a CpG island? 30 A Different C-G Islands Model G A change C T Отличие скрытой от обычной A G T C C-G island? H1 H2 Hi HL-1 HL X1 X2 Xi XL-1 XL A/C/G/T 31 Alternative Approach • Build a model that include “+” states and “-” states маленькая вероятность перехода из одной цепи в другую • A state “remembers” last nucleotide and the type of region • A transition from a - state to a + describes a start of CpG island 32 Формальное определение HMM • Различаем последовательности состояний и последовательности символов • x – это последовательность символов, испускаемая моделью – Xi – это символ, испущенный в момент времени i • Пусть путь π - путь последовательности состояний. Сам путь проходит по обычной цепи Маркова. - i-ое состояние на пути - это i • Цепь характеризуется параметрами вероятности перехода между состояниями akr Pr( i r | i 1 k ) вероятность, что символ b возникает (испущен) в состоянии k, или эмиссионные вероятности ek (b ) Pr(xi b | i k ) Пример: Нечестное казино p1=p2=p3=p4=p5=p6=1/6 • • • • P6=1/2 p1=p2=p3=p4=p5=1/10 Часто говорят, что P(x) – вероятность того, что x сгенерирован данной моделью Известно: – Структура модели – Вероятности переходов Скрыто: Что делает казино – FFFFFLLLLLLLFFFF... Наблюдаемые: последовательность бросков кости – 3415256664666153... Что нам нужно вычислить?: – Когда использовалась честная кость? – Когда использовалась нечестная кость? • Ответ представляет собой последовательность FFFFFFFLLLLLLFFF... 34 Имея модель, мы можем сгенерировать последовательность: первое состояние выбирается из распределения вероятностей состояний - a, • в этом состоянии наблюдение генерируется (испускается, emitted) по вероятностям e • Модель присваивает вероятность каждому объяснению наблюдений: P(326|FFL) = P(3|F)·P(FF)·P(2|F)·P(FL)·P(6|L) = 1/6 · 0.99 · 1/6 · 0.01 · ½ • Максимальное правдоподобие: нахождение более вероятного объяснения – Найти путь, который с наибольшей вероятностью сгенерирует наблюдаемую последовательность • Полная вероятность: вероятность, что наблюдаемая последовательность была сгенерирована HMM – Рассмотреть все пути, которые могли бы сгенерировать наблюдаемую последовательность A “parse” of a sequence 0 1 1 1 … 1 2 2 2 … 2 … … … K K K x1 x2 x3 0 … … L K xL Pr(x , ) a0 1 e i (xi ) a i i 1 i 1 Совместная вероятность последовательности наблюдений x и последовательности состояний π The occasionally dishonest casino x x1, x2, x3 6,2,6 Pr(x , (1) ) a0F eF (6)aFF eF (2)aFF eF (6) (1) FFF ( 2) LLL 1 1 1 0.99 0.99 6 6 6 0.00227 0.5 Pr(x , (2) ) a0 LeL (6)aLLeL (2)aLLeL (6) 0.5 0.5 0.8 0.1 0.8 0.5 0.008 ( 3) LFL Pr(x , (3) ) a0LeL (6)aLF eF (2)aFL eL (6)aL 0 0.5 0.5 0.2 0.0000417 1 0.01 0.5 6 The most probable path The most likely path * satisfies * arg max Pr(x , ) To find *, consider all possible ways the last symbol of x could have been emitted Let v k (i ) Prob. of path 1 , , i most likely Then to emit x1 , , xi such that i k v k (i ) ek (xi ) max v r (i 1)ark r The Viterbi Algorithm • Initialization (i = 0) v 0 (0) 1, vk (0) 0 for k 0 • Recursion (i = 1, . . . , L): For each state k v k (i ) ek (xi ) max v r (i 1)ark r • Termination: Pr(x , * ) max vk (L)ak 0 k To find *, use trace-back, as in dynamic programming Viterbi: Example B F L x 6 2 1 0 0 0 0 (1/6)(1/2) = 1/12 (1/6)max{(1/12)0.99, (1/4)0.2} = 0.01375 (1/6)max{0.013750.99, 0.020.2} = 0.00226875 0 (1/2)(1/2) = 1/4 (1/10)max{(1/12)0.01, (1/4)0.8} = 0.02 (1/2)max{0.013750.01, 0.020.8} = 0.08 v k (i ) ek (xi ) max v r (i 1)ark r 6 The Viterbi Algorithm ìïmax V ( j , k - 1) P (q | q ) P ( x , q ) if k > 0, t i j e k i V (i, k ) = í j ïîPt (qi | q0 ) Pe ( x0 | qi ) if k = 0. . . . k-2 k-1 states sequence k (i,k) ... f max = arg max f i,L-1 V (i, L -1)Pt (q0 | qi ) k+1 . . . Viterbi: Traceback ì max ï V ( j,k - 1)Pt (qi | qj )Pe (xk | qi ) V (i,k ) = í j ïî Pt (qi | q0 )Pe (x0 | qi ) if k > 0, if k = 0. ì argmax ï V ( j,k - 1)Pt (qi | qj )Pe (xk | qi ) if k > 0, T (i,k ) = í j ïî 0 if k = 0. T( T( T( ... T( T(i, L-1), L-2) ..., 2), 1), 0) = 0 Viterbi gets it right more often than not GpC islands • (С+,G+,C+,G+) • (С-,G-,C-,G-) – меньше, чем первая, так как переход из С в G меньше в “-”состоянии, чем в “+”. • (С+,G-,C-,G+) – будет произведение маленьких вероятностей переключения туда и обратно (10-4). Нужно найти * arg max Pr(x , ) An HMM for CpG islands A: 1 C: 0 G: 0 T: 0 A+ A: 0 C: 1 G: 0 T: 0 A: 0 C: 0 G: 1 T: 0 A: 0 C: 0 G: 0 T: 1 C+ G+ T+ A- C- G- T- A: 1 C: 0 G: 0 T: 0 A: 0 C: 1 G: 0 T: 0 A: 0 C: 0 G: 1 T: 0 A: 0 C: 0 G: 0 T: 1 + Emission probabilities are 0 or 1. E.g. eG-(G) = 1, eG-(T) = 0 объединяем An HMM for CpG islands стрелки - переходы из состояние в состояние Алгоритм Витерби для CpG Полная вероятность Для обычных цепей Маркова вероятность последовательности - Для HMM – много различных путей может приводить к наблюдению последовательности x. Вероятность, что наша модель испустит x Суммируем по всем путям Pr(x ) Pr(x , ) Полная Вероятность Количество возможных путей экспоненциально растет с ростом длины последовательности Полная вероятность Полная вероятность Pr(x) может быть вычислена таким же способом, как и наиболее вероятный путь, заменив процедуру взятия максимума суммированием. Пусть fk (i ) Prob. of observing x1 ,, xi assuming that πi k Тогда и fk (i ) ek (xi )fr (i 1)ark r Pr(x ) fk (L)ak 0 k Алгоритм просмотра вперед Алгоритм просмотра вперед The Forward Algorithm • Инициализация (i = 0) f0 (0) 1, fk (0) 0 for k 0 • Рекурсия (i = 1, . . . , L): Для каждого состояния k fk (i ) ek (xi )fr (i 1)ark r • Завершение: Pr(x ) fk (L)ak 0 k The Forward Algorithm : Probability of a Sequence V ( j, k -1)Pt (qi | q j )Pe (xk | qi ) Viterbi: max j the single most probable path |Q|-1 Forward: å F( j, k -1)Pt (qi | q j )Pe (xk-1 | qi ) sum over all paths j=0 i.e., å P(S, f ) all paths f . . . k-2 k-1 states sequence k (i,k) k+1 . . . ... Апостериорная вероятность состояний • Сгенерированная последовательность известна – x1…..xL • Какова вероятность того, что наблюдение xi появилось в состоянии k при данной последовательности наблюдений? Вероятность генерации всей последовательности, причем символ i сгенерирован в состоянии k Все, что сгенерировано после состояния k, зависит только от того, что сгенерировано в состоянии k Апостериорная вероятность состояний Вероятность генерации всей последовательности, причем символ i сгенерирован в состоянии k Все, что сгенерировано после состояния k, зависит только от того, что сгенерировано в состоянии k Этот множитель вычисляется с помощью алгоритма просмотра вперед Этот множитель вычисляется с помощью алгоритма просмотра назад Алгоритм просмотра назад Апостериорное дешифрование Используется в добавление к дешифрованию Витерби Применяется, когда множество разных путей имеют практически ту же вероятность, что и наиболее вероятный путь.