Метод наискорейшего спуска

Лекция 5. Метод сопряженных градиентов

Метод сопряженных градиентов

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

Рассмотрим следующую функцию:

Метод наискорейшего спуска - student2.ru (5.1)

Несложно убедиться, что условием минимума этой функции является выполнение системы линейных уравнений:

Метод наискорейшего спуска - student2.ru (5.2)

Таким образом, решение СЛАУ (5.1) и отыскание минимума функции (5.1) являются эквивалентными задачами.

Градиент функции (5.1):

Метод наискорейшего спуска - student2.ru (5.4)

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

Отсюда следует, что если мы имеем какое-то очередное приближение вектора неизвестных Метод наискорейшего спуска - student2.ru , то следующее приближение Метод наискорейшего спуска - student2.ru логично искать в направлении, противоположном направлению градиента:

Метод наискорейшего спуска - student2.ru (5.5)

Введем обозначение:

Метод наискорейшего спуска - student2.ru (5.6)

Тогда (5.5) принимает простой вид:

Метод наискорейшего спуска - student2.ru (5.7)

Вектор Метод наискорейшего спуска - student2.ru называют вектором невязок системы Метод наискорейшего спуска - student2.ru . Смысл названия следующий. Если бы Метод наискорейшего спуска - student2.ru являлся решением этой системы, то, как видно из (5.6) вектор невязок был бы тождественно равен нулю. Таким образом, наличие ненулевых элементов в Метод наискорейшего спуска - student2.ru говорит о том, что Метод наискорейшего спуска - student2.ru не является решением системы Метод наискорейшего спуска - student2.ru . Геометрический смысл вектора невязки – направление, в котором функция (5.1) убывает быстрее всего. Или, как иногда говорят, направление наискорейшего спуска.

Остается определить, каким следует принять число Метод наискорейшего спуска - student2.ru . То есть, на какое расстояние следует переместиться от Метод наискорейшего спуска - student2.ru в направлении Метод наискорейшего спуска - student2.ru , чтобы получить наилучшее возможное приближение для очередного приближения Метод наискорейшего спуска - student2.ru ?

Этот вопрос решается просто. Подставим в функцию (5.1) выражение для очередного приближения (5.7):

Метод наискорейшего спуска - student2.ru (5.8)

Поскольку Метод наискорейшего спуска - student2.ru‑ это фиксированный вектор предыдущего приближения, выражение (5.8) представляет собой функцию одной переменной Метод наискорейшего спуска - student2.ru . А условие минимума такой функции:

Метод наискорейшего спуска - student2.ru

позволяет получить выражение для Метод наискорейшего спуска - student2.ru :

Метод наискорейшего спуска - student2.ru (5.9)

Это значение Метод наискорейшего спуска - student2.ru гарантирует, что для очередного приближения Метод наискорейшего спуска - student2.ru значение функции (5.1) будет меньше, чем для предыдущего. Заметим, что при получении формулы (5.9) использовался тот факт, что матрица Метод наискорейшего спуска - student2.ru является симметричной.

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

Метод наискорейшего спуска

1. Выбирается вектор начального приближения Метод наискорейшего спуска - student2.ru .

2. Для Метод наискорейшего спуска - student2.ru выполняются следующие вычисления

Метод наискорейшего спуска - student2.ru ,

Метод наискорейшего спуска - student2.ru , (5.10)

Метод наискорейшего спуска - student2.ru

3. Останавливать итерационный процесс следует, когда норма очередного вектора невязки Метод наискорейшего спуска - student2.ru окажется меньше заданной малой величины.

Обратите внимание на то, что для проведения вычислений не нужна вся матрица Метод наискорейшего спуска - student2.ru целиком. Достаточно иметь возможность для любого вектора получить произведение матрицы на этот вектор. Эта особенность алгоритма особенно важна для больших разреженных матриц.

Этот алгоритм выгладит очень простым. Но должен огорчить читателя. Это еще не конец параграфа. Сформулированный метод – это еще не метод сопряженных градиентов. И этот метод – метод наискорейшего спуска – обладает существенным недостатком.

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

Причины этого можно наглядно объяснить следующим образом. Для таких задач линии уровня функции (5.1) представляют собой сильно вытянутые замкнутые линии (см рис.5.1). Как показано на этом рисунке, возникает ситуация, когда направление наискорейшего спуска направлено не к точке минимума функции (5.1), а почти перпендикулярно к желаемому направлению. Графически итерационный процесс в этом случае можно представить в виде ломаной из коротких отрезков. Каждый отрезок лишь незначительно приближает к искомому решению.


Рис.5.1

Метод сопряженных градиентов является усовершенствованием рассмотренного метода наискорейшего спуска.

Пусть очередное приближение решения системы (5.2): Метод наискорейшего спуска - student2.ru . Очередное приближение теперь ищется в виде:

Метод наискорейшего спуска - student2.ru (5.11)

Здесь вектор Метод наискорейшего спуска - student2.ru , который называется «вектором направления» и определяется следующим образом.

Метод наискорейшего спуска - student2.ru (5.12)

где Метод наискорейшего спуска - student2.ru ‑ вектор направления предыдущей итерации.

Число Метод наискорейшего спуска - student2.ru определяется из условия А-сопряженности вектора направления Метод наискорейшего спуска - student2.ru к вектору Метод наискорейшего спуска - student2.ru . Под А-сопряженностью этих векторов понимается соотношение:

Метод наискорейшего спуска - student2.ru (5.13)

Несложные выкладки позволяют получить из (5.13) выражение для Метод наискорейшего спуска - student2.ru :

Метод наискорейшего спуска - student2.ru (5.14)

Величина Метод наискорейшего спуска - student2.ru определяется из тех же соображений, что и в методе наискорейшего спуска. Подставляя (5.11) в функцию (5.1) получим функцию одной переменной:

Метод наискорейшего спуска - student2.ru (5.15)

Условие минимума этой функции:

Метод наискорейшего спуска - student2.ru

Позволяет получить выражение для Метод наискорейшего спуска - student2.ru :

Метод наискорейшего спуска - student2.ru (5.16)

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

Наши рекомендации