Обучение алгоритму EM (дополнительно): оценка параметров HMM

искусственный интеллект алгоритм

Я оставил хвост в предыдущей статье о применении алгоритма EM к расширению оценки параметров скрытой марковской модели HMM.После изучения алгоритма EM мы изучим алгоритм Баума-Вейха HMM.Очень просто, Баум- Вейх - это всего лишь частный случай алгоритма EM. Этот алгоритм был предложен в 1972 году. Баум-Вейх появился даже раньше, чем алгоритм EM. Студенты, интересующиеся взаимосвязью между ними, могут увидеть. Satistical Methods for Speech Recognition, вот полный описание отношений между Баумом-Уэлчем и ЭМ.

1: Определение НММ

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

1; S — множество состояний, S={1,2,.....N}, а состояние случайной последовательности X в момент времени t равно q(t), а q(t) принадлежит S.

2: V — набор выходных символов, V={v1,v2,........,v(m)}, а последовательность наблюдений o(t) принадлежит {v1,v2,... .....,v(m)}, а t находится между [1,T].

3: B=bj(k) — распределение вероятностей выходных символов.

bj(k) представляет вероятность вывода символа v(k) в состоянии j, то есть bj(k)=P(vk | j), k принадлежит [1, M], а j принадлежит [1, Н]

4: π=π(i) — начальное распределение вероятностей, где π=P(q1=i) представляет вероятность выбора состояния i в момент времени 1.

Два: три вопроса для исследования HMM

1: Проблема оценки:

Учитывая параметры HMM (SVAB π) и последовательность наблюдений O = (o1, o2, ...... oT), как эффективно вычислить вероятность последовательности наблюдений, то есть P(O | In) ?

2: Проблема декодирования

Учитывая параметры HMM (SVAB π) и последовательность наблюдений O = (o1,o2,…..oT), как найти последовательность перехода состояний q = (q1,q2,…..qT), такую, что последовательность переходов состояний, скорее всего, приведет к описанной выше последовательности наблюдений?

3: Проблемы с обучением

Когда параметры модели неизвестны или неточны, как получить параметры модели или настроить параметры модели в соответствии с последовательностью наблюдений O = (o1, o2, ....oT), то есть как определить набор параметров модели 'in*' такой, чтобы P( O | Enter *) было максимальным?

Решения:

Первую задачу можно решить с помощью прямого или обратного алгоритма.

Вторую задачу можно решить с помощью алгоритма Витерби.

Вышеуказанные два вопроса не будут повторяться

Третья проблема: используйте Баума-Уэлча (алгоритм EM) для решения третьей проблемы HMM

Третий: принцип и этапы алгоритма Баума-Уэлча

Согласно основной идее алгоритма EM: случайным образом инициализировать набор параметров 0(o), затем обновить математическое ожидание E(Y) неявной переменной Y в соответствии с апостериорной вероятностной моделью P(Y|X,0( 0)), а затем используйте E (Y) вместо Y, чтобы найти новый параметр модели 0 (1), и так повторяется до тех пор, пока 0 не станет стабильным.

Для третьей задачи HMM (задача обучения) неявная переменная, естественно, является переменной состояния, а ожидаемое значение переменной состояния фактически состоит в том, чтобы найти вероятность того, что случайная величина X находится в состоянии qt = i в момент времени т. Чтобы найти эту вероятность, мы ввели прямые и обратные переменные.

1: переменная вперед:

αt(i) = P(01, 02, 03, ... 0t, qt = i | in), т. е. при заданном параметре модели «in» при условии заданного времени t она находится в состоянии i и последовательность наблюдений o1, o2,... ot вероятность, то, очевидно, есть:

2: обратный вектор

βt(i) = P(o(t+1),o(t+2),…….o(T) | qt = i, in). То есть при заданных параметрах модели in в момент времени t находится в состоянии i и последовательность наблюдений представляет собой вероятность o(t+1), o(t+2), ...... o(T), то, очевидно, существуют:

3: Е шаг

Сначала определите переменную:

То есть, учитывая модель параметра «в» и последовательность наблюдений O, вероятность находиться в состоянии i в момент времени t и в состоянии j в момент времени t + 1. Далее это можно записать как:

Во-вторых, определите переменную:

Он представляет собой вероятность находиться в состоянии i в момент времени t при заданных параметрах модели и последовательности наблюдений.

Затем введите t в приведенную выше формулу, ожидаемое значение выражается как количество переходов из состояния i, а последняя часть выражается как ожидаемое значение количества переходов из состояния i в состояние j.

4: шаг М

π(i) — ожидаемое значение, представляющее частоту появления состояния i в начальный момент, то есть:

Так же можно получить:

a(i,j) представляет собой ожидаемое значение количества переходов из состояния i в состояние j, деленное на ожидаемое значение количества переходов из состояния i, оба:

bj(k) — это ожидаемое значение количества раз, когда выходное значение k наблюдается в состоянии j, деленное на ожидаемое значение количества раз, когда все остальные состояния переходят в состояние j, то есть:

и имеет:

Таким образом, вводится новый параметр λ = (A, B, π) для вычисления прямой переменной at(i), обратной переменной Bt(i), ξ(i, j), а затем цикл повторяется следующим образом: до двух передних и задних Вариация вторичного параметра меньше определенного значения.

5: Реализация алгоритма:

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

Теперь предположим, что структура параметров модели HMM (SVAB π), где S={1,2,3}, V={1,2}, π = (0,1,0), A, B, как показано на рисунке:

Сначала мы генерируем 20 наблюдений из этой модели HMM как O:

O = (1,2,1,2,1,2,1,2,1,1,1,1,12,1,2,1,2,1,2)

Затем в соответствии с приведенной выше формулой ее можно обновить, а затем использовать наблюдения 20 для обучения модели, а затем оценить параметры, Оценочные результаты следующие:

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

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

Хорошо, после завершения этой серии алгоритмов EM полностью закончен, и я надеюсь, что мои друзья могут дать мне больше советов, я очень благодарен.

Использованная литература:

Литтл Р. Дж. А., Рубин Д. Б. Статистический анализ с отсутствующими данными [М], Нью-Йорк: Wiley and Sons, Inc., 1987.

Чжао З., Хуан Б., Лю Ф. Оценка параметров в периодическом процессе с использованием ЭМ

алгоритм с фильтром частиц[J].Computers & Chemical Engineering, 2013, 57:159-172.bibitembibl4 Delyon B, Lavielle M, Moulines E. Сходимость версии стохастического приближения алгоритма EM [J]. Анналы статистики, 1999: 94-128.

Юэ Цзя, Ван Шитонг.Исследование алгоритма ЭМ и инициализации в модели кластеризации гауссовой смеси [J].Информация о микрокомпьютерах, 2006(1lX):244-246.

Чен Тинг. Оценка параметров с отсутствующими данными на основе алгоритма EM [D], Даляньский технологический университет, 2008.

Сунь Дафэй, Лю Вэньцзюй, Оценка параметра максимального правдоподобия на основе алгоритма ЭМ iJ-!shiff[J], Журнал Хэнаньского университета: Издание естественных наук, 2002, 32(4):35-41.

Мэн Лисинь, Лю Хун Оценка параметров на основе ограничений алгоритма ЭМ [J] Журнал Северо-восточного педагогического университета: выпуск естественных наук, 2009 г., 40(4): 28-32.

Луо Цзи Алгоритм ускорения Монте-Карло EM [J], Прикладная вероятность и статистика, 2008, 24(3): 311-318.

Алгоритм Zhang Hongdong EM и его применение[J].Journal of Shandong University