Методы оптимизации в машинном обучении (курс лекций)/2012/Задание 1

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Спецификация реализуемых функций)
Строка 7: Строка 7:
[[Image:MOMO12_Task1_intro.jpg|300px]]
[[Image:MOMO12_Task1_intro.jpg|300px]]
-
'''Начало выполнения задания''': 27 сентября 2012
+
'''Начало выполнения задания''': 28 сентября 2012
-
'''Срок сдачи''': {{ins|10 октября 2012, 23:59}}
+
'''Срок сдачи''': {{ins|11 октября 2012 (четверг), 23:59}}
Среда реализации задания – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Среда реализации задания – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Строка 16: Строка 16:
Для выполнения задания необходимо:
Для выполнения задания необходимо:
* Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента;
* Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента;
-
* Протестировать реализованные алгоритмы на наборе задач оптимизации;
+
* Протестировать реализованные алгоритмы на следующем наборе задач оптимизации:
 +
** <tex>f(x) = -5x^5+4x^4-12x^3+11x^2-2x+1</tex> на интервале [-0.5, 0.5];
 +
** <tex>f(x) = \ln^2(x-2) + \ln^2(10-x) - x^{0.2}</tex> на интервале [6, 9.9];
 +
** <tex>f(x) = -3x\sin 0.75x + \exp(-2x)</tex> на интервале <tex>[0, 2\pi]</tex>;
 +
* Реализовать алгоритм поиска ограничивающего сегмента;
 +
* Реализовать комбинированный метод Брента для производной;
 +
 
* Написать отчет в формате PDF с описанием всех проведенных исследований.
* Написать отчет в формате PDF с описанием всех проведенных исследований.

Версия 15:34, 27 сентября 2012


Формулировка задания находится в стадии формирования. Просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено.


Начало выполнения задания: 28 сентября 2012

Срок сдачи: 11 октября 2012 (четверг), 23:59

Среда реализации задания – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.

Формулировка задания

Для выполнения задания необходимо:

  • Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента;
  • Протестировать реализованные алгоритмы на следующем наборе задач оптимизации:
    • f(x) = -5x^5+4x^4-12x^3+11x^2-2x+1 на интервале [-0.5, 0.5];
    • f(x) = \ln^2(x-2) + \ln^2(10-x) - x^{0.2} на интервале [6, 9.9];
    • f(x) = -3x\sin 0.75x + \exp(-2x) на интервале [0, 2\pi];
  • Реализовать алгоритм поиска ограничивающего сегмента;
  • Реализовать комбинированный метод Брента для производной;
  • Написать отчет в формате PDF с описанием всех проведенных исследований.

Спецификация реализуемых функций

Метод золотого сечения
[x_min, f_min, status] = min_golden(func, interval, param_name1, param_value1, ...)
ВХОД
func — указатель на оптимизируемую функцию;
interval — границы интервала оптимизации, вектор типа double длины 2;
(param_name, param_value) — необязательные параметры, следующие названия и значения возможны:
'eps' — точность оптимизации по аргументу, число, по умолчанию = 1e-5;
'max_iter' — максимальное число итераций, число, по умолчанию = 500;
'display' — режим отображения, true или false, если true, то отображаются номер итерации, текущее значение функции, аргумента, текущая точность и др. показатели, по умолчанию = false;
ВЫХОД
x_min — найденное значение минимума, число;
f_min — значение функции в точке минимума, число;
status — результаты оптимизации, структура со следующими полями:
'flag' — общий результат, число, равно 1, если достигнут оптимум с точностью eps, равно -1, если произошел выход по максимальному числу итераций;
'num_fun' — количество обращений к оракулу;

Прототипы функций min_parabolic для метода парабол и min_brent для метода Брента выглядят аналогично. При отображении в методе Брента необходимо указывать способ выбора очередной точки на каждой итерации (golden или parabolic).

Рекомендации по выполнению задания

  • В качестве модельных данных для тестирования ЛДС рассмотреть задачу сопровождения объекта в двухмерном пространстве. Для генерации траектории движения объекта использовать функцию LDS_generate с параметрами, описанными в лекции. При этом рекомендуется взять небольшой квант времени \Delta t. Убедиться в том, что отфильтрованная по Калману траектория ближе к истинной, чем наблюдаемый сигнал.
  • При тестировании обучения с учителем убедиться в том, что правдоподобие траектории объекта в двухмерном пространстве, сгенерированной с помощью LDS_generate, не превосходит правдоподобие этой траектории для параметров, полученных с помощью LDS_train.

Оформление задания

Выполненный вариант задания необходимо прислать письмом по адресу bayesml@gmail.com с темой «[МОМО12] Задание 1. ФИО». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.

Письмо должно содержать:

  • PDF-файл с описанием проведенных исследований
  • Набор вспомогательных файлов при необходимости
Личные инструменты