Вперед – обратный алгоритм - Forward–backward algorithm
Эта статья включает Список ссылок, связанное чтение или внешняя ссылка, но его источники остаются неясными, потому что в нем отсутствует встроенные цитаты.Апрель 2018 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В вперед-назад алгоритм является вывод алгоритм за скрытые марковские модели который вычисляет задний маргиналы всех скрытых переменных состояния с учетом последовательности наблюдений / выбросов , т.е. вычисляет для всех скрытых переменных состояния , распространение . Эта задача вывода обычно называется сглаживание. В алгоритме используется принцип динамическое программирование для эффективного вычисления значений, необходимых для получения апостериорных маргинальных распределений за два прохода. Первый проход идет вперед во времени, а второй - назад; отсюда и название вперед-назад алгоритм.
Период, термин вперед-назад алгоритм также используется для обозначения любого алгоритма, принадлежащего к общему классу алгоритмов, которые работают с моделями последовательностей в прямом-обратном порядке. В этом смысле описания в оставшейся части этой статьи относятся только к одному конкретному экземпляру этого класса.
Обзор
На первом проходе алгоритм прямого-обратного вычисляет набор прямых вероятностей, которые обеспечивают для всех , вероятность оказаться в каком-либо конкретном состоянии с учетом первого наблюдения в последовательности, т.е. . Во втором проходе алгоритм вычисляет набор обратных вероятностей, которые обеспечивают вероятность наблюдения оставшихся наблюдений при любой начальной точке. , т.е. . Затем эти два набора распределений вероятностей можно объединить, чтобы получить распределение по состояниям в любой конкретный момент времени с учетом всей последовательности наблюдений:
Последний шаг следует из применения Правило Байеса и условная независимость из и данный .
Как указано выше, алгоритм состоит из трех шагов:
- вычисление прямых вероятностей
- вычисление обратных вероятностей
- вычисление сглаженных значений.
Шаги вперед и назад могут также называться «прямой проход сообщения» и «обратный проход сообщения» - эти термины обусловлены передача сообщений используется в целом распространение веры подходы. Для каждого отдельного наблюдения в последовательности вычисляются вероятности, которые будут использоваться для вычислений при следующем наблюдении. Шаг сглаживания можно рассчитать одновременно во время обратного прохода. Этот шаг позволяет алгоритму учитывать любые прошлые наблюдения за выходными данными для вычисления более точных результатов.
Алгоритм прямого-обратного можно использовать для поиска наиболее вероятного состояния в любой момент времени. Однако его нельзя использовать для поиска наиболее вероятной последовательности состояний (см. Алгоритм Витерби ).
Прямые вероятности
В нижеследующем описании будут использоваться матрицы значений вероятности, а не распределения вероятностей, хотя в целом алгоритм прямого-обратного может применяться как к непрерывным, так и к дискретным моделям вероятностей.
Преобразуем распределения вероятностей, относящиеся к заданному скрытая марковская модель в матричные обозначения следующим образом. данной случайной величины представляющие все возможные состояния в скрытой марковской модели, будут представлены матрицей где индекс столбца будет представлять целевое состояние и индекс строки представляет начальное состояние. Переход из состояния вектор-строка в инкрементное состояние вектора-строки записывается как . В приведенном ниже примере представлена система, в которой вероятность остаться в том же состоянии после каждого шага составляет 70%, а вероятность перехода в другое состояние составляет 30%. Тогда матрица перехода будет следующей: