Алгоритм обучения точной скрытой марковской модели

В большинстве случаев для обучения скрытой марковской модели используется алгоритм Баума-Уэлча.

Однако во многих работах утверждается, что алгоритм BW будет оптимизироваться до тех пор, пока не застрянет в локальном оптимуме.

Существует ли точный алгоритм, который действительно успешно находит глобальный оптимум (за исключением перечисления почти всех возможных моделей и их оценки)?

Конечно, для большинства приложений BW будет работать нормально. Однако нас интересует нахождение нижних границ количества потерь информации при уменьшении числа состояний. Поэтому нам всегда нужно генерировать наилучшую возможную модель.

Таким образом, мы ищем эффективный NP-жесткий алгоритм (который перебирает только (потенциально) экспоненциальное число крайних точек), а не дискретное число плавающих точек для каждой вероятности в модели.


person Willem Van Onsem    schedule 19.05.2014    source источник
comment
попробуй Viterbi algorithm   -  person Khaled.K    schedule 19.05.2014
comment
Возможно, вы найдете ответы на этот вопрос интересными.   -  person ziggystar    schedule 19.05.2014
comment
@KhaledAKhunaifer: Насколько мне известно, алгоритм Витерби точно определяет наиболее вероятную последовательность скрытых состояний с учетом последовательности наблюдений и обученной скрытой марковской модели?   -  person Willem Van Onsem    schedule 19.05.2014
comment
@CommuSoft Это оптимальный алгоритм динамического программирования, он использует n-грамму для аппроксимации следующего состояния на основе n-предыдущих состояний в последовательности в виде шаблона.   -  person Khaled.K    schedule 19.05.2014
comment
Но поскольку состояния скрыты, никто никогда не знает, в каком состоянии он уже был. Я ищу алгоритм, который с учетом (или более) последовательностей наблюдений (не состояний) может обучить скрытую марковскую модель таким образом, что ошибка на заданном < i>наблюдения глобально минимизированы.   -  person Willem Van Onsem    schedule 19.05.2014


Ответы (2)


Быстрый поиск находит в http://www.cs.tau.ac.il/~rshamir/algmb/98/scribe/html/lec06/node6.html "В этом случае задача нахождения оптимального набора параметров $\Theta^{ \ast}$, как известно, NP-полный. Алгоритм Баума-Уэлча [2], который является частным случаем метода EM (ожидание и максимизация), может быть использован для эвристического нахождения решения задачи". Поэтому Я предполагаю, что вариант EM, который гарантированно найдет глобальный оптимум за полиномиальное время, докажет, что P = NP, и он неизвестен и на самом деле, вероятно, не существует.

Эта проблема почти наверняка не выпуклая, потому что на самом деле будет несколько глобально оптимальных решений с одинаковыми оценками — учитывая любое предложенное решение, которое обычно дает распределение вероятностей для наблюдений с учетом базового состояния, вы можете , например, переименовать скрытое состояние 0 в скрытое состояние 1 и наоборот, настроив распределения вероятностей так, чтобы наблюдаемое поведение, генерируемое двумя разными решениями, было идентичным. Таким образом, если есть N скрытых состояний, то их как минимум N! локальные оптимумы, полученные путем перестановки скрытых состояний между собой.

В другом приложении ЭМ, https://www.math.ias.edu/csdm/files/11-12/amoitra_disentangling_gaussians.pdf содержит алгоритм поиска глобально оптимальной гауссовой смешанной модели. Он отмечает, что алгоритм EM часто используется для этой задачи, но указывает, что он не гарантирует нахождение глобального оптимума, и не ссылается как связанная работа на любую версию EM, которая могла бы (это также говорит, что алгоритм EM медленный) .

Если вы пытаетесь провести какой-то тест отношения правдоподобия между, например. модель с 4 состояниями и модель с 5 состояниями, было бы явно неловко, если бы из-за локальных оптимумов подобранная модель с 5 состояниями имела более низкую вероятность, чем модель с 4 состояниями. Одним из способов избежать этого или оправиться от него было бы запустить EM с 5 состояниями с начальной точки, очень близкой к начальной точке лучших найденных моделей с 4 состояниями. Например, вы можете создать 5-е состояние с вероятностью эпсилон и с выходным распределением, отражающим среднее выходных распределений с 4 состояниями, сохраняя распределения с 4 состояниями как другие 4 распределения в новой модели с 5 состояниями, умножая в множитель (1-эпсилон) где-то так, чтобы все еще складывалось в единицу.

person mcdowella    schedule 19.05.2014
comment
Правда, мы этого и ожидали. Однако мы ищем эффективный NP-жесткий алгоритм (который пересчитывает только (потенциально) экспоненциальное число крайних точек), а не дискретизированное число плавающих точек для каждой вероятности в модели. - person Willem Van Onsem; 19.05.2014
comment
@CommuSoft Проблема в том, что нет никаких оснований полагать, что проблема, решенная B-W, выпукла. Если вы в отчаянии, есть решатели для невыпуклых задач, но я был бы очень удивлен, если бы они могли обрабатывать нетривиальные случаи. - person David Eisenstat; 19.05.2014
comment
Я был бы очень удивлен, если бы задача была выпуклой. Я добавил комментарии по этому поводу и дополнительную информацию в качестве редактирования в конце моего ответа. - person mcdowella; 19.05.2014

Я думаю, что если вы действительно этого хотите, вы можете, учитывая локальный оптимум, определить область сходимости. Если у вас могут быть достаточно слабые условия, то вы можете быстро показать, что либо все поле находится в области сходимости, либо что существует второй локальный мининиум.

Например, предположим, что в примере у меня есть две независимые переменные (x, y) и одна зависимая переменная (z), и предположим, что задан локальный минимум z_1 и пара начальных точек, которые сходятся к z_1 = (x_1, y_1) , P_1 = (x_2, y_1) и p_2 = (x_1, y_3), то я мог бы доказать, что тогда весь треугольник z_1, p_1, p_2 находится в области сходимости.

Конечно, это не тот подход, который работает в целом, но вы можете эффективно решить подкласс задач. Например, некоторые проблемы не имеют области сходимости в некотором смысле, например Возможна задача, в которой точка сходится к решению, отличному от всех точек в ее окрестности, но многие проблемы имеют достаточную плавность сходимости к решению, так что тогда все в порядке.

person phil_20686    schedule 19.05.2014