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