Я оставил хвост в предыдущей статье о применении алгоритма 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