Участник:Anton/Песочница
Материал из MachineLearning.
Строка 37: | Строка 37: | ||
*В качестве парных потенциалов выбираются обобщенные потенциалы Поттса с коэффициентами α, делающими разрез более энергетически-выгодным, там где цвет изображения сильно меняется: <tex> \alpha_{pq} = A + B\:\exp\left(-\frac{|| I_p - I_q ||^2}{2\sigma^2}\right) </tex>, A ≥ 0, B ≥ 0, σ — параметры. | *В качестве парных потенциалов выбираются обобщенные потенциалы Поттса с коэффициентами α, делающими разрез более энергетически-выгодным, там где цвет изображения сильно меняется: <tex> \alpha_{pq} = A + B\:\exp\left(-\frac{|| I_p - I_q ||^2}{2\sigma^2}\right) </tex>, A ≥ 0, B ≥ 0, σ — параметры. | ||
- | === | + | == Вариант 1 : TRW== |
+ | |||
+ | === Задание === | ||
+ | * Реализовать метод | ||
+ | * Реализовать EM-алгоритм обучения СММ при заданном числе состояний K. | ||
+ | * Реализовать алгоритм Витерби для сегментации сигнала при известных значениях параметров СММ | ||
+ | * Протестировать реализованные алгоритмы на модельных сигналах | ||
+ | * Рассчитать набор признаков для описания поведения мыши и на их основе найти 3 '''осмысленных''' поведенческих акта с помощью ЕМ-алгоритма обучения СММ, проинтерпретировать полученные поведенческие акты | ||
+ | * Наложить полученные поведенческие акты на видео с поведением | ||
+ | * Написать отчет в формате PDF с описанием всех проведенных исследований. Данный отчет должен, в частности, включать в себя графики сегментации модельных сигналов. | ||
+ | |||
+ | === Спецификация реализуемых функций === | ||
+ | {|class="standard" | ||
+ | !''Генерация выборки'' | ||
+ | |- | ||
+ | |[X, T] = HMM_GENERATE(N, w, A, Mu, Sigmas) | ||
+ | |- | ||
+ | |ВХОД | ||
+ | |- | ||
+ | | | ||
+ | {|border="0" | ||
+ | |N — количество точек в генерируемой последовательности, uint32; | ||
+ | |- | ||
+ | |w — априорные вероятности для скрытых состояний, матрица типа double размера 1 x K; | ||
+ | |- | ||
+ | |A — матрица перехода, матрица типа double размера K x K; | ||
+ | |- | ||
+ | |Mu — центры гауссиан для каждого состояния, матрица типа double размера K x d, в которой в каждой строке стоит вектор мат.ожидания для соответствующего состояния; | ||
+ | |- | ||
+ | |Sigmas — матрицы ковариации гауссиан, массив типа double размера d x d x K, Sigmas(:,:,i) – матрица ковариации для i-ого состояния; | ||
+ | |} | ||
+ | |- | ||
+ | |ВЫХОД | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |X — сгенерированная последовательность, матрица типа double размера N x d | ||
+ | |- | ||
+ | |T — последовательность скрытых состояний, матрица типа double размера 1 x N | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === Рекомендации по выполнению задания === | ||
+ | 1. При разбиении MRF-решетки на вертикальные и горизонтальные цепочки формулировка несколько упрощается: | ||
+ | *Каждое ребро графа принадлежит только одному подграфу, а значит не нужно вводить двойственные переменные, соответствующие ребрам. | ||
+ | *Каждое вершина принадлежит только двум деревьям, а значит можно ввести |P|K двойственных переменных, соответствующих условиям <tex> y_{pk}^{hor} = y_{pk}^{vert}, \;\; p \in P, \;\; k = 1\dots K</tex>, где hor и vert, обозначают горизонтальную и вертикальную цепочку, проходящую через p-ю вершину. | ||
+ | |||
+ | 2. Поскольку двойственная функция вогнута и кусочно-линейна, оптимизировать ее можно при помощи алгоритма субградиентного подъема. | ||
Каждый шаг метода субградиентного подъема состоит в пересчете значений двойственных переменных λ по следующему правилу:<br> | Каждый шаг метода субградиентного подъема состоит в пересчете значений двойственных переменных λ по следующему правилу:<br> | ||
<tex>\lambda_{new} = \lambda_{old} + \alpha_t g_t, </tex> | <tex>\lambda_{new} = \lambda_{old} + \alpha_t g_t, </tex> | ||
где <tex>g_t</tex> — субградиент в текущей точке, <tex>\alpha_t</tex> — параметр, отвечающий за длину сдвига. | где <tex>g_t</tex> — субградиент в текущей точке, <tex>\alpha_t</tex> — параметр, отвечающий за длину сдвига. | ||
- | |||
В рамках данного практического задания рекомендуется использовать адаптивный метод выбора длины шага:<br> | В рамках данного практического задания рекомендуется использовать адаптивный метод выбора длины шага:<br> | ||
<tex>\alpha_t = \frac{\text{Approx}_t - \text{Dual}_t}{|| \nabla g_t|| ^ 2},</tex><br> | <tex>\alpha_t = \frac{\text{Approx}_t - \text{Dual}_t}{|| \nabla g_t|| ^ 2},</tex><br> | ||
где <tex>\text{Dual}_t</tex> — текущее значение двойственной функции, </tex>\text{Approx}_t</tex> — оценка оптимума двойственной функции, которую можно определять следующим способом:<br> | где <tex>\text{Dual}_t</tex> — текущее значение двойственной функции, </tex>\text{Approx}_t</tex> — оценка оптимума двойственной функции, которую можно определять следующим способом:<br> | ||
- | <tex>\text{Approx}_t = \text{BestDual}_t + \delta_t,</tex> где <br> | + | <tex>\text{Approx}_t = \text{BestDual}_t + \delta_t,</tex> где <tex>\text{BestDual}_t </tex> — лучшее на данный момент значение двойственной функции, <br> |
<tex>\delta_{t+1} = \begin{cases} | <tex>\delta_{t+1} = \begin{cases} | ||
c^* \delta_t, \;\; \text{Dual}_t > \text{Dual}_{t-1}, \\ | c^* \delta_t, \;\; \text{Dual}_t > \text{Dual}_{t-1}, \\ | ||
- | \max(c_* \delta_t, \varepsilon ), \;\; \text{Dual}_t \leq \text{Dual}_{t-1}. \end{cases}</tex><br> | + | \max(c_* \delta_t, \; \varepsilon ), \;\; \text{Dual}_t \leq \text{Dual}_{t-1}. \end{cases}</tex><br> |
- | <tex>c^*, c_*, \varepsilon</tex> — параметры метода. Обычно <tex>c^* > 1, 1 > c_* > 0, \varepsilon \to 0+/tex> | + | <tex>c^*, \; c_*, \; \varepsilon</tex> — параметры метода. Обычно <tex>c^* > 1, \; 1 > c_* > 0, \; \varepsilon \to 0+ </tex>. |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
=== Данные для выполнения задания === | === Данные для выполнения задания === | ||
Версия 18:09, 11 апреля 2011
Статья в настоящий момент дорабатывается. Формулировка задания находится в стадии формирования. Просьба не приступать к выполнению задания, пока это предупреждение не будет удалено. Anton 18:11, 7 апреля 2011 (MSD) |
|
Перейти к основной странице курса
Задание состоит из двух вариантов.
Среда реализации для всех вариантов – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Марковское случайное поле
Марковское случайное поле (MRF) — графическая модель, энергия (отрицательный логарифм правдоподобия) которой записывается в виде:
где P — множество индексов переменных, E — система соседства, D — унарные потенциалы, V — бинарные потенциалы.
Рассмотрим модель со следующими ограничения:
- переменные дискретны и принимают значения из множества {1,…,K}, K ≥ 2,
- система соседства E - прямоугольная решетка,
- бинарные потенциалы V являются обобщенными потенциалами Поттса: .
В рамках этого задания требуется:
- реализовать алгоритм поиска конфигурации MRF, обладающей минимальной энергией (TRW или α-expansion),
- протестировать реализованный алгоритм на модельных задачах,
- применить реализованный алгоритм для задачи интерактивной сегментации изображений,
- сравнить алгоритмы TRW и α-expansion на задаче сегментации изображений.
MRF для интерактивной сегментации изображений
Задача сегментации изображения состоит в отнесении каждого пикселя изображения к одному из K классов. В интерактивном варианте пользователь отмечает часть пикселей, принадлежащих каждому классу. После этого требуется автоматически разметить оставшуюся часть изображения.
Для задачи сегментации марковское случайное поле строится, например, так:
- Каждая переменная соответствует пикселю изображения.
- Используется стандартная 4-х связная система соседства.
- Если пиксель p отнесен пользователем к классу k, то унарные потенциалы „разрешают“ переменной принимать только значение k:
. - Если пиксель p не отнесен пользователем ни к одному из классов, то унарные потенциалы принимают значения равные минус логарифму правдоподобия принадлежности пикселя цвета соответствующему классу: .
- Цветовые модели объектов можно восстановить по пикселям, размеченным пользователем, при помощи EM-алгоритма восстановления смеси нормальных распределений в пространстве Luv.
- В качестве парных потенциалов выбираются обобщенные потенциалы Поттса с коэффициентами α, делающими разрез более энергетически-выгодным, там где цвет изображения сильно меняется: , A ≥ 0, B ≥ 0, σ — параметры.
Вариант 1 : TRW
Задание
- Реализовать метод
- Реализовать EM-алгоритм обучения СММ при заданном числе состояний K.
- Реализовать алгоритм Витерби для сегментации сигнала при известных значениях параметров СММ
- Протестировать реализованные алгоритмы на модельных сигналах
- Рассчитать набор признаков для описания поведения мыши и на их основе найти 3 осмысленных поведенческих акта с помощью ЕМ-алгоритма обучения СММ, проинтерпретировать полученные поведенческие акты
- Наложить полученные поведенческие акты на видео с поведением
- Написать отчет в формате PDF с описанием всех проведенных исследований. Данный отчет должен, в частности, включать в себя графики сегментации модельных сигналов.
Спецификация реализуемых функций
Генерация выборки | |||||
---|---|---|---|---|---|
[X, T] = HMM_GENERATE(N, w, A, Mu, Sigmas) | |||||
ВХОД | |||||
| |||||
ВЫХОД | |||||
|
Рекомендации по выполнению задания
1. При разбиении MRF-решетки на вертикальные и горизонтальные цепочки формулировка несколько упрощается:
- Каждое ребро графа принадлежит только одному подграфу, а значит не нужно вводить двойственные переменные, соответствующие ребрам.
- Каждое вершина принадлежит только двум деревьям, а значит можно ввести |P|K двойственных переменных, соответствующих условиям , где hor и vert, обозначают горизонтальную и вертикальную цепочку, проходящую через p-ю вершину.
2. Поскольку двойственная функция вогнута и кусочно-линейна, оптимизировать ее можно при помощи алгоритма субградиентного подъема.
Каждый шаг метода субградиентного подъема состоит в пересчете значений двойственных переменных λ по следующему правилу:
где — субградиент в текущей точке, — параметр, отвечающий за длину сдвига.
В рамках данного практического задания рекомендуется использовать адаптивный метод выбора длины шага:
где — текущее значение двойственной функции, </tex>\text{Approx}_t</tex> — оценка оптимума двойственной функции, которую можно определять следующим способом:
где — лучшее на данный момент значение двойственной функции,
— параметры метода. Обычно .