Графические модели (курс лекций)/2013/Задание 3
Материал из MachineLearning.
Формулировка задания находится в стадии подготовки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 18 марта 2013 г.;
Срок сдачи: 31 марта 2013 г., 23:59.
Среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Формулировка задания
Рассматривается авторегрессионная скрытая марковская модель, в которой полное правдоподобие задается как:
Пусть скрытая компонента в произвольный момент времени может принимать значения из множества . Априорное распределение на значение скрытой компоненты в первый момент времени задается вектором , причем все и . Распределение задается матрицей перехода размера , где в -ой позиции стоит вероятность перехода из состояния в состояние . Все элементы этой матрицы неотрицательны и сумма элементов по каждой строке равна единице. Модель генерации данных задается нормальными распределениями с одинаковой матрицей ковариации и своими математическими ожиданиями для каждого состояния и каждого момента времени. Математическое ожидание зависит не только от состояния СММ, но и от предыдущих значений (авторегрессионная составляющая) и задается формулой
где — коэффициенты авторегрессии, которые зависят от состояния СММ.
Таким образом, набор параметров модели определяется вектором , матрицей , матрицей ковариаций и матрицей коэффициентов авторегрессии Глубина авторегрессии задается пользователем.
Для выполнения задания необходимо реализовать:
- Алгоритм генерации выборки из вероятностной модели СММ с авторегрессией;
- EM-алгоритм обучения СММ при заданном числе состояний и глубине авторегрессии ;
- Алгоритм Витерби для сегментации сигнала при известных значениях параметров СММ, учитывающий значения наблюдаемой компоненты в предыдущие моменты времени.
Пояснения к заданию
Для подсчета авторегрессии в первые моменты времени вам понадобятся знания о значениях наблюдаемой компоненты в отрицательные моменты времени . Считайте, что в них значение равно среднему значению наблюдаемой компоненты, подсчитанному по всему сигналу. Обратите внимание на необходимость оценивания коэффициентов авторегрессии и сдвижки на М-шаге. Для получения аналитических формул вам придется выписать функцию правдоподобия, приравнять ее логарифм к нулю и выразить искомые величины.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «[ГМ13] Задание 3 <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций.
Присланный вариант задания должен содержать в себе:
- Файл отчёта в формате PDF с указанием ФИО.
- Все исходные коды с необходимыми комментариями.
Генерация выборки | ||||||
---|---|---|---|---|---|---|
[X, T] = ARHMM_GENERATE(N, w, A, Mu, Sigma, C) | ||||||
ВХОД | ||||||
| ||||||
ВЫХОД | ||||||
|
Обратите внимание: в процедуре ARHMM_GENERATE количество признаков, скрытых состояний и глубина авторегрессии определяются неявно по размеру соответствующих элементов.
Сегментация | ||||||
---|---|---|---|---|---|---|
T = ARHMM_TEST(X, w, A, Mu, Sigma, C) | ||||||
ВХОД | ||||||
| ||||||
ВЫХОД | ||||||
|
Обучение | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[w, A, Mu, Sigma, C, core] = ARHMM_EM_TRAIN(X, K, M) | |||||||||||
[w, A, Mu, Sigma, C, core] = ARHMM_EM_TRAIN(X, K, M, InputParameters) | |||||||||||
ВХОД | |||||||||||
| |||||||||||
ВЫХОД | |||||||||||
|