Графические модели (курс лекций)/2013/Задание 3
Материал из MachineLearning.
м |
|||
Строка 8: | Строка 8: | ||
Среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке. | Среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке. | ||
- | ==== | + | == Модель авторегрессии == |
+ | |||
+ | Случайный процесс с дискретным временем <tex>\{\vec{x}_n\}_{n=1}^N</tex>, <tex>\vec{x}_n\in\mathbb{R}^d</tex> называется ''авторегрессией первого порядка'', если | ||
+ | |||
+ | :<tex>\vec{x}_n = \vec{w} + A\vec{x}_{n-1} + \vec{\varepsilon}_n,\quad \vec{\varepsilon}_n\sim\mathcal{N}(\vec{0},\Sigma)</tex>. | ||
+ | |||
+ | Здесь <tex>\vec{w}\in\mathbb{R}^d</tex>, <tex>A\in\mathbb{R}^{d\times d}</tex>, <tex>\Sigma\in\mathbb{R}^{d\times d}</tex>, шумовые компоненты <tex>\vec{\varepsilon}_n</tex> являются независимыми. Процесс авторегрессии является стационарным, если все собственные значения матрицы <tex>A</tex> (включая комплексные) по модулю меньше единицы. Мат.ожидание <tex>\vec{\mu}</tex> стационарного процесса авторегрессии определяется как | ||
+ | |||
+ | :<tex>\vec{\mu} = (I-A)^{-1}\vec{w}</tex>, | ||
+ | |||
+ | где <tex>I</tex> — единичная матрица размера <tex>d\times d</tex>. | ||
+ | |||
+ | В терминах графических моделей авторегрессия первого порядка представляет собой байесовскую сеть с графом вида цепочка (см. рис.), где совместное распределение задается как | ||
+ | |||
+ | :<tex>p(X|\vec{w},A,\Sigma,\vec{x}_0)=\prod_{n=1}^N\mathcal{N}(\vec{x}_n|\vec{w}+A\vec{x}_{n-1},\Sigma)</tex>, | ||
+ | |||
+ | а <tex>\vec{x}_0</tex> — начальная предыстория. | ||
+ | |||
+ | ''Авторегрессия M-го порядка'' задается как | ||
+ | |||
+ | :<tex>\vec{x}_n = \vec{w}+\sum_{m=1}^MA_m\vec{x}_{n-m}+ \vec{\varepsilon}_n,\quad \vec{\varepsilon}_n\sim\mathcal{N}(\vec{0},\Sigma)</tex>. | ||
+ | |||
+ | Здесь шумовые компоненты <tex>\vec{\varepsilon}_n</tex> по-прежнему предполагаются независимыми. Очевидно, что авторегрессия M-го порядка может быть сведена к авторегрессии первого порядка как | ||
+ | |||
+ | :<tex>\tilde{\vec{x}}_n = \tilde{\vec{w}} + \tilde{A}\tilde{\vec{x}}_{n-1} + \tilde{\vec{\varepsilon}}_n,\quad \tilde{\vec{w}} = \begin{bmatrix}\vec{w}\\ 0\\ \vdots \\ 0\end{bmatrix},\quad \tilde{\vec{x}}_n = \begin{bmatrix}\vec{x}_n\\ \vec{x}_{n-1}\\ \vdots \\ \vec{x}_{n-M}\end{bmatrix},\quad \tilde{A} = \begin{bmatrix}A_1 & A_2 & A_3 & \dots & A_{M-1} & A_M\\ I & 0 & 0 & \dots & 0 & 0\\ 0 & I & 0 & \dots & 0 & 0\\ \dots \\ 0 & 0 & 0 & \dots & I & 0 \end{bmatrix},\quad \tilde{\vec{\varepsilon}}_n = \begin{bmatrix}\vec{\varepsilon}_n \\ 0 \\ \vdots \\ 0\end{bmatrix}.</tex> | ||
+ | |||
+ | Поэтому авторегрессия M-го порядка является стационарной, если все собственные значения матрицы <tex>\tilde{A}</tex> по модулю меньше единицы. Мат.ожидание стационарной регрессии M-го порядка определяется как | ||
+ | |||
+ | :<tex>\vec{\mu} = (I-A_1-\dots-A_M)^{-1}\vec{w}</tex>. | ||
+ | |||
+ | == Авторегрессионная скрытая марковская модель == | ||
+ | |||
Рассматривается авторегрессионная скрытая марковская модель, в которой полное правдоподобие задается как: | Рассматривается авторегрессионная скрытая марковская модель, в которой полное правдоподобие задается как: | ||
<center> | <center> | ||
Строка 26: | Строка 57: | ||
Таким образом, набор параметров модели определяется вектором <tex>\vec{w}</tex>, матрицей <tex>A</tex>, матрицей ковариаций <tex>\Sigma</tex> и матрицей <tex>C</tex> коэффициентов авторегрессии <tex>\{c_{i,j}\}_{i=0,j=1}^{M,K}.</tex> Глубина авторегрессии <tex>M</tex> задается пользователем. | Таким образом, набор параметров модели определяется вектором <tex>\vec{w}</tex>, матрицей <tex>A</tex>, матрицей ковариаций <tex>\Sigma</tex> и матрицей <tex>C</tex> коэффициентов авторегрессии <tex>\{c_{i,j}\}_{i=0,j=1}^{M,K}.</tex> Глубина авторегрессии <tex>M</tex> задается пользователем. | ||
- | + | == Формулировка задания == | |
+ | |||
* Алгоритм генерации выборки из вероятностной модели СММ с авторегрессией; | * Алгоритм генерации выборки из вероятностной модели СММ с авторегрессией; | ||
* EM-алгоритм обучения СММ при заданном числе состояний <tex>K</tex> и глубине авторегрессии <tex>M</tex>; | * EM-алгоритм обучения СММ при заданном числе состояний <tex>K</tex> и глубине авторегрессии <tex>M</tex>; | ||
* Алгоритм Витерби для сегментации сигнала при известных значениях параметров СММ, '''учитывающий''' значения наблюдаемой компоненты <tex>x</tex> в предыдущие моменты времени. | * Алгоритм Витерби для сегментации сигнала при известных значениях параметров СММ, '''учитывающий''' значения наблюдаемой компоненты <tex>x</tex> в предыдущие моменты времени. | ||
- | == | + | == Рекомендации по выполнению задания == |
- | + | ||
- | + | == Оформление задания == | |
Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «[ГМ13] Задание 3 <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций. | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «[ГМ13] Задание 3 <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций. |
Версия 19:44, 30 марта 2013
Формулировка задания находится в стадии подготовки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 18 марта 2013 г.;
Срок сдачи: 7 апреля 2013 г. (воскресенье), 23:59.
Среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Содержание |
Модель авторегрессии
Случайный процесс с дискретным временем , называется авторегрессией первого порядка, если
- .
Здесь , , , шумовые компоненты являются независимыми. Процесс авторегрессии является стационарным, если все собственные значения матрицы (включая комплексные) по модулю меньше единицы. Мат.ожидание стационарного процесса авторегрессии определяется как
- ,
где — единичная матрица размера .
В терминах графических моделей авторегрессия первого порядка представляет собой байесовскую сеть с графом вида цепочка (см. рис.), где совместное распределение задается как
- ,
а — начальная предыстория.
Авторегрессия M-го порядка задается как
- .
Здесь шумовые компоненты по-прежнему предполагаются независимыми. Очевидно, что авторегрессия M-го порядка может быть сведена к авторегрессии первого порядка как
Поэтому авторегрессия M-го порядка является стационарной, если все собственные значения матрицы по модулю меньше единицы. Мат.ожидание стационарной регрессии M-го порядка определяется как
- .
Авторегрессионная скрытая марковская модель
Рассматривается авторегрессионная скрытая марковская модель, в которой полное правдоподобие задается как:
Пусть скрытая компонента в произвольный момент времени может принимать значения из множества . Априорное распределение на значение скрытой компоненты в первый момент времени задается вектором , причем все и . Распределение задается матрицей перехода размера , где в -ой позиции стоит вероятность перехода из состояния в состояние . Все элементы этой матрицы неотрицательны и сумма элементов по каждой строке равна единице. Модель генерации данных задается нормальными распределениями с одинаковой матрицей ковариации и своими математическими ожиданиями для каждого состояния и каждого момента времени. Математическое ожидание зависит не только от состояния СММ, но и от предыдущих значений (авторегрессионная составляющая) и задается формулой
где — коэффициенты авторегрессии, которые зависят от состояния СММ.
Таким образом, набор параметров модели определяется вектором , матрицей , матрицей ковариаций и матрицей коэффициентов авторегрессии Глубина авторегрессии задается пользователем.
Формулировка задания
- Алгоритм генерации выборки из вероятностной модели СММ с авторегрессией;
- 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) | |||||||||||
ВХОД | |||||||||||
| |||||||||||
ВЫХОД | |||||||||||
|