предисловие
Предыдущая «модель Маркова» в основном изучает вероятность последовательностей, которые можно непосредственно наблюдать. Цепи Маркова могут быть установлены с помощью гипотезы Маркова для решения некоторых проблем с последовательностями. Но иногда наблюдаемый объект не является целевым объектом, с которым мы имеем дело, его законы скрыты в наблюдаемом объекте, и существует определенная корреляция между наблюдаемым событием и скрытым событием, в этом случае используется скрытая марковская модель ( ХМ).
Например, общая задача маркировки частей речи в nlp часто использует HMM, где явное состояние — это слово, а скрытое состояние — это часть речи, а неявная часть речи помечается последовательностью слов, которую мы наблюдать.
Скрытая марковская модель
Скрытая марковская модель представляет собой модель ориентированного графа.Модель графа может явно выражать вероятность корреляции между переменными.Модель общего графа также имеет условное случайное поле.Узлы представляют переменные, а связь между узлами представляет вероятность корреляции между два. Модель HMM описывается следующими определениями:
Пусть множество всех возможных состояний системы есть, множество всех наблюдаемых объектов, то всего имеется n скрытых состояний и m явных состояний.
Затем установите последовательность состояний в общей сложности T раз, соответствующий последовательности наблюдений с T моментами, эти два слова легко понять. Тег части речи, соответствующий nlp, представляет собой предложение, а тег части речи этого предложения, например, «я/есть/китаец/человек» и «местоимение/глагол/ существительное/существительное».
Модель вероятности Hidden Markov Существует три основных группы: вероятность перехода и вероятность наблюдения начальной вероятности состояния.
Существует вероятность перехода между состояниями системы, и задана матрица перехода, потому что есть n скрытых состояний, поэтому это n строк и n столбцов. Формула для расчета вероятности:
Это означает, что состояние в любой момент времени t, то состояние в следующий момент будетВероятность , то есть вероятность перехода двух состояний в любой момент времени.
Матрица вероятности наблюдения,в, который используется для представления того, что в любой момент времени t, если состояние, то генерируется наблюдаемое состояниеВероятность.
Кроме того, существует вероятность начального состояния, который используется для представления вероятности появления каждого состояния в начальный момент, где, то есть состояние в момент времени t=1 равноВероятность.
Подводя итог, можно использовать скрытую марковскую модель сописывать.
Важные предположения
- Однородная гипотеза Маркова, то есть состояние в любой момент времени t зависит только от состояния в предыдущий момент времени и не имеет ничего общего с состоянием и последовательностью наблюдений в другие моменты времени, напримертолько сАктуальны и другие моменты.
- Предположение о независимости наблюдения, то есть наблюдение в любой момент времени t зависит только от состояния в этот момент времени и не имеет ничего общего с наблюдениями и состояниями в другие моменты времени, напримертолько сАктуальны и другие моменты.
- Предположение о неподвижности, то есть состояние не зависит от конкретного времени, например, состояние отприбытьВероятность одинакова в любое время.
три вопроса
Есть три вопроса, на которые необходимо обратить внимание при практическом применении идеи марковской модели:
- Проблема правдоподобия, то есть, учитывая скрытую марковскую модель, вычислить вероятность последовательности наблюдений., например для HMM, какова вероятность вычисления последовательности «Я китаец».
- Задача прогнозирования, также известная как проблема декодирования, задается последовательностью наблюдений O и скрытой марковской моделью для поиска наиболее соответствующей ей последовательности скрытых состояний E. Можно также сказать, что последовательность скрытых состояний выводится из последовательности наблюдений . Например, для HMM известна последовательность «Я китаец», и вычисляется ее последовательность частей речи.
- Задача обучения, то есть при заданной последовательности наблюдений O и соответствующей ей последовательности состояний E, обучает лучшие параметры модели, чтобы она могла наилучшим образом описать последовательность наблюдений. Например, Скрытая Марковская Модель обучается с помощью известной последовательности «Я/Да/Китай/Люди» и последовательности состояний «Местоимение/Глагол/Существительное/Существительное».
Расчет задач правдоподобия
Первая проблема связана с вычислением вероятности последовательности.Если вероятности всех возможных последовательностей перечислить и просуммировать, объем вычислений будет довольно большим, поэтому необходим более эффективный метод, то есть прямой алгоритм.
Сначала определитепрямая вероятность.Для указанного HMM последовательность наблюдения части последовательности наблюдения в определенное время t равнаи статусВероятность - это прямая вероятность, обозначаемая как.
Последовательность наблюдений может быть получена рекурсией следующим образом.
- начальное значение n состояний,
- Время t рекурсивно увеличивает вероятность от 1 до T-1,
- Накопить сумму в момент времени T,
Видно, что разные состояния имеют разные начальные значения, и значением является состояниеи наблюдаемое значение равноСовместная вероятностьВероятность наблюдения ; суммирует форвардную вероятность в момент времени T, чтобы получить окончательный результат, который представляет собой сумму возможностей различных состояний в последний момент времени. Весь процесс можно лучше понять с помощью следующей диаграммы, как насчет этого? Это знакомо? Как и в полносвязной нейронной сети, каждый узел связан, и каждый узел будет иметь соответствующий компонент для следующего уровня узлов.
проблема предсказания
Вторая проблема - это проблема предсказания, которая также является проблемой декодирования. Обычно используемый метод - это метод Витерби. Обратитесь к статье, написанной ранее"Алгоритм декодирования Витерби для скрытых марковских моделей".
проблемы с обучением
Третья проблема — это проблема обучения, и здесь мы рассматриваем только метод обучения с учителем. Пусть обучающая выборка будет, где k — объем выборки. Вероятность перехода, вероятность наблюдения и вероятность начального состояния могут быть рассчитаны методом оценки максимального правдоподобия.
Пусть k отсчетов разделены по состоянию во все моменты времени tА время t+1 делится на состояниеЧастота, то вероятность перехода. Затем установите состояние в образце наи наблюдаемое значение равноЧастота, то вероятность наблюдения. Начальное состояние напрямую вычисляет начальное состояние в k выборках какЧастота.
Как создать последовательность наблюдений
Во-первых, начальное состояние может быть выбрано в соответствии с вероятностью начального состояния, а затем в соответствии с этим состоянием может быть получено значение наблюдения через вероятность наблюдения, а затем это состояние может быть использовано для получения следующего состояния через вероятность перехода, и затем можно получить следующее значение наблюдения, И так далее, пока не будет сгенерирована последовательность наблюдения.
demo
https://github.com/sea-boat/TextAnalyzer/tree/master/src/main/java/com/seaboat/text/analyzer/tagging
------------- Рекомендуем прочитать ------------
Резюме моей статьи за 2017 год — машинное обучение
Краткое изложение моих статей за 2017 год — Java и промежуточное ПО
Резюме моих статей 2017 года — глубокое обучение
Краткое изложение моих статей за 2017 год — исходный код JDK
Резюме моей статьи за 2017 год — обработка естественного языка
Резюме моих статей 2017 года — Java Concurrency
------------------рекламное время----------------
Меню официальной учетной записи было разделено на «распределенное», «машинное обучение», «глубокое обучение», «НЛП», «глубина Java», «ядро параллелизма Java», «исходный код JDK», «ядро Tomcat», и т.д. Там может быть один стиль, чтобы удовлетворить ваш аппетит.
Моя новая книга «Анализ проектирования ядра Tomcat» продана на Jingdong, и нуждающиеся друзья могут ее купить. Спасибо друзья.
Зачем писать «Анализ проектирования ядра Tomcat»
Добро пожаловать, чтобы следовать: