stringtranslate.com

Прямой алгоритм

Прямой алгоритм в контексте скрытой марковской модели (HMM) используется для вычисления «состояния убеждения»: вероятности состояния в определенное время с учетом истории доказательств. Этот процесс также известен как фильтрация . Прямой алгоритм тесно связан с алгоритмом Витерби , но отличается от него .

Введение

Алгоритмы прямого и обратного хода следует поместить в контекст вероятности, поскольку они, по-видимому, являются просто названиями, данными набору стандартных математических процедур в нескольких областях. Например, ни «алгоритм прямого хода», ни «Витерби» не появляются в Кембриджской энциклопедии математики. Главное наблюдение, которое следует вынести из этих алгоритмов, заключается в том, как организовать байесовские обновления и вывод, чтобы они были вычислительно эффективными в контексте направленных графов переменных (см. сети сумм-произведений ).

Для HMM, подобного этому:

Временная эволюция скрытой марковской модели
Временная эволюция скрытой марковской модели

эта вероятность записывается как . Здесь скрытое состояние, которое сокращенно обозначается как и являются наблюдениями для .

Алгоритм «назад» дополняет алгоритм «назад», принимая во внимание будущую историю, если требуется улучшить оценку для прошлых времен. Это называется сглаживанием , и алгоритм «назад» вычисляет для . Таким образом, полный алгоритм «назад» учитывает все доказательства. Обратите внимание, что состояние убеждения может быть вычислено на каждом временном шаге, но это, строго говоря, не создает наиболее вероятную последовательность состояний , а скорее наиболее вероятное состояние на каждом временном шаге с учетом предыдущей истории. Чтобы получить наиболее вероятную последовательность, требуется алгоритм Витерби . Он вычисляет наиболее вероятную последовательность состояний с учетом истории наблюдений, то есть последовательность состояний, которая максимизирует .

Алгоритм

Целью прямого алгоритма является вычисление совместной вероятности , где для удобства записи мы сократили до и до . После вычисления совместной вероятности другие вероятности и легко получить.

Предполагается, что и состояние , и наблюдение являются дискретными, конечными случайными величинами. Скрытые вероятности перехода состояний марковской модели , вероятности наблюдения/выброса и начальная априорная вероятность считаются известными. Кроме того, предполагается, что последовательность наблюдений задана.

Наивные вычисления потребовали бы маргинализации по всем возможным последовательностям состояний , число которых растет экспоненциально с . Вместо этого прямой алгоритм использует преимущества правил условной независимости скрытой марковской модели (HMM) для выполнения вычислений рекурсивно.

Чтобы продемонстрировать рекурсию, пусть

.

Используя цепное правило для расширения , мы можем записать

.

Поскольку является условно независимым от всего, кроме , и является условно независимым от всего, кроме , это упрощается до

.

Таким образом, поскольку и задаются распределениями выбросов модели и вероятностями переходов , которые, как предполагается, известны, можно быстро выполнить расчет и избежать экспоненциального времени вычислений.

Приведенную выше рекурсивную формулу можно записать в более компактной форме. Пусть — вероятности перехода, а — вероятности испускания, тогда

где — матрица вероятностей перехода, — i-я строка матрицы вероятностей испускания , которая соответствует фактическому наблюдению в момент времени , а — альфа-вектор. — произведение Адамара между транспонированным значением и .

Начальное условие задается в соответствии с априорной вероятностью как

.

После вычисления совместной вероятности с использованием прямого алгоритма мы можем легко получить связанную совместную вероятность как

и требуемая условная вероятность как

После того, как условная вероятность рассчитана, мы также можем найти точечную оценку . Например, оценка MAP определяется как

в то время как оценка MMSE дается выражением

Прямой алгоритм легко модифицируется для учета наблюдений из вариантов скрытой марковской модели, например, линейной системы скачков Маркова .

Псевдокод

  1. Инициализировать
    ,
    вероятности перехода, ,
    вероятности выбросов, ,
    наблюдаемая последовательность,
    априорная вероятность,
  2. Для того , чтобы
    .
  3. Возвращаться

Пример

Этот пример наблюдения возможных состояний погоды из наблюдаемого состояния водорослей. У нас есть наблюдения за водорослями в течение трех последовательных дней как сухими, влажными и мокрыми в порядке. Возможные состояния погоды могут быть солнечными, облачными или дождливыми. В общей сложности могут быть такие последовательности погоды. Исследование всех таких возможных последовательностей состояний является вычислительно очень затратным. Чтобы уменьшить эту сложность, пригодится алгоритм Forward, где трюк заключается в использовании условной независимости шагов последовательности для вычисления парциальных вероятностей, как показано в приведенном выше выводе. Следовательно, мы можем вычислить вероятности как произведение соответствующей вероятности наблюдения/выброса (вероятности состояния, наблюдаемого в момент времени t из предыдущего наблюдения) на сумму вероятностей достижения этого состояния в момент времени t, вычисленных с использованием вероятностей перехода. Это снижает сложность задачи от поиска во всем пространстве поиска до простого использования ранее вычисленных и вероятностей перехода.

Сложность

Сложность прямого алгоритма равна , где — число скрытых или латентных переменных, таких как погода в примере выше, а — длина последовательности наблюдаемой переменной. Это явное сокращение от метода adhoc исследования всех возможных состояний со сложностью .

Варианты алгоритма

История

Прямой алгоритм является одним из алгоритмов, используемых для решения проблемы декодирования. С развитием распознавания речи [4] и распознавания образов, а также смежных областей, таких как вычислительная биология , которые используют HMM, прямой алгоритм приобрел популярность.

Приложения

Прямой алгоритм в основном используется в приложениях, где нам нужно определить вероятность нахождения в определенном состоянии, когда мы знаем о последовательности наблюдений. Алгоритм можно применять везде, где мы можем обучить модель по мере получения данных с помощью алгоритма Баума-Велча [5] или любого общего алгоритма EM. Затем прямой алгоритм расскажет нам о вероятности данных относительно того, что ожидается от нашей модели. Одним из приложений может быть область финансов, где он может помочь решить, когда покупать или продавать материальные активы. Он может иметь приложения во всех областях, где мы применяем скрытые марковские модели. К популярным из них относятся области обработки естественного языка, такие как разметка частей речи и распознавание речи. [4] В последнее время он также используется в области биоинформатики. Прямой алгоритм также можно применять для выполнения погодных предположений. У нас может быть HMM, описывающая погоду и ее связь с состоянием наблюдений в течение нескольких последовательных дней (некоторые примеры могут быть сухими, влажными, сырыми, солнечными, облачными, дождливыми и т. д.). Мы можем рассмотреть вычисление вероятности наблюдения любой последовательности наблюдений рекурсивно, учитывая HMM. Затем мы можем вычислить вероятность достижения промежуточного состояния как сумму всех возможных путей к этому состоянию. Таким образом, парциальные вероятности для конечного наблюдения будут содержать вероятность достижения этих состояний, пройдя все возможные пути.

Смотрите также

Ссылки

  1. ^ Пэн, Цзянь-Сюнь, Кан Ли и Дэ-Шуан Хуан. «Гибридный прямой алгоритм для построения нейронной сети RBF». Neural Networks, IEEE Transactions on 17.6 (2006): 1439-1451.
  2. ^ Чжан, Пин и Христос Г. Кассандр. «Улучшенный прямой алгоритм для оптимального управления классом гибридных систем». Автоматическое управление, IEEE Transactions 47.10 (2002): 1735-1739.
  3. ^ Пэн, Цзянь-Сюнь, Кан Ли и Джордж У. Ирвин. «Новый непрерывный прямой алгоритм для нейронного моделирования RBF». Автоматическое управление, IEEE Transactions on 52.1 (2007): 117-122.
  4. ^ ab Лоуренс Р. Рабинер , "Учебник по скрытым марковским моделям и избранным приложениям в распознавании речи". Труды IEEE , 77 (2), стр. 257–286, февраль 1989 г. 10.1109/5.18626
  5. ^ Чжан, Яньсюэ, Дунмэй Чжао и Цзиньсин Лю. «Применение алгоритма Баума-Велча в многошаговой атаке». Журнал Scientific World Journal 2014.

Дальнейшее чтение

Программное обеспечение