Прямой алгоритм - Forward algorithm
В прямой алгоритм, в контексте скрытая марковская модель (HMM), используется для расчета «состояния убеждений»: вероятность состояния в определенный момент времени с учетом истории свидетельств. Процесс также известен как фильтрация. Прямой алгоритм тесно связан, но отличается от Алгоритм Витерби.
Прямые и обратные алгоритмы должны быть помещены в контекст вероятности, поскольку они кажутся просто именами, присвоенными набору стандартных математических процедур в нескольких полях. Например, ни «прямой алгоритм», ни «Витерби» не фигурируют в Кембриджской энциклопедии математики. Основное наблюдение, которое следует вынести из этих алгоритмов, заключается в том, как организовать байесовские обновления и логический вывод, чтобы они были эффективными в контексте ориентированных графов переменных (см. сети сумм-произведений ).
Для такого HMM, как этот:
эта вероятность записывается как . Здесь это скрытое состояние, которое сокращенно обозначается и наблюдения к . Состояние уверенности можно вычислить на каждом временном шаге, но выполнение этого, строго говоря, не приводит к наиболее вероятному состоянию. последовательность, а скорее наиболее вероятное состояние на каждом временном шаге, учитывая предыдущую историю.
История
Прямой алгоритм - один из алгоритмов, используемых для решения проблемы декодирования. С момента развития распознавания речи[1] и распознавание образов и связанные области, такие как вычислительная биология, которые используют HMM, прямой алгоритм приобрел популярность.
Алгоритм
Цель прямого алгоритма - вычислить совместная вероятность , где для удобства записи мы сокращенно так как и так как . Вычисление напрямую потребует маргинализация по всем возможным последовательностям состояний , количество которых экспоненциально растет с увеличением . Вместо этого прямой алгоритм использует преимущество условная независимость правила скрытая марковская модель (HMM) для рекурсивного выполнения вычислений.
Чтобы продемонстрировать рекурсию, пусть
- .
С использованием Правило цепи расширять , тогда мы можем написать
- .
Потому что условно не зависит от всего, кроме , и условно не зависит от всего, кроме , это упрощает
- .
Таким образом, поскольку и даны модельными распределение выбросов и вероятности перехода, можно быстро вычислить из и избежать экспоненциального времени вычислений.
Прямой алгоритм легко модифицируется для учета наблюдений из вариантов скрытой марковской модели, таких как Марковская линейная система прыжков.
Сглаживание
Чтобы учесть будущую историю (т. Е. Если кто-то хочет улучшить оценку прошлого времени), вы можете запустить обратный алгоритм, который дополняет прямой алгоритм. Это называется сглаживание.[Почему? ] В алгоритм вперед / назад вычисляет за . Таким образом, полный алгоритм прямого / обратного направления учитывает все свидетельства.
Расшифровка
Чтобы добиться наиболее вероятной последовательности, Алгоритм Витерби необходимо. Он вычисляет наиболее вероятную последовательность состояний с учетом истории наблюдений, то есть последовательность состояний, которая максимизирует .
Псевдокод
в этом , вероятности перехода , вероятности выбросов, , наблюдаемая последовательность,
за . пока t = T
возвращаться
Пример
Этот пример из Учебник Роджера Бойла по HMM о наблюдении возможных состояний погоды по наблюдаемому состоянию водорослей. У нас есть наблюдения за водорослями в течение трех дней подряд как за сухими, влажными и мокрыми по порядку. Возможные состояния погоды могут быть солнечными, облачными или дождливыми. Всего может быть такие погодные последовательности. Изучение всех таких возможных последовательностей состояний требует больших вычислительных затрат. Чтобы уменьшить эту сложность, пригодится алгоритм Forward, где хитрость заключается в использовании условной независимости шагов последовательности для вычисления частичных вероятностей, как показано в приведенном выше выводе. Следовательно, мы можем рассчитать вероятности как произведение соответствующей вероятности наблюдения / выброса, (вероятность состояния в момент времени t из предыдущего наблюдения) с суммой вероятностей достижения этого состояния в момент времени t, рассчитанной с использованием вероятностей перехода. Это снижает сложность задачи от поиска во всем пространстве поиска до простого использования ранее вычисленных вероятности перехода.
Применение алгоритма
Алгоритм вперед в основном используется в приложениях, которым нужно, чтобы мы определяли вероятность нахождения в определенном состоянии, когда мы знаем о последовательности наблюдений. Сначала мы вычисляем вероятности состояний, вычисленных для предыдущего наблюдения, и используем их для текущих наблюдений, а затем расширяем их для следующего шага, используя таблицу вероятностей перехода. Подход в основном кэширует все вероятности промежуточных состояний, поэтому они вычисляются только один раз. Это помогает нам вычислить путь фиксированного состояния. Этот процесс также называется апостериорным декодированием. Алгоритм вычисляет вероятность намного эффективнее, чем наивный подход, который очень быстро заканчивается комбинаторным взрывом. Вместе они могут обеспечить вероятность данного излучения / наблюдения в каждой позиции в последовательности наблюдения. Именно на основе этой информации вычисляется версия наиболее вероятного пути состояния («апостериорное декодирование»). Алгоритм может применяться везде, где мы можем обучать модель, поскольку мы получаем данные с помощью Баума-Велча.[2] или любой общий алгоритм EM. Затем алгоритм Forward расскажет нам о вероятности данных относительно того, что ожидается от нашей модели. Одно из приложений может быть в области финансов, где оно может помочь решить, когда покупать или продавать материальные активы. Оно может иметь приложения во всех областях, где мы применяем скрытые марковские модели. К популярным из них относятся домены обработки естественного языка, такие как тегирование части речи и распознавание речи.[1] В последнее время он также используется в области биоинформатики. Алгоритм вперед также может быть применен для прогнозирования погоды. У нас может быть HMM, описывающий погоду и ее связь с состоянием наблюдений в течение нескольких дней подряд (некоторые примеры могут быть сухими, влажными, сырыми, солнечными, облачными, дождливыми и т. Д.). Мы можем рассмотреть возможность вычисления вероятности рекурсивного наблюдения любой последовательности наблюдений с учетом HMM. Затем мы можем вычислить вероятность достижения промежуточного состояния как сумму всех возможных путей к этому состоянию. Таким образом, частичные вероятности окончательного наблюдения будут содержать вероятность достижения этих состояний всеми возможными путями.
Варианты алгоритма
Гибридный прямой алгоритм:[3]Вариант прямого алгоритма, называемый гибридным прямым алгоритмом (HFA), может использоваться для построения нейронных сетей с радиальной базисной функцией (RBF) с настраиваемыми узлами. Нейронная сеть RBF построена с помощью обычных алгоритмов выбора подмножества. Структура сети определяется путем сочетания пошаговой прямой конфигурации сети и непрерывной оптимизации параметров RBF. Он используется для эффективного и действенного создания экономичной нейронной сети RBF, которая хорошо обобщается. Это достигается за счет одновременного определения структуры сети и оптимизации параметров в непрерывном пространстве параметров. HFA решает сложную проблему смешанных целых чисел, используя интегрированную аналитическую структуру, что приводит к повышению производительности сети и сокращению использования памяти для построения сети.
Прямой алгоритм оптимального управления в гибридных системах:[4]Этот вариант алгоритма Forward мотивирован структурой производственной среды, которая объединяет управление процессами и операциями. Мы выводим новое свойство оптимальной структуры траектории состояния, которое выполняется при модифицированном условии на функцию стоимости. Это позволяет нам разработать масштабируемый алгоритм низкой сложности для явного определения оптимальных элементов управления, который может быть более эффективным, чем алгоритм прямого действия.
Непрерывный прямой алгоритм:[5]Непрерывный прямой алгоритм (CFA) может использоваться для нелинейного моделирования и идентификации с использованием нейронных сетей с радиальной базисной функцией (RBF). Предлагаемый алгоритм выполняет две задачи построения сети и оптимизации параметров в рамках интегрированной аналитической структуры и предлагает два важных преимущества. Во-первых, производительность модели может быть значительно улучшена за счет непрерывной оптимизации параметров. Во-вторых, нейронное представление может быть построено без создания и хранения всех кандидатов-регрессоров, что приводит к значительному снижению использования памяти и сложности вычислений.
Сложность
Сложность прямого алгоритма составляет , куда - количество скрытых или скрытых переменных, таких как погода в приведенном выше примере, и - длина последовательности наблюдаемой переменной. Это явное сокращение от специального метода исследования всех возможных состояний со сложностью .
Смотрите также
дальнейшее чтение
- Рассела и Норвига Искусственный интеллект, современный подход, начиная со страницы 570 издания 2010 г., дает сжатое изложение этой и смежных тем.
- Смит, Падраик, Дэвид Хекерман и Майкл И. Джордан. «Сети вероятностной независимости для скрытых марковских вероятностных моделей». Нейронные вычисления 9.2 (1997): 227-269. [1]
- Читай, Джонатон. «Скрытые марковские модели и динамическое программирование». Университет Осло (2011). [2]
- Кольшейн, Кристиан, Введение в скрытые марковские модели [3]
- Манганьелло, Фабио, Мирко Маркетти и Микеле Коладжанни. Обнаружение многошаговых атак и корреляция предупреждений в системах обнаружения вторжений. Информационная безопасность и уверенность. Springer Berlin Heidelberg, 2011. 101–110. [4]
Рекомендации
- ^ а б Лоуренс Р. Рабинер, "Учебное пособие по скрытым марковским моделям и избранным приложениям в распознавании речи". Труды IEEE, 77 (2), с. 257–286, февраль 1989 г. 10.1109/5.18626
- ^ Чжан, Яньсюэ, Дунмэй Чжао и Цзиньсин Лю. «Применение алгоритма Баума-Велча в многоступенчатой атаке». Научный мировой журнал 2014.
- ^ Пэн, Цзянь-Сюнь, Кан Ли и Де-Шуан Хуан. «Гибридный прямой алгоритм построения нейронной сети RBF». Нейронные сети, транзакции IEEE 17.6 (2006): 1439-1451.
- ^ Чжан, Пинг и Христос Г. Кассандрас. «Улучшенный прямой алгоритм для оптимального управления классом гибридных систем». Автоматический контроль, транзакции IEEE 47.10 (2002): 1735-1739.
- ^ Пэн, Цзянь-Сюнь, Кан Ли и Джордж У. Ирвин. «Новый непрерывный прямой алгоритм для нейронного моделирования RBF». Автоматический контроль, транзакции IEEE на 52.1 (2007): 117-122.
- Стратонович Р.Л. «Условные марковские процессы». Теория вероятностей и ее приложения 5, вып. 2 (1960): 156178.
- Лоуренс Р. Рабинер, Б. Х. Хуанг (январь 1986 г.). «Введение в скрытые марковские модели». Журнал IEEE ASSP: 4–15.
- Роджер Бойл, Учебное пособие по скрытым марковским моделям. 24 апреля 2016 г. [5]
- Чжан, Пинг и Христос Г. Кассандрас. «Улучшенный прямой алгоритм для оптимального управления классом гибридных систем». Автоматическое управление, транзакции IEEE от 47.10 (2002): 1735-1739.
внешняя ссылка
Программного обеспечения
- R-пакет скрытой марковской модели содержит функциональные возможности для вычисления и получения прямой процедуры
- Библиотека GHMM для Python
- Хм-пакет Библиотека Haskell для HMMS, реализует алгоритм Forward.
- Библиотека для Java содержит реализации алгоритмов машинного обучения и искусственного интеллекта.