2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Дискретная оптимизация на цепи Маркова
Сообщение13.03.2018, 00:43 


12/03/18
1
Здравствуйте. Мой вопрос возник в связи с применением цепей Маркова в компьютерной лингвистике.

Пусть дана однородная цепь Маркова
$$ X_{0}, X_{1}, X_{2}, \ldots $$
c $ N $ состояниями $ S_{1}, \ldots, S_{N}, $ вектором начальных вероятностей $ \pi=(\pi_{1}, \ldots, \pi_{N}), $ где $ \pi_{i}=\mathbb{P}(X_{0}=S_{i}), $ и матрицей вероятностей перехода $ A=(a_{ij}), $ где $ a_{ij}=\mathbb{P}(X_{n}=S_{j} | X_{n-1}=S_{i}), $ $ a_{ij} $ не зависит от $ n. $

Требуется найти несколько (например, $ r=10 $ штук) наиболее вероятных конечных последовательностей событий-состояний цепи (пусть для начала, для простоты, событий-состояний цепи данной фиксированной длины $ m $ и стартующих из начального состояния, пусть даже они будут различными; дальше уже можно обобщать на случай конечных последовательностей переменной длины, начинающихся с некоторого $ k $-го состояния и т.п.). Опишу подробнее, что имеется в виду. Вероятность цепочки событий
$$ \mathbb{P}(X_{0}=S_{i_{0}}, X_{1}=S_{i_{1}}, \ldots, X_{m-1}=S_{i_{m-1}})=\pi_{i_{0}}a_{i_{0}i_{1}}a_{i_{1}i_{2}}\ldots a_{i_{m-2}i_{m-1}}. $$
Пусть состояния в вышеприведённой цепочке $ S_{i_{0}}, S_{i_{1}}, \ldots, S_{i_{m-1}} $ попарно различны (для простоты).
В принципе, можно тупо сосчитать все такие вероятности, отсортировать их по убыванию и выдать в качестве ответа несколько первых таких (скажем, $ r=10 $ штук) конечных последовательностей длины $ m. $ Но это очень "расточительное" решение, это тупой полный перебор. Нельзя ли его оптимизировать?

Мои соображения таковы. Прологарифмируем (по любому основанию большему единицы), тогда произведение превратится в сумму:
$$ \log\mathbb{P}(X_{0}=S_{i_{0}}, X_{1}=S_{i_{1}}, \ldots, X_{m-1}=S_{i_{m-1}})=\log\pi_{i_{0}}+\log a_{i_{0}i_{1}}+\log a_{i_{1}i_{2}}+\ldots+\log a_{i_{m-2}i_{m-1}}. $$
Тогда считая, что в ориентированном графе с петлями рассматриваемой однородной цепи Маркова дуги нагружены этими логарифмами вероятностей, получаем задачу о нахождении "длиннейшего" пути данной длины $ m-1 $ в таком графе, точнее, нескольких "наиболее длинных" путей данной длины $ m-1 $ (в том самом количестве $ r=10 $ штук). Умножая все эти логарифмы на минус единицу, получаем задачу уже о кратчайшем пути данной длины в графе, ну или нескольких кратчайших путей. Выходит, нужно решать задачу о кратчайшем пути заданной длины в ориентированном графе с петлями? Как можно эффективно решать такие задачи?

 Профиль  
                  
 
 Re: Дискретная оптимизация на цепи Маркова
Сообщение18.03.2018, 20:10 
Заслуженный участник
Аватара пользователя


03/06/08
2189
МО
Брать, например, самый вероятный (-ые) переход на каждом шаге.
Или что Вы имеете в виду?

 Профиль  
                  
 
 Re: Дискретная оптимизация на цепи Маркова
Сообщение18.03.2018, 21:43 
Заслуженный участник


27/04/09
28128
Видимо, проблема тут будет в том, насколько много самых вероятных переходов брать каждый раз, чтобы и гарантированно получить весь какой-то наиболее вероятный кусок распределения, и не держать много лишнего.

А вот если можно, чтобы в этом куске были дырки (не получены какие-нибудь строки, более вероятные, чем другая полученная) — например, просто чтобы составить впечатление — то подход прекрасно подойдёт без изменений.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group