Алгоритм Баума-Велша — различия между версиями
м (добавлен раздел) |
(→История) |
||
Строка 1: | Строка 1: | ||
'''''Алгоритм Баума-Велша''''' — алгоритм для нахождения неизвестных параметров [[Скрытые_Марковские_модели | скрытой Марковской модели]]. Использует [[Алгоритм_"Вперед-Назад" | алгоритм прямого-обратного хода]]. | '''''Алгоритм Баума-Велша''''' — алгоритм для нахождения неизвестных параметров [[Скрытые_Марковские_модели | скрытой Марковской модели]]. Использует [[Алгоритм_"Вперед-Назад" | алгоритм прямого-обратного хода]]. | ||
==История== | ==История== | ||
+ | [[Скрытые Марковские модели | Скрытые_Марковские_модели]](HMMs) и алгоритм Баума-Велша впервые были описаны в заметках Леонарда Баума и его сверстников в конце 1960х. Одно из первых основных приложений на основе HMMs было использовано в области обработки речи. В 1980х HMMs стало эффективным инструментом в анализе биологических систем и информации, особенно в генном анализе. | ||
+ | |||
== Описание алгоритма== | == Описание алгоритма== | ||
Пусть <tex>Q_t</tex> - это дискретная случайная переменная, принимающая одно из <tex>N</tex> значений <tex>(1..N)</tex>. Будем полагать, что данная модель Маркова, определенная как <tex>P(Q_t | Q_{t - 1})</tex> однородна по времени, то есть независима от <tex>t</tex>. Тогда можно задать <tex>P(Q_t | Q_{t - 1}) </tex> как независящую от времени стохастическую матрицу перемещений <tex>A = \{a_{ij}\} = p(Q_t = j | Q_{t - 1} = i)</tex>. Особый случай для времени <tex>t = 1</tex> определяется начальным распределением <tex>\pi_i = P(Q_1 = i)</tex>. | Пусть <tex>Q_t</tex> - это дискретная случайная переменная, принимающая одно из <tex>N</tex> значений <tex>(1..N)</tex>. Будем полагать, что данная модель Маркова, определенная как <tex>P(Q_t | Q_{t - 1})</tex> однородна по времени, то есть независима от <tex>t</tex>. Тогда можно задать <tex>P(Q_t | Q_{t - 1}) </tex> как независящую от времени стохастическую матрицу перемещений <tex>A = \{a_{ij}\} = p(Q_t = j | Q_{t - 1} = i)</tex>. Особый случай для времени <tex>t = 1</tex> определяется начальным распределением <tex>\pi_i = P(Q_1 = i)</tex>. |
Версия 21:40, 21 декабря 2014
Алгоритм Баума-Велша — алгоритм для нахождения неизвестных параметров скрытой Марковской модели. Использует алгоритм прямого-обратного хода.
История
Скрытые_Марковские_модели(HMMs) и алгоритм Баума-Велша впервые были описаны в заметках Леонарда Баума и его сверстников в конце 1960х. Одно из первых основных приложений на основе HMMs было использовано в области обработки речи. В 1980х HMMs стало эффективным инструментом в анализе биологических систем и информации, особенно в генном анализе.
Описание алгоритма
Пусть
- это дискретная случайная переменная, принимающая одно из значений . Будем полагать, что данная модель Маркова, определенная как однородна по времени, то есть независима от . Тогда можно задать как независящую от времени стохастическую матрицу перемещений . Особый случай для времени определяется начальным распределением .Будем считать, что мы в состоянии
в момент времени , если . Последовательность заданных состояний определяется как , где является состоянием в момент времени .Наблюдение может иметь одно из
возможных значений, . Вероятность заданного вектора наблюдений в момент времени для состояния определяется как - это матрица на . Заданная последовательность наблюдений выражается как .Следовательно, мы можем описать скрытую модель Маркова с помощью
. При заданном векторе наблюдений алгоритм Баума-Велша находит . максимизирует вероятность наблюдений .
Исходные данные:
со случайными начальными условиями. Алгоритм итеративно обновляет параметр до схождения в одной точке.
Прямая процедура
, что является вероятностью получения заданной последовательности для состояния в момент времени .
можно вычислить рекурсивно:
1.
;2.
.Обратная процедура
Данная процедура позволяет вычислить вероятность конечной заданной последовательности
при условии, что мы начали из исходного состояния , в момент времени .можно вычислить рекурсивно:
1.
;2.
.Обновление
Определим временные переменные:
.
Имея
и , можно определить:,
,
.
Используя новые переменные
итерации продолжаются до схождения.Пример
Псевдокод
Применение
Источники
1. https://ru.wikipedia.org/wiki/Алгоритм_Баума_-_Велша
2. http://logic.pdmi.ras.ru/~sergey/teaching/asr/notes-09-hmm.pdf
3. http://en.wikipedia.org/wiki/Baum%E2%80%93Welch_algorithm