Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

5. Сопряженные направления.

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

(где есть -мерный вектор) с симметричной положительно определенной матрицей А процесс спуска сойдется точно к минимуму за конечное число шагов.

Положительно определенная матрица позволяет ввести норму вектора следующим образом:

Нетрудно проверить, что все аксиомы нормы при этом выполнены. Определение (31) означает, что под скалярным произведением двух векторов х и у теперь подразумевается величина Векторы, ортогональные в смысле этого скалярного произведения

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

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

а) Сначала рассмотрим, как применяется этот метод к квадратичной форме (30). Для этого нам потребуются некоторые свойства сопряженных векторов. Пусть имеется некоторая система попарно сопряженных векторов . Нормируем каждый из этих векторов в смысле нормы (31); тогда соотношения между ними примут вид

Докажем, что взаимно сопряженные векторы линейно-независимы.

Из равенства следует , что противоречит положительной определенности матрицы.

Это противоречие доказывает наше утверждение. Значит, система сопряженных векторов является базисом в -мерном пространстве. Для данной матрицы имеется бесчисленное множество базисов, состоящих из взаимно сопряженных векторов.

Пусть мы нашли некоторый сопряженный базис Выберем произвольную точку . Любое движение из этой точки можно разложить по сопряженному базису

Подставляя это выражение в правую часть формулы (30), преобразуем ее с учетом сопряженности базиса (33) к следующему виду:

Последняя сумма состоит из членов, каждый из которых соответствует только одной компоненте суммы (34). Это означает, что движение по одному из сопряженных направлений меняет только один член суммы (35), не затрагивая остальных.

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

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

б) Сопряженный базис можно построить способом параллельных касательных плоскостей.

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

Для этого воспользуемся выражением (35), где в сумме оставим только один член:

и положим . Отсюда следует уравнение, которому удовлетворяет точка минимума:

Пусть на какой-нибудь другой прямой, параллельной первой, функция принимает минимальное значение в точке гг; тогда аналогично найдем Вычитая это равенство из (36), получим

Следовательно, направление, соединяющее точки минимума на двух параллельных прямых, сопряжено направлению этих прямых.

Таким образом, всегда можно построить вектор, сопряженный произвольному заданному вектору . Для этого достаточно провести две прямые, параллельные и найти на каждой прямой минимум квадратичной формы (30). Вектор соединяющий эти минимумы, сопряжен Заметим, что прямая касается линии уровня в той точке, где функция на данной прямой принимает минимальное значение; с этим связано название способа.

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

Рассмотрим один цикл процесса построения сопряженного базиса. Пусть уже построен базис, в котором последние векторов взаимно сопряжены, а первые векторов не сопряжены последним. Найдем минимум квадратичной функции (30) в какой-нибудь -мерной плоскости, порожденной последними векторами базиса. Поскольку эти векторы взаимно сопряжены, то для этого достаточно произвольно выбрать точку и сделать из нее спуск поочередно по каждому из этих направлений (до минимума!). Точку минимума в этой плоскости обозначим через .

Теперь из точки сделаем поочередный спуск по первым векторам базиса. Этот спуск выведет траекторию из первой плоскости и приведет ее в некоторую точку

Из точки снова совершим по последним направлениям спуск, который приведет в точку Этот спуск означает точное нахождение минимума во второй плоскости, параллельной первой плоскости. Следовательно, направление сопряжено последним векторам базиса.

Если одно из несопряженных направлений в базисе заменить направлением то в новом базисе уже направление будет взаимно сопряжено.

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

в) Хотя понятие сопряженного базиса определено только для квадратичной функции, описанный выше процесс построен так, что его можно формально применять для произвольной функции. Разумеется, что при этом находить минимум вдоль направления надо методом парабол, не используя нигде формул, связанных с конкретным видом квадратичной функции (30).

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

Благодаря квадратичной сходимости метод сопряженных направлений позволяет находить минимум с высокой точностью. Методы с линейной сходимостью обычно определяют экстремальные значения координат менее точно.

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

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

Замечание 3. Описанный выше цикл метода включает два спуска по сопряженным направлениям и один — по несопряженным. Более выгоден цикл, при котором сразу после нахождения нового сопряженного направления по нему делают спуск из точки приходя в некоторую точку Тогда спуск из будет спуском в плоскости всех новых сопряженных направлений, т. е. его можно считать первой группой нового цикла спусков. Поэтому из точки сразу можно спускаться по несопряженным направлениям.

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

Метод сопряженных направлений является, по-видимому, наиболее эффективным методом спуска. Он неплохо работает и при вырожденном минимуме, и при разрешимых оврагах, и при наличии слабо наклонных участков рельефа — «плато»-, и при большом числе переменных — до двух десятков.

<< Предыдущий параграф Следующий параграф >>
Оглавление