Методы оптимизации в машинном обучении (курс лекций)/2012/Задание 1
Материал из MachineLearning.
(→Спецификация реализуемых функций) |
|||
Строка 34: | Строка 34: | ||
|interval — границы интервала оптимизации, вектор типа double длины 2; | |interval — границы интервала оптимизации, вектор типа double длины 2; | ||
|- | |- | ||
- | |(param_name, param_value) — необязательные | + | |(param_name, param_value) — необязательные параметры, следующие названия и значения возможны: |
|- | |- | ||
- | | | + | | |
+ | {|border="0" | ||
+ | |'eps' — точность оптимизации по аргументу, число, по умолчанию = 1e-5; | ||
+ | |- | ||
+ | |'max_iter' — максимальное число итераций, число, по умолчанию = 500; | ||
+ | |- | ||
+ | |'display' — режим отображения, true или false, если true, то отображаются номер итерации, текущее значение функции, аргумента, текущая точность и др. показатели, по умолчанию = false; | ||
+ | |- | ||
+ | |} | ||
|- | |- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
|} | |} | ||
|- | |- | ||
Строка 49: | Строка 52: | ||
| | | | ||
{| | {| | ||
- | | | + | |x_min — найденное значение минимума, число; |
|- | |- | ||
- | | | + | |f_min — значение функции в точке минимума, число; |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
|- | |- | ||
- | | | + | |status — результаты оптимизации, структура со следующими полями: |
|- | |- | ||
- | | | + | | |
+ | {|border="0" | ||
+ | |'flag' — общий результат, число, равно 1, если достигнут оптимум с точностью eps, равно -1, если произошел выход по максимальному числу итераций; | ||
+ | |- | ||
+ | |'num_fun' — количество обращений к оракулу; | ||
+ | |- | ||
+ | |} | ||
|- | |- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
|} | |} | ||
|} | |} | ||
- | + | Прототипы функций min_parabolic для метода парабол и min_brent для метода Брента выглядят аналогично. При отображении в методе Брента необходимо указывать способ выбора очередной точки на каждой итерации (golden или parabolic). | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
=== Рекомендации по выполнению задания === | === Рекомендации по выполнению задания === |
Версия 12:26, 26 сентября 2012
Формулировка задания находится в стадии формирования. Просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 27 сентября 2012
Срок сдачи: 10 октября 2012, 23:59
Среда реализации задания – MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Формулировка задания
Для выполнения задания необходимо:
- Реализовать алгоритмы одномерной минимизации функции без производной: метод золотого сечения, метод парабол и комбинированный метод Брента;
- Протестировать реализованные алгоритмы на наборе задач оптимизации;
- Написать отчет в формате PDF с описанием всех проведенных исследований.
Спецификация реализуемых функций
Метод золотого сечения | |||||||
---|---|---|---|---|---|---|---|
[x_min, f_min, status] = min_golden(func, interval, param_name1, param_value1, ...) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Прототипы функций min_parabolic для метода парабол и min_brent для метода Брента выглядят аналогично. При отображении в методе Брента необходимо указывать способ выбора очередной точки на каждой итерации (golden или parabolic).
Рекомендации по выполнению задания
- В качестве модельных данных для тестирования ЛДС рассмотреть задачу сопровождения объекта в двухмерном пространстве. Для генерации траектории движения объекта использовать функцию LDS_generate с параметрами, описанными в лекции. При этом рекомендуется взять небольшой квант времени . Убедиться в том, что отфильтрованная по Калману траектория ближе к истинной, чем наблюдаемый сигнал.
- При тестировании обучения с учителем убедиться в том, что правдоподобие траектории объекта в двухмерном пространстве, сгенерированной с помощью LDS_generate, не превосходит правдоподобие этой траектории для параметров, полученных с помощью LDS_train.
Оформление задания
Выполненный вариант задания необходимо прислать письмом по адресу bayesml@gmail.com с темой «[МОМО12] Задание 1. ФИО». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.
Письмо должно содержать:
- PDF-файл с описанием проведенных исследований
- Набор вспомогательных файлов при необходимости