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

В этом варианте градиентного метода величина шага α 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 = { xR m: 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 — симметричный оператор в R m, а b, cR m, то шаг α n метода наискорейшего спуска задается явной формулой

α n = || Axn + b ||2 (A 2 xn + 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 *.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: