Объяснение концепции цепей Маркова [с примером]
Опубликовано: 2020-12-18Оглавление
Введение
Цепи Маркова довольно распространены, интуитивно понятны и используются во многих областях, таких как автоматизация создания контента, генерация текста, финансовое моделирование, системы круиз-контроля и т. д. Известный бренд Google использует цепь Маркова в своем алгоритме ранжирования страниц для определения порядка поиска. .
Цепи Маркова относительно просты и не требуют для реализации каких-либо математических понятий или передовых статистических знаний. Если вы хорошо разбираетесь в цепях Маркова, вам будет легче освоить методы вероятностного моделирования и науки о данных.
Эта статья даст вам глубокое понимание того, что такое цепи Маркова и как они работают, с помощью примеров.
Что такое Цепь Маркова?
Цепь Маркова — это математическая модель, которая предоставляет вероятности или прогнозы для следующего состояния, основанные исключительно на предыдущем состоянии события. Прогнозы, генерируемые цепью Маркова, настолько же хороши, насколько они были бы сделаны при наблюдении за всей историей этого сценария.
Это модель, в которой происходит переход из одного состояния в другое на основе некоторых вероятностных условий. Одна характеристика, которая определяет цепь Маркова, заключается в том, что независимо от того, как достигается текущее состояние, будущие состояния фиксированы. Возможный результат следующего состояния зависит исключительно от текущего состояния и времени между состояниями.
Читайте: Цепь Маркова в Python Tutorial
Концепция цепи Маркова с примерами
Предположим, вы хотите предсказать погодные условия на завтра. Но вы уже знаете, что может быть только два возможных состояния погоды: облачно и солнечно. Как можно предсказать погоду на следующий день, используя цепи Маркова?
Что ж, вы начнете наблюдать за текущим состоянием погоды, и оно может быть как солнечным, так и облачным. Допустим, сегодня солнечно. Состояние климата всегда проходит через несколько переходов. Вы соберете данные о погоде за последние годы и подсчитаете, что шансы получить пасмурный день после солнечного дня равны 0,35.
Вы также заметили, что шансы получить солнечный день после солнечного дня равны 0,65. Это распределение поможет вам предсказать, что следующий день также будет солнечным. Вот как текущее состояние погоды помогает вам предсказать состояние в будущем, и вы можете применить ту же логику для прогнозирования погодных условий на ближайшие дни.
Приведенный выше пример иллюстрирует свойство Маркова, заключающееся в том, что цепь Маркова не имеет памяти. Погодные условия следующего дня не зависят от шагов, которые привели к погодным условиям текущего дня. Распределение вероятностей получается только при переходе от текущего дня к следующему.
Еще одним примером цепи Маркова являются пищевые привычки человека, который ест только фрукты, овощи или мясо. Привычки в еде регулируются следующими правилами:
- Человек ест только один раз в день.
- Если человек сегодня ел фрукты, то завтра он с равной вероятностью будет есть овощи или мясо.
- Если он сегодня ел овощи, то завтра он будет есть овощи с вероятностью 1/10, фрукты с вероятностью 1/40 и мясо с вероятностью 1/50.
- Если он сегодня ел мясо, то завтра будет есть овощи с вероятностью 4/10, фрукты с вероятностью 6/10. Завтра он больше не будет есть мяса.
Вы можете легко смоделировать его пищевые привычки с помощью цепей Маркова, поскольку его выбор на следующий день зависит исключительно от того, что он ел сегодня, независимо от того, что он ел вчера или позавчера.
Читайте также: Введение в цепи Маркова.
Матрица перехода цепи Маркова
До сих пор мы видели, как можно предсказать вероятность перехода из одного состояния в другое. Но как насчет того, чтобы найти распределение вероятностей переходов, происходящих за несколько шагов. Вы можете узнать распределение вероятностей переходов по нескольким шагам, используя матрицу переходов цепи Маркова.

Матрица перехода цепи Маркова есть не что иное, как распределение вероятностей переходов из одного состояния в другое. Она называется матрицей переходов, потому что отображает переходы между различными возможными состояниями.
Вероятность, связанная с каждым состоянием, называется распределением вероятностей этого состояния. Это самый важный инструмент, который используется при анализе цепи Маркова. Например, если имеется N возможных состояний, то матрица перехода (P) будет следующей:
P = N x N матрица
Где запись в строке (I, J) представляет вероятность перехода из состояния I в состояние J. Сумма каждой строки матрицы перехода P должна равняться 1.
Для представления цепи Маркова вам также понадобится вектор начального состояния, описывающий запуск в каждом из N возможных состояний. Вы можете представить вектор начального состояния (X) как
X = N x 1 матрица
Предположим, вы хотите узнать вероятность перехода из состояния I в состояние J за M нескольких шагов. Вы указали три возможных состояния, то есть бычий рынок, медвежий рынок и застойный рынок.
В приведенном выше примере первый столбец матрицы перехода указывает на состояние бычьего рынка, второй — на медвежий рынок, а третий — на застойный рынок. Ряды также соответствуют аналогичным образом.
В матрице перехода вероятность перехода вычисляется путем возведения P в степень количества шагов (M). Для 3-шагового перехода вы можете определить вероятность, увеличив P до 3.
Умножая приведенную выше матрицу P3, можно рассчитать распределение вероятности перехода из одного состояния в другое.
Заключение
Поскольку вы поняли, как работает цепь Маркова, вы можете легко реализовать их в любой постановке задачи либо для достижения решения, либо для автоматизации. Цепи Маркова очень эффективны и обеспечивают основу для других более продвинутых методов моделирования.
Понимание цепи Маркова может помочь вам получить более глубокие знания в нескольких методах, таких как краткое моделирование и выборка.
Если вам интересно узнать о python и науке о данных, ознакомьтесь с дипломом PG IIIT-B и upGrad по науке о данных, который создан для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические семинары, наставничество с отраслевыми экспертами, Индивидуальные встречи с отраслевыми наставниками, более 400 часов обучения и помощь в трудоустройстве в ведущих фирмах.
Есть ли интересные примеры использования цепи Маркова в реальной жизни?
Да, есть много интересных реальных вариантов использования цепей Маркова, от создания текста до финансового моделирования. Большинство текстовых генераторов используют сети Маркова. Цепная система широко используется для создания поддельных текстов, негабаритных статей и компиляции речей. Генераторы имен, которые мы обычно видим в Интернете, также используют цепь Маркова. Еще одно известное применение цепей Маркова — предсказание предстоящих слов. Они также полезны для автозаполнения и рекомендаций. Google PageRank и Subreddit Simulator являются яркими примерами, которые используют цепи Маркова для автоматизации производства материалов для всего сабреддита.
Важна ли цепь Маркова при изучении науки о данных?
Несмотря на то, что цепи Маркова не являются обязательными для изучающих науку о данных, они могут обеспечить отличный подход к изучению вероятностного моделирования и методов обработки данных. Цепи Маркова теоретически достаточно просты, и их можно реализовать без каких-либо сложных статистических или математических идей. Наиболее известным применением науки о данных является прогнозирование, и специалисты по данным используют условную вероятность цепей Маркова, чтобы делать эти прогнозы. Он назван в честь свойства без памяти стохастических процессов, которое говорит, что распределение будущих состояний любого процесса определяется только текущим состоянием этих процессов.
Как цепь Маркова помогает в алгоритме PageRank Google?
Алгоритм PageRank от Google — это хорошо известный алгоритм ранжирования на основе ссылок. Вместо того, чтобы оценивать страницы на основе их содержания, Page Rank ранжирует их на основе их взаимосвязанной структуры. Изучая просто текущее состояние, цепь Маркова может помочь в прогнозировании поведения системы при переходе из одного состояния в другое.
Когда пользователь вводит запрос в поисковую систему, алгоритм PageRank идентифицирует сайты в Интернете, которые соответствуют слову запроса, и показывает эти страницы пользователю в порядке их PageRank с помощью сети Маркова. Алгоритм PageRank определяет значимость веб-сайта исключительно на основе структуры ссылок, а не содержания страницы.
