
- •Лекция 15. Методы первого порядка.
- •15.1. Метод градиента.
- •15.2. Овражные целевые функции.
- •15.3. Метод сопряженных градиентов
- •????15.4. Квазиньютоновские методы
- •15.Х. Метод Дэвидона-Флетчера-Пауэлла
- •20.5. Минимизация в задаче о наименьших квадратах и нелинейные регрессионные модели.
- •20.6. Сравнение методов безусловной минимизации
-
Лекция 15. Методы первого порядка.
15.1. Метод градиента.
Введем обозначение
для
,
т.е. для градиента функции. Напомним,
что
- это вектор,
компоненты которого равны значениям
частных производных по соответствующим
координатам, т.е.
|
(15.1) |
Вектор
может вычисляться в любой точке и дает
направление наискорейшего возрастания
функции
в этой точке.
Пусть
- это шаг (step в
английском языке) из рассматриваемой
точки
в новую точку
и
|
(15.2) |
где
,
,
- это векторы,
т.е. массивы длины
.
Сложение в (15.2) выполняется для векторов
(см. рис. 15.1).
|
Рис.
15.1. Шаг
|
Метод градиента
заключается в том, что точка
определяется
в результате одномерного поиска минимума
в направлении антиградиента для точки
.
Шаги прекращаются при попадании в
EPS-окрестность точки минимума и при
малых значениях
,
т.к. в точке минимума
.
|
Рис.14.2. |
АЛГОРИТМ
Дана функция
,
формулы или алгоритм для вычисления
градиента
по (15.1), выбрана начальная точка
и значение допустимой погрешности EPS.
Начальная точка может выбираться либо
произвольной, либо на основании
дополнительной информации о расположении
минимума.
Вычислить компоненты
. Обычно для этого применяют численное дифференцирование.
Выполнить одномерный поиск вдоль направления (
). В результате получается следующая точка
.
Проверить условия
,
.
Если условия
выполняются, то
- это точка минимума. Иначе
и на пункт 1.
В этом алгоритме
не учтена защита от зацикливания, которая
должна быть обязательно. Например, можно
указать некоторое максимальное количество
шагов в операторе цикла, или предусмотреть
вывод каких-то сообщений после некоторого
большого количества шагов. Отметим, что
малые значения
могут соответствовать не точке минимума,
а седловой точке.
Метод работает быстрее, чем прямые методы, т.к. использует информацию о производных. Но у него есть два существенных недостатка: трудности вычисления производных для сложных функций и большое количество шагов для так называемых овражных функций, к рассмотрению которых и переходим.
Так как в любой точке при поиске минимума многомерных функций множество приемлемых направлений бесконечно, то именно способ выбора направления определяет суть алогоритма, а к вычислению величины шага принято относиться как к некой отдельной процедуре, результаты которой менее важны.
15.2. Овражные целевые функции.
Рассмотрим случай
двух переменных и целевую функцию, у
которой линии уровня представляют собой
сильно вытянутые эллипсы, см. рис. 15.3.
Минимум обозначен точкой
и находится примерно в центре линий. В
общем случае эти эллипсы нужно представить
в многомерном пространстве, они узки,
сильно деформированы и линии уровня
имеют извилистый характер.
Функции, у которых линии уровня образуют сильно вытянутые замкнутые кривые, называют овражными, т.к. такие линии уровня соответствуют реальным оврагам.
|
Рис.15.3. Поиск минимума для овражных функций. |
Отметим, что хорошими специалистами по построению линий уровня являются ослы, т.к. они чувствительны к степени отклонения их пути от горизонтали. В гористой местности с помощью ослов выбирают трассы каналов.
Вернемся к рис.14.3.
Стрелки на линиях дают направление
антиградиентов для некоторых точек.
Видим, что только для точек A, B, C, D эти
стрелки дают правильное направление
для поиска минимума, а для других точек
одномерный поиск будет выводить на дно
оврага, причем приближение к минимуму
будет очень медленным. Траектория поиска
будет зигзагообразной и это показано
на рисунке. Ее можно представить себе
как перекатывание шарика с одного склона
на другой при общей тенденции спуска в
точку минимума
.
Это же движение можно представить как
поиск в полной темноте источника воды
на дне очень узкого, длинного оврага
путем пробных шагов.
Такие зигзагообразные траектории резко увеличивают количество шагов при поиске минимума.
Появление оврагов в целевых функциях можно объяснить взаимным влиянием входных параметров, плохим выбором их масштабов изменения, различием в чувствительности функции к изменению параметров. Обычно на дне оврага все параметры примерно одинаково влияют на целевую функцию, а на склонах существенно влияние лишь нескольких из рассмариваемых.
Строгая проверка наличия оврагов очень сложна и требует вычисления собственных значений матрицы Гессе (14.5), которые изменяются при движении точки поиска вместе с изменением матрицы Гессе. Овражному характеру соответствует существенное различие модулей собственных значений.
Как правило, в практических задачах овраги есть, но т.к. исследовать их наличие очень сложно, то предпочитают не заниматься этим, а использовать методы поиска, которые сохраняют свою эффективность для овражных функций.
В заключение этого раздела рассмотрим кратко вопрос о масштабировании для целевых функций. Масштабирование обычно выполняется заменой переменных и при этом от переменных, отражающих физическую сущность задачи, переходят к новым, более подходящим для метода ее решения. Например, мы использовали целые переменные вместо времени в лекциях по цифровой обработке.
В некоторых задачах
простое изменение диапазона входных
параметров может устранить овражный
характер целевых функций. Для этого
рекомендуется нормировать входные
параметры так, чтобы область поиска для
каждой переменной находилась в диапазоне
от -1 до 1. Например, если
- это оценка для области изменения
переменной
,
то замена
|
(15.3) |
дает .
Отметим, что эта рекомендация по
нормированию переменных полезна и для
регрессионных моделей раздела 2.2.
Значения целевой функции полезно масштабировать для уменьшения влияния погрешностей. Плохо, если значения F всюду близки к нулю или содержат большую постоянную составляющую. Желательно, чтобы в окрестности искомой точки модули значений целевой функции были величинами порядка единиц или меньше. Это связано с тем, что в реальных алгоритмах используются как относительные погрешности, так и абсолютные.