Базовая скрытая марковская модель, алгоритм Витерби

Я довольно новичок в скрытых марковских моделях, и я пытаюсь окунуться в довольно основную часть теории.

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

Как оцениваются вероятности выбросов для каждого класса? Нужен ли алгоритму Витерби шаблон фона и сигнала для оценки prob(data|state)? Или я совсем упустил суть?


person dan burke    schedule 10.11.2016    source источник
comment
Простое объяснение здесь: nrecursions.blogspot .com/2018/09/   -  person Nav    schedule 28.09.2018


Ответы (3)


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

Процитируем документацию hmmlearn:

HMM — это порождающая вероятностная модель, в которой последовательность наблюдаемых переменных X генерируется последовательностью внутренних скрытых состояний Z. Скрытые состояния не наблюдаются напрямую. Предполагается, что переходы между скрытыми состояниями имеют форму цепи Маркова (первого порядка). Они могут быть заданы начальным вектором вероятности π и матрицей вероятности перехода A. Вероятность испускания наблюдаемой может быть любым распределением с параметрами θ, обусловленными текущим скрытым состоянием. HMM полностью определяется π, A и θ

.

У HMM есть три фундаментальные проблемы:

Given the model parameters and observed data, estimate the optimal sequence of hidden states.
Given the model parameters and observed data, calculate the likelihood of the data.
Given just the observed data, estimate the model parameters.

Первую и вторую проблему можно решить с помощью алгоритмов динамического программирования, известных как алгоритм Витерби и алгоритм прямого-обратного хода соответственно. Последнее может быть решено с помощью итеративного алгоритма максимизации ожидания (EM), известного как алгоритм Баума-Уэлча.

person Ryan    schedule 22.05.2017

Итак, у нашей скрытой марковской модели есть два состояния: шум и сигнал. У нас также должно быть что-то, что мы наблюдаем, что может быть единицами и нулями. По сути, единицы — это сигнал, а нули — это шум, но вы получаете несколько нулей, смешанных с вашим сигналом, и несколько единиц с шумом. Итак, вам нужно знать

Probablity of 0,1 when in the "noise" state 
Probability of 0,1 when in the "signal" state  
Probability of transitioning to "signal" when in the "noise" state. 
Probability of transitioning to "noise" when in the "signal" state.

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

person Malcolm McLean    schedule 22.05.2017

алгоритм Витерби требует знания HMM.

HMM можно оценить с помощью оценки максимальной вероятности (MLE), которая называется < href="https://en.wikipedia.org/wiki/Baum%E2%80%93Welch_algorithm" rel="nofollow noreferrer">алгоритм Баума-Уэлча.

Если у вас проблемы с алгоритмом Витерби, есть рабочая реализация здесь

person Tommaso Fontana    schedule 10.07.2018