Скачиваний:
31
Добавлен:
20.05.2014
Размер:
377.34 Кб
Скачать

- 63 -

Лекция 15. Методы первого порядка.

15.1. Метод градиента.

Введем обозначение для, т.е. для градиента функции. Напомним, что - это вектор, компоненты которого равны значениям частных производных по соответствующим координатам, т.е.

(15.1)

Вектор может вычисляться в любой точке и дает направление наискорейшего возрастания функции в этой точке. Пусть - это шаг (step в английском языке) из рассматриваемой точки в новую точкуи

,

(15.2)

где , ,- это векторы, т.е. массивы длины . Сложение в (15.2) выполняется для векторов (см. рис. 15.1).

Рис. 15.1. Шаг из точкив новую точкув многомерном пространстве.

Метод градиента заключается в том, что точка определяется в результате одномерного поиска минимума в направлении антиградиента для точки . Шаги прекращаются при попадании в EPS-окрестность точки минимума и при малых значениях , т.к. в точке минимума.

Рис.14.2.

АЛГОРИТМ

Дана функция , формулы или алгоритм для вычисления градиентапо (15.1), выбрана начальная точкаи значение допустимой погрешности EPS. Начальная точка может выбираться либо произвольной, либо на основании дополнительной информации о расположении минимума.

  1. Вычислить компоненты . Обычно для этого применяют численное дифференцирование.

  2. Выполнить одномерный поиск вдоль направления ().   В результате получается следующая точка .

  3. Проверить условия ,.

Если условия выполняются, то - это точка минимума. Иначеи на пункт 1.

В этом алгоритме не учтена защита от зацикливания, которая должна быть обязательно. Например, можно указать некоторое максимальное количество шагов в операторе цикла, или предусмотреть вывод каких-то сообщений после некоторого большого количества шагов. Отметим, что малые значения могут соответствовать не точке минимума, а седловой точке.

Метод работает быстрее, чем прямые методы, т.к. использует информацию о производных. Но у него есть два существенных недостатка: трудности вычисления производных для сложных функций и большое количество шагов для так называемых овражных функций, к рассмотрению которых и переходим.

Так как в любой точке при поиске минимума многомерных функций множество приемлемых направлений бесконечно, то именно способ выбора направления определяет суть алогоритма, а к вычислению величины шага принято относиться как к некой отдельной процедуре, результаты которой менее важны.

15.2. Овражные целевые функции.

Рассмотрим случай двух переменных и целевую функцию, у которой линии уровня представляют собой сильно вытянутые эллипсы, см. рис. 15.3. Минимум обозначен точкой и находится примерно в центре линий. В общем случае эти эллипсы нужно представить в многомерном пространстве, они узки, сильно деформированы и линии уровня имеют извилистый характер.

Функции, у которых линии уровня образуют сильно вытянутые замкнутые кривые, называют овражными, т.к. такие линии уровня соответствуют реальным оврагам.

Рис.15.3. Поиск минимума для овражных функций.

Отметим, что хорошими специалистами по построению линий уровня являются ослы, т.к. они чувствительны к степени отклонения их пути от горизонтали. В гористой местности с помощью ослов выбирают трассы каналов.

Вернемся к рис.14.3. Стрелки на линиях дают направление антиградиентов для некоторых точек. Видим, что только для точек A, B, C, D эти стрелки дают правильное направление для поиска минимума, а для других точек одномерный поиск будет выводить на дно оврага, причем приближение к минимуму будет очень медленным. Траектория поиска будет зигзагообразной и это показано на рисунке. Ее можно представить себе как перекатывание шарика с одного склона на другой при общей тенденции спуска в точку минимума . Это же движение можно представить как поиск в полной темноте источника воды на дне очень узкого, длинного оврага путем пробных шагов.

Такие зигзагообразные траектории резко увеличивают количество шагов при поиске минимума.

Появление оврагов в целевых функциях можно объяснить взаимным влиянием входных параметров, плохим выбором их масштабов изменения, различием в чувствительности функции к изменению параметров. Обычно на дне оврага все параметры примерно одинаково влияют на целевую функцию, а на склонах существенно влияние лишь нескольких из рассмариваемых.

Строгая проверка наличия оврагов очень сложна и требует вычисления собственных значений матрицы Гессе (14.5), которые изменяются при движении точки поиска вместе с изменением матрицы Гессе. Овражному характеру соответствует существенное различие модулей собственных значений.

Как правило, в практических задачах овраги есть, но т.к. исследовать их наличие очень сложно, то предпочитают не заниматься этим, а использовать методы поиска, которые сохраняют свою эффективность для овражных функций.

В заключение этого раздела рассмотрим кратко вопрос о масштабировании для целевых функций. Масштабирование обычно выполняется заменой переменных и при этом от переменных, отражающих физическую сущность задачи, переходят к новым, более подходящим для метода ее решения. Например, мы использовали целые переменные вместо времени в лекциях по цифровой обработке.

В некоторых задачах простое изменение диапазона входных параметров может устранить овражный характер целевых функций. Для этого рекомендуется нормировать входные параметры так, чтобы область поиска для каждой переменной находилась в диапазоне от -1 до 1. Например, если - это оценка для области изменения переменной, то замена

,

(15.3)

дает . Отметим, что эта рекомендация по нормированию переменных полезна и для регрессионных моделей раздела 2.2.

Значения целевой функции полезно масштабировать для уменьшения влияния погрешностей. Плохо, если значения F всюду близки к нулю или содержат большую постоянную составляющую. Желательно, чтобы в окрестности искомой точки модули значений целевой функции были величинами порядка единиц или меньше. Это связано с тем, что в реальных алгоритмах используются как относительные погрешности, так и абсолютные.

Соседние файлы в папке Лекции