- •Множество и функция Множество
- •Функция
- •Поле и пространство Поле
- •Пространство
- •Обозначение векторов и скаляров
- •Вопросы для самопроверки
- •Экстремумы. Критические и стационарные точки. Задача оптимизации Экстремумы
- •Локальные и глобальные минимумы
- •Задача оптимизации
- •Вопросы для самопроверки
- •Ряд тейлора и его свойства Градиент и матрица Гессе
- •Ряд Тейлора
- •Квадратичная форма Квадратичная форма и ее виды
- •Собственные числа и собственные вектора
- •Гессиан и квадратичная функция
- •Вопросы для самопроверки
- •Окончание поиска и численное дифференцирование Критерий останова для методов оптимизации
- •Численное дифференцирование
- •Вопросы для самопроверки
- •Методы дихотомии и трехточечного деления Метод дихотомии
- •Теорема
- •Метод трехточечного деления
- •Вопросы для самопроверки
- •Метод золотого сечения
- •Метод Фибоначчи
- •Метод ньютона, метод секущих Метод Ньютона
- •Метод секущих
- •Вопросы для самопроверки
- •Метод Мюллера
- •Методы градиентного спуска Условные обозначения
- •Градиентный методы спуска с постоянным шагом
- •Градиентный метод спуска с убывающим шагом
- •Вопросы для самопроверки
- •Метод наискорейшего спуска. Овражные задачи Метод наискорейшего спуска
- •Вопросы для самопроверки
- •Метод Ньютона
- •Модифицированные ньютоновские методы Демпфированный метод Ньютона с переменным αk
- •Метод Левенберга-Марквардта
- •Вопросы для самопроверки
- •Методы барзилая-борвейна
- •Стабилизированный метод Барзилая-Борвейна
- •Вопросы для самопроверки
- •Условия вульфа
- •Алгоритм 2: Линейный поиск на основе условий Вульфа
- •Вопросы для самопроверки
- •Методы сопряженных градиентов
- •Методы сопряженных градиентов
- •Дополнение
- •Вопросы для самопроверки
- •Метод бфгш с ограниченной памятью Классический метод бфгш и его проблемы
- •Алгоритм экономии памяти для метода l-bfgs
- •Алгоритм l-bfgs
- •Вопросы для самопроверки
- •Идея метода доверительных областей
- •Основные положения
- •Метод доверительных областей
- •Вопросы для самопроверки
- •Метод хука-дживса Описание метода
- •Вопросы для самопроверки
Задача оптимизации
Задача, решаемая в данном курсе, носит название задачи оптимизации. Строго математически, она форму- лируется так.
Дано:
Функция f : X → R1, где X – допустимое множество, R - поле действительных чисел.
Найти:
x∗ = arg min f (x).
x∈X
В данном уроке X ≡ R1 мново действит чисел. В дальнейшем будет рассмотрено множество X ≡ Rn множество векторов. В этом случае говорят об оптимизации без ограничений.
Если X ⊂ Rn, то говорят об оптимизации с ограничениями.
Если требуется найти точку максимума функции f (x), то задачу можно переформулировать как задачу поиска минимума противоположной функции
x∗ = arg min(−f (x)).
x∈X
Поэтому в курсе мы сосредоточимся только на алгоритмах поиска минимума. Пусть решается задача оптимизации дифференцируемой функции f (x)
x∗ = arg min f (x).
x
∈X
Тогда можно представить ее как задачу поиска корня функции g(x) = f ′(x).
Важное значение в теории оптимизации имеют выпуклые функции, хотя непосредственно в курсе мы не будем сосредотачиваться на них.
Выпуклая функция – функция, для которой любой отрезок между двумя любыми точками графика функ- ции лежит не ниже её графика, как показано на рисунке 6.
Выпуклая функция имеет одну стационарную точку – глобальный минимум.
Невыпуклая функция требует в процессе оптимизации учитывать локальные свойства функции.
Вопросы для самопроверки
1. Пусть существует гладкая функция f (x), при этом у нее есть две точки x1 и x2, в которых функция имеет равные значения, при этом в любой другой точке ее значение больше: ∀y : f (y) > f (x1) = f (x2). Можно ли говорить, что у этой функции два глобальных минимума?
2. Сформулируйте критерии максимума на основе представленных в лекции критериев минимума.
3. Стоимость акций компании A изменяется по закону f (t) = F (t) + ε(t), где t – время, F (t) – гладкий компонент, ε(t) – случайный компонент. В некоторый момент времени t∗ акции достигли максимального за всю историю значения, и инвесторы принимают решение, стоит ли продавать акции и фиксировать прибыль, или нет. Могут ли они, строго математически, определить в момент времени t∗, является ли точка t∗ точкой максимума? Могут ли они это сделать, если ε(t) = 0?
Ряд тейлора и его свойства Градиент и матрица Гессе
Пусть f (x) – функция векторного аргумента f : Rn → R1, где
x = (x1, x2, . . . , xn)T . вектор столбец веществ чисел
Градиент – обобщение производной функции на многомерный случай. Это вектор част- ных производных f по каждой из компонент вектора x:
Интуитивное понятие о градиенте иллюстрирует рисунок 1.
(a) Изображение с «градиентом» (b) График функции яркости
Рис. 1 – Яркость в различных точках изображения на рисунке (a) можно представить как функцию (b), и тогда градиент яркости – вектор, направленный в сторону наибольшего возрастания яркости.
Матрица Гессе – обобщение второй производной функции на многомерный случай. Это матрица вторых частных производных ∇2f по каждой из компонент вектора x:
Ряд Тейлора
Для всякой достаточно гладкой функции в окрестности точки x0 существует полиномиальная аппроксимация
Ряд Маклорена – ряд Тейлора при разложении в окрестности точки 0:
Пример
Функция Химмельблау задается уравнением:
f (x, y) = (x2 + y − 11)2 + (x + y2 − 7)2.
Ее график показан на рисунке 2, красным цветом отмечена точка (0; 0)T. 1 член - константа - плоскость. Когда добавляем первую производную - рассматриваем аппроксимацию в виде наклонной плоскости. Эта плоскость - касательная.
Ряд Тейлора в точке x0 = (0; 0)T для нее равен:
Уравнение (1) задает параболоид вращения, касательный к поверхности функции Химмельблау в точке x0, как показано на рисунке 3. Улучшаем аппроксимацию.
Рис. 3 – Функция Химмельблау и функция T (x), задаваемая рядом Тейлора второго порядка, касательная к функции Химмельблау в точке x0, отмеченной красным цветом.
