- •Множество и функция Множество
- •Функция
- •Поле и пространство Поле
- •Пространство
- •Обозначение векторов и скаляров
- •Вопросы для самопроверки
- •Экстремумы. Критические и стационарные точки. Задача оптимизации Экстремумы
- •Локальные и глобальные минимумы
- •Задача оптимизации
- •Вопросы для самопроверки
- •Ряд тейлора и его свойства Градиент и матрица Гессе
- •Ряд Тейлора
- •Квадратичная форма Квадратичная форма и ее виды
- •Собственные числа и собственные вектора
- •Гессиан и квадратичная функция
- •Вопросы для самопроверки
- •Окончание поиска и численное дифференцирование Критерий останова для методов оптимизации
- •Численное дифференцирование
- •Вопросы для самопроверки
- •Методы дихотомии и трехточечного деления Метод дихотомии
- •Теорема
- •Метод трехточечного деления
- •Вопросы для самопроверки
- •Метод золотого сечения
- •Метод Фибоначчи
- •Метод ньютона, метод секущих Метод Ньютона
- •Метод секущих
- •Вопросы для самопроверки
- •Метод Мюллера
- •Методы градиентного спуска Условные обозначения
- •Градиентный методы спуска с постоянным шагом
- •Градиентный метод спуска с убывающим шагом
- •Вопросы для самопроверки
- •Метод наискорейшего спуска. Овражные задачи Метод наискорейшего спуска
- •Вопросы для самопроверки
- •Метод Ньютона
- •Модифицированные ньютоновские методы Демпфированный метод Ньютона с переменным αk
- •Метод Левенберга-Марквардта
- •Вопросы для самопроверки
- •Методы барзилая-борвейна
- •Стабилизированный метод Барзилая-Борвейна
- •Вопросы для самопроверки
- •Условия вульфа
- •Алгоритм 2: Линейный поиск на основе условий Вульфа
- •Вопросы для самопроверки
- •Методы сопряженных градиентов
- •Методы сопряженных градиентов
- •Дополнение
- •Вопросы для самопроверки
- •Метод бфгш с ограниченной памятью Классический метод бфгш и его проблемы
- •Алгоритм экономии памяти для метода l-bfgs
- •Алгоритм l-bfgs
- •Вопросы для самопроверки
- •Идея метода доверительных областей
- •Основные положения
- •Метод доверительных областей
- •Вопросы для самопроверки
- •Метод хука-дживса Описание метода
- •Вопросы для самопроверки
Метод Левенберга-Марквардта
Объединим метод Ньютона и метод градиентного спуска:
где если αk → 0, то метод становится методом Ньютона, если αk → ∞, то метод стано- вится методом градиентного спуска.
Параметры метода настраиваются следующим образом. Начальное значение αk берется достаточно большим, и метод ведет себя как метод градиентного спуска. Каждый раз, когда выполняется условие f (xk+1) < f (xk), параметр обновляется:
αk+1 = αk/v,
где v – некоторое положительное число, большее 1. Типичные значения: v = 2 . . . 10, α0 = 0.01.
Алгоритм 2: Метод Левенберга-Марквардта
Р
ассмотрим
пример
работы
метода
Левенберга-Марквардта.
Функция
Розенброка,
точность,
начальная
точка и параметры равны, соответственно,
ε
=
10—3,
x0
= (−2,
−2)T,
α0
= 100,
v =
3. Траектория
оптимизации
показана
на
рисунке
2.
Вопросы для самопроверки
1. Является ли функция Розенброка самосогласованной?
2. Как настроить первый шаг метода Левенберга-Марквардта, если о целевой функции ничего заранее не известно?
Методы барзилая-борвейна
Рассмотрим градиентный метод
xk+1 = xk − αkgk,
где gk = ∇f (xk).
Посмотрим на него как на некоторый квазиньютоновский метод, где обратная матрица Гессе аппроксимируется диагональной матрицей
Пусть ∆x = xk − xk—1, ∆g = gk − gk—1. Тогда, с учетом, что Hk = ∂gk/∂xk: матр частных производных компонентов градиента по компонентам векторах.
Исходя из предположения, что D—1∆x ≈ ∆g, где Dk = αkI, найдем αk как минимизатор функции
Откуда
(1)
Эта формула будет формулой метода Барзилая-Борвейна 1.
В одномерном случае фи ноль в многомерном минимум.
Исходя из предположения, что
∆x ≈ Dk∆g,
где
Dk
=
αkI,
найдем
αk
как
минимизатор
функции
Откуда
(2)
Эта формула будет формулой метода Барзилая-Борвейна 2.
Алгоритм 1: Метод Барзилая-Борвейна 1(2)
Рассмотрим пример работы метода Барзилая-Борвейна 1 на функции Химмельблау.
Точность ε = 10—3. Траектория оптимизации показана на рисунке 1.
Рассмотрим контрпример: ситуацию, когда метод Барзилая-Борвейна зацикливается и не приходит к точке минимума. Функция Розенброка, точность ε = 10—9, начальная точка (2, −1)T, 1000 итераций. Траектория оптимизации показана на рисунке 2.
|
|
Преимущества и недостатки методов Барзилая-Борвейна:
1. Обладают в ряде случаев сверхлинейной сходимостью и глобальной сходимостью.
2. Однако, на некоторых задачах метод может терять сходимость.
Стабилизированный метод Барзилая-Борвейна
Рассмотрим один из способов стабилизации метода Барзилая-Борвейна. Этот способ был предложен в работе Burdakov et al., 2019 (arXiv:1907.06409v3).
Найдем αstab как альтернативный шаг
где ∆ – параметр. На очередном шаге выберем
Уравнение метода:
Алгоритм 2: Стабилизированный метод Барзилая-Борвейна 1(2)
Рассмотрим пример работы стабилизированного метода Барзилая-Борвейна 1 на функции Розенброка. Точность ε = 10—9. Начальная точка (2, −1)T. ∆ = 0.1. Траектория оптимизации показана на рисунке 3.
Вопросы для самопроверки
1. Есть ли какое-то преимущества у одной версии метода Барзилая-Борвейна перед другой?
2. Если на некоторой функции метод Барзилая-Борвейна 1 зациклился, то зациклится ли метод Барзилая-Борвейна 2?
