Алгоритмы в биоинформатике, осень 2016: Скрытые...
TRANSCRIPT
![Page 1: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/1.jpg)
HMMHidden Markov Models
Скрытые Марковские Модели
![Page 2: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/2.jpg)
,
![Page 3: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/3.jpg)
Задача о кривой монете
Пусть крупье выбирает монету в самом начале с равной вероятностью.
Вероятность выпадения орла на неправильной монете – 0.9.
Крупье начинает подкидывать монету и выпадают только орлы.
После какого выпадения подряд подряд можно с уверенностью 95% говорить, что была выбрана неправильная монета?
B
0,5 0,5
+0 – 0,5
Р – 0,5
0 – 0,9
Р – 0,1-
E
![Page 4: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/4.jpg)
Марковский процессМарковский процесс – случайный процесс, эволюция которого после любого заданного значения временного параметра t не зависит от эволюции, предшествовавшей t.
Матрица переходных вероятностей и начальное распределение (Марковская модель)
𝑃 𝑆𝑡+1 𝑆1, … , 𝑆𝑡 = 𝑃 𝑆𝑡+1 𝑆𝑡
𝑃𝑖𝑗 𝑡 = 𝑎𝑖𝑗 = 𝑃 𝑆𝑡+1 = 𝑗 𝑆𝑡 = 𝑖)
𝜋𝑖 = 𝑃(𝑆1 = 𝑖)
![Page 5: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/5.jpg)
Пример (и задача)
Примером матрицы переходов является матрица PAM.
PAM = ?n
1-3a, a, a, a,
a, 1-3a, a, a,
a, a, 1-3a, a,
a, a, a, 1-3a,
PAM = 1
![Page 6: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/6.jpg)
Скрытая марковская модельHidden Markov Model (HMM)
Скрытые состояния
Открытые состояния
К состояниям Марковской модели 𝑆, добавляем генеративные (открытые, наблюдаемые) состояния 𝑂.
+ -
HeadsTails
0.50.5
0.80.8 0.2
0.2
0.5
0.50.1
0.9
![Page 7: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/7.jpg)
Алгоритм Витерби
Задача: по последовательности наблюдаемых состояний восстановить наиболее вероятную последовательность скрытых состояний.
При этом мы имеем полную информацию о модели:
Π = {𝜋𝑖} 𝐴 = {𝑎𝑖𝑗} 𝐵 = {𝑏𝑖(𝑂)}
𝑂1, 𝑂2, … , 𝑂𝑇 → 𝑆1, 𝑆2… , 𝑆𝑇
![Page 8: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/8.jpg)
Алгоритм ВитербиПусть 𝛿𝑗 𝑡 - вероятность наиболее вероятной
последовательности скрытых состояний и, при этом, модель на шаге 𝑡 находится в состоянии 𝑗.
𝛿𝑗 𝑡 = max 𝑃(𝑆1, … , 𝑆𝑡|𝑂1, … , 𝑂𝑡, 𝑆𝑡 = 𝑗)
Тогда:
𝛿𝑗 𝑡 + 1 = max𝑖
𝛿𝑖(𝑡)𝑎𝑖𝑗𝑏𝑗(𝑂𝑡+1)
𝛿𝑗 1 = 𝜋𝑗𝑏𝑗(𝑂1)
Не забываем запоминать шаги:
Ψj 𝑡 + 1 = argmax𝑖
𝛿𝑖(𝑡)𝑎𝑖𝑗𝑏𝑖(𝑂𝑡+1)
Конец и обратный проход:
መ𝑆𝑇 = argmax𝑖
𝛿𝑖(𝑇) , መ𝑆𝑡 = Ψ መ𝑆𝑡+1(𝑡 + 1)
1
𝑂𝑡 𝑂𝑡+1
2
3
𝑗
𝑏𝑗(𝑂𝑡+1)
![Page 9: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/9.jpg)
Проход вперед (Forward probabilities)Пусть 𝛼𝑗 𝑡 - суммарная вероятность генерации
последовательности открытых состояний 𝑂1, … , 𝑂𝑡 и, при этом, в точке 𝑡 модель будет находится в состоянии 𝑗.
𝛼𝑗 𝑡 = 𝑂1, … , 𝑂𝑡, 𝑆𝑡 = 𝑗 | Π, 𝐴, 𝐵
Тогда:
𝛼𝑗 𝑡 + 1 =
𝑖
𝛼𝑖(𝑡)𝑎𝑖𝑗𝑏𝑗(𝑂𝑡+1)
𝛼𝑗 1 = 𝜋𝑗𝑏𝑗(𝑂1)
Вероятность генерации последовательности:
𝑃 𝑂1, … , 𝑂𝑇 Π,𝐴, 𝐵) =
𝑖
𝛼𝑖(𝑇)
1
𝑂𝑡 𝑂𝑡+1
2
3
𝑗
𝑏𝑗(𝑂𝑡+1)
![Page 10: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/10.jpg)
Проход назад (Backward probabilities)
1
𝑂𝑡−1 𝑂𝑡
𝑖 𝑏2(𝑂𝑡)
N N
2
1
𝑏𝑁(𝑂𝑡)
𝑏1(𝑂𝑡)
Пусть 𝛽𝑖 𝑡 - суммарная вероятность генерации последовательности открытых состояний 𝑂𝑡+1, … , 𝑂𝑇 и, при этом, в точке 𝑡 модель будет находится в состоянии 𝑖.
𝛽𝑖 𝑡 = 𝑂𝑡+1, … , 𝑂𝑇, 𝑆𝑡 = 𝑖 | Π, 𝐴, 𝐵
Тогда:
𝛽𝑖 𝑡 − 1 =
𝑗
𝛽𝑗(𝑡)𝑎𝑖𝑗𝑏𝑗(𝑂𝑡+1)
𝛽 𝑇 + 1 = 1
Вероятность генерации последовательности:
𝑃 𝑂1, … , 𝑂𝑇 Π,𝐴, 𝐵) =
𝑖
𝜋𝑗𝛽𝑗(1)
![Page 11: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/11.jpg)
Вероятность состоянияАлгоритм Forward-Backward
Теперь мы можем посчитать вероятность того, что на шаге 𝑡 мы находимся в состоянии 𝑗:
𝑃 𝑆𝑡 = 𝑗 𝑂1, … , 𝑂𝑇) =𝑃 𝑂1, … , 𝑂𝑡, 𝑆𝑡 = 𝑗 𝑃 𝑂𝑡+1, … , 𝑂𝑇 , 𝑆𝑡 = 𝑗
𝑃 𝑂1, … , 𝑂𝑇
=𝛼𝑗 𝑡 𝛽𝑗(𝑡)
σ𝑖 𝛼𝑖(𝑇)
![Page 12: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/12.jpg)
Задача о кривой монете
B
0,5
0,8
0,5
0,7
+0 – 0,5
1 – 0,5
0,2
0,3
0 – 0,9
1 – 0,1-
E
Реализуйте алгоритмы Витерби и Forward-Backward для задачи о кривой монете.
О Р О Р О Р O O O O O O
+ + + + + + - - - - - - .61 .72 .83 .84 .71 .60 .42 .33 .24 .26 .33
.39 .28 .17 .16 .29 .40 .58 .67 .76 .74 .67
+-
FBV
Результаты могут отличаться!
![Page 13: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/13.jpg)
Обучение HMMАлгоритм Баума-Велча
Задача – максимизировать вероятность генерации последовательности, подбирая параметры марковской модели.
Действуем итеративно:
Пока коэффициенты не перестанут (заметно) изменяться.
𝑝𝑖𝑗 𝑡 =𝛼𝑖 𝑡 𝑎𝑖𝑗𝑏𝑗 𝑂𝑡+1 𝛽𝑗 𝑡 + 1
σ𝑚𝛼 𝑇
𝛾𝑖 𝑡 =
𝑗
𝑝𝑖𝑗 𝑡
ො𝜋𝑖 = 𝛾𝑖(1)
ො𝑎𝑖𝑗 =σ𝑡 𝑝𝑖𝑗(𝑡)
σ𝑡 𝛾𝑖(𝑡)
𝑏𝑖(𝑂) =σ𝑡,𝑂𝑡=𝑂
𝛾𝑖(𝑡)
σ𝑡 𝛾𝑖(𝑡)
![Page 14: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/14.jpg)
Пример применения обучения HMMЗадачи распознавания и генерации речи
![Page 15: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/15.jpg)
HMM парное выравнивание
G→
G↓
M↘
![Page 16: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/16.jpg)
Задача – выравнивание с помощью HMM
![Page 17: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/17.jpg)
HMM профиль
Insertions (гэпы в последовательности):
Deletions (гэпы в профиле):
![Page 18: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/18.jpg)
HMM профиль
![Page 19: Алгоритмы в биоинформатике, осень 2016: Скрытые Марковские Модели](https://reader033.vdocuments.mx/reader033/viewer/2022051520/58efce0d1a28ab714c8b457f/html5/thumbnails/19.jpg)
HMM поиск генов