Алгоритм Баума – Уэлча
В электротехнике , статистических вычислениях и биоинформатике алгоритм Баума-Уэлча представляет собой частный случай алгоритма ожидания-максимизации, используемого для поиска неизвестных параметров скрытой марковской модели (HMM). Он использует алгоритм вперед-назад для вычисления статистики для шага ожидания.
История
[ редактировать ]Алгоритм Баума-Уэлча был назван в честь его изобретателей Леонарда Э. Баума и Ллойда Р. Уэлча . Алгоритм и скрытые марковские модели были впервые описаны в серии статей Баума и его коллег в Центре коммуникационных исследований IDA в Принстоне в конце 1960-х - начале 1970-х годов. [1] Одним из первых крупных применений HMM была область обработки речи . [2] В 1980-х годах HMM стали полезным инструментом анализа биологических систем и информации, в частности генетической информации . [3] С тех пор они стали важным инструментом вероятностного моделирования геномных последовательностей. [4]
Описание
[ редактировать ]Скрытая модель Маркова описывает совместную вероятность набора « скрытых » и наблюдаемых дискретных случайных величин. Он основан на предположении, что i -я скрытая переменная с учетом ( i - 1)-й скрытой переменной не зависит от предыдущих скрытых переменных, а текущие переменные наблюдения зависят только от текущего скрытого состояния.
Алгоритм Баума-Уэлча использует хорошо известный алгоритм EM для нахождения оценки максимального правдоподобия параметров скрытой марковской модели с учетом набора наблюдаемых векторов признаков.
Позволять быть дискретной скрытой случайной величиной с возможные значения (т.е. мы предполагаем, что существуют штаты в целом). Мы предполагаем, не зависит от времени , что приводит к определению независимой от времени матрицы стохастических переходов
Распределение начального состояния (т.е. когда ) определяется
Переменные наблюдения могу взять один из возможные значения. Мы также предполагаем, что наблюдение в «скрытом» состоянии не зависит от времени. Вероятность определенного наблюдения во время для государства дается
Учитывая все возможные значения и , мы получаем матрица где принадлежит всем возможным состояниям и принадлежит всем наблюдениям.
Последовательность наблюдений определяется выражением .
Таким образом, мы можем описать скрытую цепь Маркова формулой . Алгоритм Баума – Уэлча находит локальный максимум для (т.е. параметры HMM которые максимизируют вероятность наблюдения). [5]
Алгоритм
[ редактировать ]Набор со случайными начальными условиями. Их также можно установить, используя предварительную информацию о параметрах, если она доступна; это может ускорить алгоритм, а также направить его к желаемому локальному максимуму.
Процедура пересылки
[ редактировать ]Позволять , вероятность увидеть наблюдения и находиться в состоянии во время . Это находится рекурсивно:
Поскольку этот ряд сходится экспоненциально к нулю, алгоритм будет численно неэффективным для более длинных последовательностей. [6] Однако этого можно избежать с помощью слегка модифицированного алгоритма, масштабируя в переднем и в обратной процедуре ниже.
Обратная процедура
[ редактировать ]Позволять это вероятность окончания частичной последовательности данное начальное состояние во время . Мы рассчитываем как,
Обновлять
[ редактировать ]Теперь мы можем вычислить временные переменные согласно теореме Байеса:
какова вероятность находиться в состоянии во время учитывая наблюдаемую последовательность и параметры
какова вероятность находиться в состоянии и время от времени и соответственно, учитывая наблюдаемую последовательность и параметры .
Знаменатели и одинаковы; они представляют вероятность наблюдения учитывая параметры .
Параметры скрытой марковской модели теперь можно обновить:
что является ожидаемой частотой пребывания в состоянии во время .
которое представляет собой ожидаемое количество переходов из состояния i в состояние j по сравнению с ожидаемым общим количеством переходов из состояния i . Чтобы уточнить, количество переходов из состояния i означает переходы не в другое состояние j , а в любое состояние, включая его самого. Это эквивалентно тому, сколько раз состояние i наблюдается в последовательности от t = 1 до t = T - 1.
где
является индикаторной функцией, а - ожидаемое количество раз, когда выходные наблюдения были равны находясь в состоянии больше ожидаемого общего количества раз в состоянии .
Эти шаги теперь повторяются итеративно до достижения желаемого уровня сходимости.
Примечание. Определенный набор данных можно переопределить. То есть, . Алгоритм также не гарантирует глобального максимума.
Несколько последовательностей
[ редактировать ]Описанный до сих пор алгоритм предполагает единственную наблюдаемую последовательность . Однако во многих ситуациях наблюдается несколько последовательностей: . В этом случае информация всех наблюдаемых последовательностей должна использоваться при обновлении параметров. , , и . Предполагая, что вы вычислили и для каждой последовательности , теперь параметры можно обновить:
где
является индикаторной функцией
Пример
[ редактировать ]Предположим, у нас есть курица, от которой мы собираем яйца каждый день в полдень. Теперь, отложила ли курица яйца для сбора, зависит от некоторых неизвестных факторов, которые скрыты. Однако мы можем (для простоты) предположить, что курица всегда находится в одном из двух состояний, влияющих на то, несет ли она яйца, и что это состояние зависит только от состояния в предыдущий день. Теперь мы не знаем состояние в начальной отправной точке, мы не знаем вероятности перехода между двумя состояниями и не знаем вероятность того, что курица отложит яйцо в определенном состоянии. [7] [8] Для начала мы сначала угадаем матрицы перехода и выбросов.
|
|
|
Затем мы берем набор наблюдений (E = яйца, N = нет яиц): N, N, N, N, N, E, E, N, N, N.
Это дает нам набор наблюдаемых переходов между днями: NN, NN, NN, NN, NE, EE, EN, NN, NN.
Следующим шагом является оценка новой матрицы перехода. Например, вероятность последовательности NN и состояния тогда определяется следующим образом:
Наблюдаемая последовательность | Наивысшая вероятность наблюдения этой последовательности, если состояние тогда | Наивысшая вероятность наблюдения этой последовательности | |
---|---|---|---|
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
NE | 0.006 = 0.2 × 0.3 × 0.5 × 0.2 | 0.1344 | , |
ЭЭ | 0.014 = 0.2 × 0.7 × 0.5 × 0.2 | 0.0490 | , |
В | 0.056 = 0.2 × 0.7 × 0.5 × 0.8 | 0.0896 | , |
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
НН | 0.024 = 0.2 × 0.3 × 0.5 × 0.8 | 0.3584 | , |
Общий | 0.22 | 2.4234 |
Таким образом, новая оценка для от до переход сейчас (в следующих таблицах они называются «псевдовероятностями»). Затем мы вычисляем от до , от до и от до вероятности перехода и нормализуем их так, чтобы их сумма составляла 1. Это дает нам обновленную матрицу перехода:
|
|
|
Далее мы хотим оценить новую матрицу выбросов,
Наблюдаемая последовательность | Наивысшая вероятность наблюдения этой последовательности если предполагается, что E происходит от | Наивысшая вероятность наблюдения этой последовательности | ||
---|---|---|---|---|
NE | 0.1344 | , | 0.1344 | , |
ЭЭ | 0.0490 | , | 0.0490 | , |
В | 0.0560 | , | 0.0896 | , |
Общий | 0.2394 | 0.2730 |
Новая оценка E, полученная от выброс сейчас .
Это позволяет нам рассчитать матрицу выбросов, как описано выше в алгоритме, путем сложения вероятностей соответствующих наблюдаемых последовательностей. Затем мы повторяем, если N произошло от и если бы N и E произошли от и нормализовать.
|
|
|
Чтобы оценить начальные вероятности, мы предполагаем, что все последовательности начинаются со скрытого состояния и вычислите наибольшую вероятность, а затем повторите для . Затем мы снова нормализуем, чтобы получить обновленный исходный вектор.
Наконец, мы повторяем эти шаги до тех пор, пока полученные вероятности не сойдутся удовлетворительно.
Приложения
[ редактировать ]Распознавание речи
[ редактировать ]Скрытые марковские модели были впервые применены для распознавания речи Джеймсом К. Бейкером в 1975 году. [9] Распознавание непрерывной речи происходит с помощью следующих шагов, смоделированных HMM. Анализ характеристик сначала проводится на временных и/или спектральных характеристиках речевого сигнала. Это создает вектор наблюдения. Затем этот признак сравнивается со всеми последовательностями блоков распознавания речи. Этими единицами могут быть фонемы , слоги или целые слова. Система декодирования лексикона применяется для ограничения исследуемых путей, поэтому исследуются только слова в лексиконе системы (словаре слов). Подобно декодированию словаря, системный путь дополнительно ограничен правилами грамматики и синтаксиса. Наконец, применяется семантический анализ, и система выводит распознанное высказывание. Ограничением многих приложений HMM для распознавания речи является то, что текущее состояние зависит только от состояния на предыдущем временном шаге, что нереально для речи, поскольку зависимости часто имеют длительность в несколько временных шагов. [10] Алгоритм Баума-Уэлча также имеет обширные применения при решении HMM, используемых в области синтеза речи. [11]
Криптоанализ
[ редактировать ]Алгоритм Баума-Уэлча часто используется для оценки параметров HMM при расшифровке скрытой или зашумленной информации и, следовательно, часто используется в криптоанализе . В сфере безопасности данных наблюдатель хотел бы извлечь информацию из потока данных, не зная всех параметров передачи. Это может включать в себя реверс-инжиниринг кодера канала . [12] HMM и, как следствие, алгоритм Баума-Уэлча также использовались для идентификации произнесенных фраз в зашифрованных вызовах VoIP. [13] Кроме того, криптоанализ HMM является важным инструментом для автоматического исследования данных синхронизации кэша. Это позволяет автоматически обнаруживать критическое состояние алгоритма, например значения ключей. [14]
Приложения в биоинформатике
[ редактировать ]Поиск генов
[ редактировать ]Прокариотический
[ редактировать ]( Программное обеспечение GLIMMER Gene Locator and Interpolated Markov ModelER) было ранней программой поиска генов , используемой для идентификации кодирующих областей в ДНК прокариот . [15] [16] GLIMMER использует интерполированные марковские модели (IMM) для идентификации кодирующих областей и отличия их от некодирующей ДНК . Было показано, что последняя версия (GLIMMER3) обладает повышенной специфичностью и точностью по сравнению со своими предшественниками в отношении прогнозирования сайтов инициации трансляции, демонстрируя среднюю точность 99% в определении местоположения 3'-локаций по сравнению с подтвержденными генами у прокариот. [17]
Эукариотический
[ редактировать ]Веб -сервер GENSCAN представляет собой локатор генов, способный анализировать эукариотические последовательности длиной до одного миллиона пар оснований (1 Мбит). [18] GENSCAN использует общую неоднородную трехпериодическую марковскую модель кодирующих областей ДНК пятого порядка. Кроме того, эта модель учитывает различия в плотности и структуре генов (например, в длине интронов), которые встречаются в разных изохорах . В то время как большинство интегрированных программ для поиска генов (на момент выпуска GENSCAN) предполагали, что входные последовательности содержат ровно один ген, GENSCAN решает общий случай, когда присутствуют частичные, полные или множественные гены (или даже отсутствие гена вообще). [19] Было показано, что GENSCAN точно предсказывает расположение экзона с точностью 90% и специфичностью 80% по сравнению с аннотированной базой данных. [20]
Обнаружение изменений количества копий
[ редактировать ]Вариации числа копий (CNV) представляют собой распространенную форму вариаций структуры генома у человека. Двумерный HMM с дискретными значениями (dbHMM) использовался для присвоения хромосомным областям семи различных состояний: незатронутых областей, делеций, дупликаций и четырех переходных состояний. Решение этой модели с использованием Баума-Велча продемонстрировало способность предсказывать местоположение точки разрыва CNV примерно до 300 п.н. на основе экспериментов на микрочипах . [21] Такая величина разрешения обеспечивает более точные корреляции между различными CNV и популяциями , чем это было возможно ранее, что позволяет изучать частоты популяций CNV. Он также продемонстрировал шаблон прямого наследования для конкретного CNV .
Реализации
[ редактировать ]- Accord.NET на C#
- ghmm C с привязками Python , поддерживающими как дискретную, так и непрерывную эмиссию.
- Библиотека Jajapy Python , которая реализует Баума-Уэлча на различных типах марковских моделей ( HMM , MC , MDP , CTMC ).
- HiddenMarkovModels.jl Пакет для Юлии .
- Функция HMMFit в RHmm для R. пакете
- хммпоезд в MATLAB
- ржавчина био в Rust
См. также
[ редактировать ]- Алгоритм Витерби
- Скрытая модель Маркова
- ЭМ-алгоритм
- Максимальная вероятность
- Распознавание речи
- Биоинформатика
- Криптоанализ
Ссылки
[ редактировать ]- ^ Рабинер, Лоуренс. «Из первых рук: скрытая марковская модель» . Сеть глобальной истории IEEE . Проверено 2 октября 2013 г.
- ^ Елинек, Фредерик; Бахл, Лалит Р.; Мерсер, Роберт Л. (май 1975 г.). «Разработка лингвостатистического декодера для распознавания слитной речи». Транзакции IEEE по теории информации . 21 (3): 250–6. дои : 10.1109/тит.1975.1055384 .
- ^ Бишоп, Мартин Дж.; Томпсон, Элизабет А. (20 июля 1986 г.). «Максимальное правдоподобное выравнивание последовательностей ДНК». Журнал молекулярной биологии . 190 (2): 159–65. дои : 10.1016/0022-2836(86)90289-5 . ПМИД 3641921 .
- ^ Дурбин, Ричард (23 апреля 1998 г.). Анализ биологических последовательностей: вероятностные модели белков и нуклеиновых кислот . Издательство Кембриджского университета. ISBN 978-0-521-62041-3 .
- ^ Билмс, Джефф А. (1998). Нежное руководство по алгоритму EM и его применению для оценки параметров гауссовой смеси и скрытых марковских моделей . Беркли, Калифорния: Международный институт компьютерных наук. стр. 7–13.
- ^ Рабинер, Лоуренс (февраль 1989 г.). «Учебное пособие по скрытым марковским моделям и избранным приложениям для распознавания речи» (PDF) . Труды IEEE . Проверено 29 ноября 2019 г.
- ^ «Приложения Баума-Велча и HMM» (PDF) . Школа общественного здравоохранения Блумберга Джонса Хопкинса. Архивировано из оригинала (PDF) 14 апреля 2021 г. Проверено 11 октября 2019 г.
- ^ Фраццоли, Эмилио. «Введение в скрытые марковские модели: алгоритм Баума-Уэлча» (PDF) . Аэронавтика и космонавтика, Массачусетский технологический институт . Проверено 2 октября 2013 г.
- ^ Бейкер, Джеймс К. (1975). «Система ДРАКОН — Обзор». Транзакции IEEE по акустике, речи и обработке сигналов . 23 : 24–29. дои : 10.1109/ТАССП.1975.1162650 .
- ^ Рабинер, Лоуренс (февраль 1989 г.). «Учебное пособие по скрытым марковским моделям и избранным приложениям в распознавании речи». Труды IEEE . 77 (2): 257–286. CiteSeerX 10.1.1.381.3454 . дои : 10.1109/5.18626 . S2CID 13618539 .
- ^ Токуда, Кейичи; Ёсимура, Такаёси; Масуко, Такаши; Кобаяши, Такао; Китамура, Тадаши (2000). «Алгоритмы генерации речевых параметров для синтеза речи на основе HMM». Международная конференция IEEE по акустике, речи и обработке сигналов . 3 .
- ^ Дингель, Янис; Хагенауэр, Иоахим (24 июня 2007 г.). «Оценка параметров сверточного кодировщика на основе зашумленных наблюдений». Международный симпозиум IEEE по теории информации .
- ^ Райт, Чарльз; Баллард, Лукас; Коулл, Скотт; Монроуз, Фабиан; Массон, Джеральд (2008). «Найди меня, если сможешь: раскрытие произнесенных фраз в зашифрованных разговорах VoIP». Международный симпозиум IEEE по безопасности и конфиденциальности .
- ^ Брамли, Боб; Хакала, Ристо (2009). «Атаки на шаблоны кэширования». Достижения в криптологии – ASIACRYPT 2009 . Конспекты лекций по информатике. Том. 5912. стр. 667–684. дои : 10.1007/978-3-642-10366-7_39 . ISBN 978-3-642-10365-0 .
- ^ Зальцберг, Стивен; Делчер, Артур Л.; Касиф, Саймон; Уайт, Оуэн (1998). «Идентификация микробных генов с использованием интерполированных моделей Маркова» . Исследования нуклеиновых кислот . 26 (2): 544–548. дои : 10.1093/нар/26.2.544 . ПМЦ 147303 . ПМИД 9421513 .
- ^ «Глиммер: система поиска микробных генов» . Университет Джонса Хопкинса – Центр вычислительной биологии.
- ^ Делчер, Артур; Братке, Кирстен А.; Пауэрс, Эдвин С.; Зальцберг, Стивен Л. (2007). «Идентификация бактериальных генов и ДНК эндосимбионтов с помощью Glimmer» . Биоинформатика . 23 (6): 673–679. doi : 10.1093/биоинформатика/btm009 . ПМК 2387122 . ПМИД 17237039 .
- ^ Бердж, Кристофер. «Веб-сервер GENSCAN в Массачусетском технологическом институте» . Архивировано из оригинала 6 сентября 2013 года . Проверено 2 октября 2013 г.
- ^ Бердж, Крис; Карлин, Сэмюэл (1997). «Прогнозирование полных генных структур в геномной ДНК человека». Журнал молекулярной биологии . 268 (1): 78–94. CiteSeerX 10.1.1.115.3107 . дои : 10.1006/jmbi.1997.0951 . ПМИД 9149143 .
- ^ Бердж, Кристофер; Карлин, Сэмюэл (1998). «Обнаружение генов в геномной ДНК» . Современное мнение в области структурной биологии . 8 (3): 346–354. дои : 10.1016/s0959-440x(98)80069-9 . ПМИД 9666331 .
- ^ Корбель, Ян ; Урбан, Александр; Груберт, Фабьен; Ду, Цзян; Ройс, Томас; Старр, Питер; Чжун, Гуонэн; Эмануэль, Беверли; Вайсман, Шерман; Снайдер, Майкл; Герштейн, Марг (12 июня 2007 г.). «Систематическое предсказание и проверка точек останова, связанных с вариациями числа копий в геноме человека» . Труды Национальной академии наук Соединенных Штатов Америки . 104 (24): 10110–5. Бибкод : 2007PNAS..10410110K . дои : 10.1073/pnas.0703834104 . ЧВК 1891248 . ПМИД 17551006 .
Внешние ссылки
[ редактировать ]- Комплексный обзор методов и программного обеспечения HMM в биоинформатике - Профиль скрытых марковских моделей
- Ранние публикации HMM Баума:
- Лекция Шеннона Уэлча, в которой рассказывается о том, как можно эффективно реализовать алгоритм:
- Скрытые марковские модели и алгоритм Баума-Уэлча , Информационный бюллетень Общества теории информации IEEE, декабрь 2003 г.
- Альтернатива алгоритму Баума – Уэлча, алгоритм подсчета путей Витерби:
- Дэвис, Ричард И.А.; Ловелл, Брайан С.; «Сравнение и оценка алгоритмов обучения ансамбля HMM с использованием критериев обучения, тестирования и числа условий» , Pattern Analysis and Applications, vol. 6, нет. 4, стр. 327–336, 2003.
- Интерактивная электронная таблица для обучения алгоритму прямого и обратного движения (таблица и статья с пошаговым руководством)
- Формальный вывод алгоритма Баума – Уэлча. Архивировано 28 февраля 2012 г. на Wayback Machine.
- Реализация алгоритма Баума – Уэлча.