Я нашел скрытую марковскую модель очень интересной и логичной. Итак, здесь я должен объяснить и дать интуицию об этой удивительной вероятностной теории, которую можно широко использовать в машинном обучении, НЛП и глубоком обучении. Этот блог не будет так сильно ориентирован на математику, поэтому я постараюсь сделать его максимально интересным.
Скрытая марковская модель (HMM): HMM – это вероятностные графические модели, предназначенные для поиска наилучшей последовательности или пути скрытых состояний с заданным набором наблюдаемых переменных. «Скрытые состояния» представляют собой основные процессы или переменные, которые нельзя наблюдать напрямую, а «лучший путь» относится к последовательности скрытых состояний, которая максимизирует общую вероятность наблюдаемых данных. Немного запутанно! позвольте мне объяснить это на примере, и мы продолжим этот пример до конца.
Предположим, есть два погодных условия (солнечное и дождливое) и исходя из этих условий Роберт может чувствовать себя счастливым или грустным, и здесь также даны вероятности
Теперь, если настроение Роберта в течение 5 дней - Счастливое, грустное, счастливое, грустное, счастливое
Означает ли это, что погода в эти дни будет солнечной, дождливой, солнечной, дождливой и солнечной соответственно?
Нет. потому что погода обычно работает не так.
Теперь давайте рассмотрим модель HMM.
Теперь позвольте мне объяснить все основные термины здесь -
· Вероятность перехода – вероятность перехода солнечного дня в дождливый. Говоря более технически, это представляет собой вероятность перехода из одного состояния в другое.
P(солнце->дождь)=0,2 и P(дождь->солнце)=0,4
P(солнце-›солнце)=0,8 и P(дождь->дождь)=0,6
·Вероятность выброса — вероятность наблюдения определенного результата из заданного скрытого состояния в модели. В основном вероятности наблюдений.
· Скрытое состояние — ненаблюдаемые переменные, которые генерируют наблюдаемые символы или результаты. Например, облака или погода — это скрытое состояние, а дождь — наблюдаемый результат.
Как теперь рассчитать вероятность перехода или вероятность эмиссии?
Ответ заключается в том, что мы рассчитываем их на основе исторических наблюдений. давайте пример-
Вероятность перехода–
- Общее количество событий(солнце->солнце или дождь ) =10
Солнце->солнце = 8 Вероятность (солнце->солнце)=0,8
солнце->дождь= 2 вероятность (солнце->дождь)=0,2
Сходным образом,
- Общее количество случаев(дождь->дождь или солнце ) =5
Дождь->дождь =3 вероятность(дождь->дождь)=0,6
Дождь->солнце= 2 вероятность (дождь->солнце)=0,4
Вероятность выброса –
- Общее количество солнечных дней со счастливым/грустным настроением = 10 (конечный узел не будет учитываться, потому что мы не знаем настроения в этот день)
Солнце и счастье = 8 Вероятность (солнце и счастье) = 0,8< br /> Солнце и грусть = 2 вероятность (солнце и грусть) = 0,2
Сходным образом,
- Общее количество событий(дождь И радость/грусть) =5
Дождь и грусть =3 вероятность(дождь и грусть)=0,6
Дождь, грусть, радость = 2 вероятность (дождь и радость)=0,4
Que- Теперь, какова вероятность того, что случайный день будет солнечным или дождливым??
Всего случаев = 15
Солнечный день = 10 , Вероятность (солнце) = 2/3
Дождливый день = 5 , Вероятность (дождливый день) = 1/3
Теперь у нас есть все вероятности, мы можем ответить на любой вопрос, используя эти вероятности.
Например, какова вероятность солнечного дня, если вчера был дождливый день?
Это переходная вероятность, поэтому ответ будет 0,4.
А теперь попробуем ответить на вопрос — если Роберт счастлив сегодня, какова вероятность того, что сегодня солнечный или дождливый день?
Для таких задач мы используем теорему Байеса
Но угадайте, что мы не будем использовать эту формулу, а пойдем более логичным путем
Итак, вот эта диаграмма, с помощью которой мы можем легко понять все эти вероятности.
На этой картинке хорошо видны вероятности
вероятность того, что день будет солнечным, учитывая, что он был грустным = P (солнечно / грустно) = 2/5
вероятность того, что день будет дождливым, учитывая, что он был грустным = P (дождливый / грустный) = 3/5
вероятность того, что день будет солнечным, при условии, что он был счастлив = P (солнечно/счастливо) = 8/10
вероятность того, что день будет дождливым, учитывая, что он был счастлив = P (дождливый/счастливый) = 2/10
На данный момент у нас есть все эти вероятности, довольно простые, верно!!
Теперь немного усложним ситуацию.
Вопрос — Если 3 дня Роберт был счастлив, грустен, счастлив, то какая была погода??
Давайте сначала сделаем это в течение двух дней. Итак, Роберт был счастлив и печален, тогда у нас есть четыре варианта погоды (солнце, солнце), (солнце, дождь), (дождь, солнце) и (дождь, дождь)
Допустим (солнце, дождь) и настроение у Роберта было радостное и грустное
Точно так же мы вычисляем вероятности всех четырех комбинаций, и комбинация с наибольшей вероятностью будет нашим окончательным ответом.
Так что с максимальной вероятностью наш окончательный ответ будет солнечным и солнечным.
За 3 дня у нас будет 8 комбинаций погоды. Итак, теперь вы можете догадаться, что, если у нас есть n дней, это будет 2 ^ n. Так что это может быть очень беспокойно, если мы будем следовать этому методу грубой силы. но валлах! у нас есть решение для этого.
Алгоритм Витерби. Алгоритм Витерби эффективно вычисляет наиболее вероятную последовательность скрытых состояний (погода) в HMM, учитывая наблюдаемую последовательность (настроение Роберта) символов. Это достигается за счет поддержки таблицы динамического программирования и рекурсивного заполнения ее слева направо. Каждая ячейка в таблице представляет вероятность наиболее вероятной последовательности состояний до этой точки и соответствующего скрытого состояния в этой точке.
Предположим, в предыдущем примере у нас есть 6 наблюдений и нам нужно предсказать погоду на 6 дней.
Что мы будем делать, так это выбирать лучший путь вплоть до последнего наблюдения.
как рассчитать вероятности всех путей
С левой стороны мы начали наши расчеты. Итак, чтобы Роберт был счастлив, рассчитаем условную вероятность погоды. Так что в данном случае мы видим, что, скорее всего, солнечно.
Теперь выберем солнечное для первого дня.
А теперь, если день солнечный, то начинаем считать на второй день.
Солнечный день -> Солнечный день
или
Солнечный день-›дождливый день
Мы снова рассчитали условные вероятности, как вы можете видеть выше, и следуем максимальной вероятности.
Мы следуем этому процессу до конца, в конце концов мы выберем лучший путь.
Итак, это наш окончательный прогноз погоды.
солнечно-›солнечно-›солнечно-›дождливо-›дождливо-›солнечно
Приложения –
- Пометка части речи: HMM обычно используются для пометки части речи, где они помогают определить соответствующую грамматическую категорию (существительное, глагол, прилагательное и т. д.) для каждого слова в предложении.
- Локализация роботов: HMM играют решающую роль в задачах локализации и навигации роботов. Используя данные датчиков и переходы состояний, HMM помогают роботам оценивать свое положение в среде и принимать обоснованные решения на основе вероятностной информации.
- Генетика: HMM находят применение при анализе генетических последовательностей. Их можно использовать для выявления паттернов, мотивов или регуляторных элементов в последовательностях ДНК, обеспечивая понимание функций генов и генетических нарушений.
- Распознавание речи: HMM широко используются в системах распознавания речи. Моделируя вероятностные отношения между звуками речи и словами, HMM обеспечивают точное распознавание и транскрипцию разговорной речи.
В заключение, скрытые марковские модели (HMM) играют решающую роль в задачах обработки естественного языка (NLP), фиксируя вероятностные отношения между наблюдаемыми символами и лежащими в их основе скрытыми состояниями. HMM широко используются в задачах маркировки последовательностей, таких как маркировка частей речи и распознавание именованных объектов. Алгоритм Витерби, алгоритм динамического программирования, эффективно вычисляет наиболее вероятную последовательность скрытых состояний в HMM с учетом наблюдаемой последовательности символов. Используя свойство Маркова и методы динамического программирования, алгоритм Витерби предоставляет мощный инструмент для декодирования и поиска оптимальной последовательности состояний. HMM и алгоритм Витерби образуют фундаментальную основу в НЛП для моделирования последовательных данных и решения различных задач извлечения и генерации информации.
Вы также можете посмотреть это потрясающее видео (кредит) — https://youtu.be/kqSzLo9fenk