Градиентный метод с дроблением шага.



В этом варианте градиентного метода величина шага αn на каждой итерации выбирается из условия выполнения неравенства

f(xn+1) = f(xn – αnf ′(xn)) ≤ f(xn) – εαn||f ′(xn)||2, (11)

где ε ∈ (0, 1) — некоторая заранее выбранная константа. Условие (11) гарантирует (если, конечно, такие αn удастся найти), что получающаяся последовательность будет релаксационной. Процедуру нахождения такого αn обычно оформляют так. Выбирается число δ ∈ (0, 1) и некоторый начальный шаг α0. Теперь для каждого n полагают αn = α0 и делают шаг градиентного метода. Если с таким αn условие (11) выполняется, то переходят к следующему n. Если же (11) не выполняется, то умножают αn на δ ("дробят шаг") и повторяют эту процедуру до тех пор пока неравенство (9) не будет выполняться. В условиях теоремы 1. эта процедура для каждого n за конечное число шагов приводит к нужному αn.

З а д а ч а 8. Докажите (воспользуйтесь неравенством (8)).

З а д а ч а 9. Сходится ли градиентный метод с дроблением шага для функции f(x) = |x|p при p ∈ (1, 2)?

Можно показать, что в условиях теоремы 2. градиентный метод с дроблением шага линейно сходится . Описанный алгоритм избавляет нас от проблемы выбора α на каждом шаге, заменяя ее на проблему выбора параметров ε, δ и α0, к которым градиентный метод менее чувствителен. При этом, разумеется, объем вычислений возрастает (в связи с необходимостью процедуры дробления шага), впрочем, не очень сильно, поскольку в большинстве задач основные вычислительные затраты ложатся на вычисление градиента.

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

Этот вариант градиентного метода основывается на выборе шага из следующего соображения. Из точки xn будем двигаться в направлении антиградиента до тех пор пока не достигнем минимума функции f на этом направлении, т. е. на луче L = {xRm: x = xn – αf ′(xn); α ≥ 0}:

αn = argminα[0, ∞)f(xn – αf ′(xn)). (12)


Рис. 5.

Другими словами, αn выбирается так, чтобы следующая итерация была точкой минимума функции f на луче L (см. рис. 5). Такой вариант градиентного метода называется методом наискорейшего спуска. Заметим, кстати, что в этом методе направления соседних шагов ортогональны. В самом деле, поскольку функция φ: α → f(xn – αf ′(xn)) достигает минимума при α = αn, точка αn является стационарной точкой функции φ:

0 = φ′(αn) = d dα f(xn – αf ′(xn)) | α=αn =

 

= (f ′(xn – αnf ′(xn)), –f ′(xn)) = –(f ′(xn+1), f ′(xn)).

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

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

З а д а ч а 10. Докажите, что если f(x) = (Ax, x)/2 + (b, x) + c, где A — симметричный оператор в Rm, а b, cRm, то шаг αn метода наискорейшего спуска задается явной формулой

αn = ||Axn + b||2 (A2xn + Ab, Axn + b) .

З а д а ч а 11. Пусть λ1, ..., λm — собственные числа оператора A. Покажите, что градиентный метод для функции f(x) = (Ax, x)/2 + (b, x) + c с шагами α0 = 1/λ1, α1 = 1/λ2, ..., αm–1 = 1/λm за m шагов дает точное решение: xm = x*.

 


Дата добавления: 2022-06-11; просмотров: 24; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!