Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Скрытые Марковские модели

.pdf
Скачиваний:
28
Добавлен:
12.05.2015
Размер:
1.76 Mб
Скачать

Случай 1: путь известен

Известны:

1

последовательность

2

 

наблюдений x = x1...xN

 

последовательность

K

 

состояний (путь) π=π1...πN

 

Определим:

Akl - количество переходов из состояния k в состояние l вдоль пути π

Ek(b) - количество наблюдаемых символов b, сгенерированных в состоянии k

Оценки параметров модели:

Оценки параметров модели θ, вычисленные методом максимального правдаподобия

Псевдокаунты

При малом объеме обучающей выборке возникает проблема переобучения - оценки akl и ek(b) в некоторых случаях могут быть равны нулю

Определим:

Akl - количество переходов из k в l + rkl

Ek(b) - количество генераций b в состоянии k + rk(b)

Случай 2: путь неизвестен

2

K K

x1

x2

Text

xK

x3

Два метода:

экономный - обучение Витерби (используется оптимальный путь)

правильный - метод Баума-Уэлча, максимизация ожидания

Обучение Витерби

Инициализация:

Выбираем параметры модели случайным образом или на основе априорных знаний

Итерации (выполняем до сходимости):

1.Находим оптимальный путь π* алгоритмом Витерби

2.Вычисляем Akl и Ek(b) вдоль пути π*, добавляем псевдоотчеты

3.Вычисляем новые параметры модели akl и ek(b)

Примечания:

процедура не максимизирует P(x1,x2,...,xN|θ), а максимизирует

P(x1,x2,...,xN|θ, π*(x1), π*(x2),..., π*(x2N))

в целом метод работает хуже, чем максимизация ожидания (метод Баума-Уэлча)

Максимизация ожидания

(Expectation Maximization)

Случайный выбор параметров модели

Применение модели для оценки отсутствующих данных (E-шаг)

Использование полученных данных для обновления параметров модели (M-шаг)

Метод Баума-Уэлча

Считая известными параметры модели (на первом шаге выбираются случайно, на последующих - оцениваются), вычислим вероятность Pkl(x|θ) перехода их k-го состояния шага i в l-е состояние шага i+1

Метод Баума-Уэлча: оценка параметров модели

Суммируем вероятности переходов из состояния k в состояние l по всем моментам времени i и по всем обучающим последовательностям x

Аналогично,

Алгоритм Баума-Уэлча

Инициализация:

Выбираем параметры модели случайным образом или на основе априорных знаний

Для каждой последовательности:

1.Вычисляем fk(i) алгоритмом просмотра вперед

2.Вычисляем bk(i) алгоритмом просмотра назад

3.Добавляем вклад последовательности в Akl и Ek(b)

Вычисляем новые параметры модели akl и ek(b) и повторяем итерации Вычислим значение правдоподобия модели

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

Благодарности

При подготовке слайдов использовались материалы лекций:

Михаила Гельфанда (ИППИ)

Андрея Миронова (МГУ)

•Serafim Batzoglou (Stanford)

•Manolis Kellis (MIT)

•Pavel Pevzner (UCSD)