Методы оптимизации в машинном обучении (курс лекций)/2012/Задание 1
Материал из MachineLearning.
(Новая: __NOTOC__ {{stop|Формулировка задания находится в стадии формирования. Просьба не приступать к выполнению з...) |
|||
Строка 14: | Строка 14: | ||
=== Формулировка задания === | === Формулировка задания === | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
Для выполнения задания необходимо: | Для выполнения задания необходимо: | ||
- | * Реализовать | + | * Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента; |
- | + | * Протестировать реализованные алгоритмы на наборе задач оптимизации; | |
- | + | * Написать отчет в формате PDF с описанием всех проведенных исследований. | |
- | * Протестировать реализованные алгоритмы на | + | |
- | * Написать отчет в формате PDF с описанием всех проведенных исследований | + | |
=== Спецификация реализуемых функций === | === Спецификация реализуемых функций === | ||
{|class="standard" | {|class="standard" | ||
- | !'' | + | !''Метод золотого сечения'' |
|- | |- | ||
- | |[ | + | |[x_min, f_min, status] = min_golden(func, interval, param_name1, param_value1, ...) |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 59: | Строка 30: | ||
| | | | ||
{|border="0" | {|border="0" | ||
- | | | + | |func — указатель на оптимизируемую функцию; |
|- | |- | ||
- | | | + | |interval — границы интервала оптимизации, вектор типа double длины 2; |
|- | |- | ||
- | | | + | |(param_name, param_value) — необязательные параметрыматрица преобразования среднего при переходе от <tex>t_n</tex> к <tex>x_n</tex>, матрица типа double размера d x D; |
|- | |- | ||
|G — ковариационная матрица для распределения <tex>p(t_n|t_{n-1})</tex>, матрица типа double размера D x D; | |G — ковариационная матрица для распределения <tex>p(t_n|t_{n-1})</tex>, матрица типа double размера D x D; |
Версия 11:55, 26 сентября 2012
Формулировка задания находится в стадии формирования. Просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 27 сентября 2012
Срок сдачи: 10 октября 2012, 23:59
Среда реализации задания – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Формулировка задания
Для выполнения задания необходимо:
- Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента;
- Протестировать реализованные алгоритмы на наборе задач оптимизации;
- Написать отчет в формате PDF с описанием всех проведенных исследований.
Спецификация реализуемых функций
Метод золотого сечения | |||||||
---|---|---|---|---|---|---|---|
[x_min, f_min, status] = min_golden(func, interval, param_name1, param_value1, ...) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Обратите внимание: в процедуре LDS_generate параметры D и d определяются неявно по размеру соответствующих элементов.
Фильтр Калмана для ЛДС | |||||||
---|---|---|---|---|---|---|---|
[M, V] = LDS_filter(X, A, C, G, S, mu0, V0) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Обучение с учителем для ЛДС | |||||||
---|---|---|---|---|---|---|---|
[A, C, G, S] = LDS_train(X, T, ParameterName1, ParameterValue1, ParameterName2, ParameterValue2, ...) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Генерация выборки для нелинейной динамической системы | |||||||
---|---|---|---|---|---|---|---|
[X, T] = EKF_generate(N, func_horiz, func_vert, G, S, mu0, V0) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Обратите внимание: в процедуре EKF_generate параметры D и d определяются неявно по размеру соответствующих элементов.
Расширенный фильтр Калмана для нелинейной динамической системы | |||||||
---|---|---|---|---|---|---|---|
[M, V] = EKF_filter(X, func_horiz, func_vert, G, S, mu0, V0) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Рекомендации по выполнению задания
- В качестве модельных данных для тестирования ЛДС рассмотреть задачу сопровождения объекта в двухмерном пространстве. Для генерации траектории движения объекта использовать функцию LDS_generate с параметрами, описанными в лекции. При этом рекомендуется взять небольшой квант времени . Убедиться в том, что отфильтрованная по Калману траектория ближе к истинной, чем наблюдаемый сигнал.
- При тестировании обучения с учителем убедиться в том, что правдоподобие траектории объекта в двухмерном пространстве, сгенерированной с помощью LDS_generate, не превосходит правдоподобие этой траектории для параметров, полученных с помощью LDS_train.
Оформление задания
Выполненный вариант задания необходимо прислать письмом по адресу bayesml@gmail.com с темой «[МОМО12] Задание 1. ФИО». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.
Письмо должно содержать:
- PDF-файл с описанием проведенных исследований
- Набор вспомогательных файлов при необходимости