Методы оптимизации

Назад § 4. Метод Ньютона Вперед

... это они от радости усложняют, из увлечения умственным трудом — раньше они голыми руками работали и без смысла в голове; пусть теперь радуются своему разуму.

— Ну, ладно, — понял Копенкин, — тогда им надо получше усложнять, следует в полной мере помочь. Ты выдумай им что-нибудь ... неясное.

А. Платонов. Чевенгур

Здесь описывается и обсуждается важнейший метод второго порядка - метод Ньютона.

4.1. Эвристические соображения, приводящие к методу Ньютона безусловной оптимизации.

Если исходить из того, что необходимым этапом нахождения решения задачи

f(x) → min,(1)

где f: RmR, является этап нахождения стационарных точек, т. е.точек, удовлетворяющих уравнению

F(x) f ′(x) = Θ, (2)

(обозначение F для f ′ мы будем сохранять на протяжении всего параграфа), то можно попытаться решать уравнение (2) известным методом Ньютона решения нелинейных уравнений

xn+1 = xn – [F ′(xn)]–1F(xn).(3)

Для задачи (1) этот метод называется методом Ньютона безусловной оптимизации и задается формулой

xn+1 = xn – [f ′′(xn)]–1f ′(xn).(4)

Формула (3) может быть выведена, исходя из следующих соображений. Пусть xn некоторое приближенное решение уравнения (2). Тогда если заменить функцию F в уравнении (2) ее линейным приближением

F(x) ≈ Φ(x) F(xn) + F ′(xn)(xxn)

и взять в качестве следующего приближения решение уравнения

Φ(x) = Θ,(5)

то мы получим формулу (3).

Применительно к задаче (1) эти соображения выглядят так. Пусть так же, как и в п. 3.2 у нас уже есть некоторое приближенное решение xn задачи (1). Заменим в ней функцию f ее приближением второго порядка:


f(x) ≈ φ(x) f(xn) + (f ′(xn), xxn) + 

1
2

(f ′′(xn)(xxn), xxn)

и в качестве следующего приближения возьмем решение задачи

φ(x) → min. (6)

З а д а ч а  4.1*. Докажите, что если f ′′(xn) > 0, то решение задачи (6) задается формулой (4).

Геометрическая интерпретация формул (3) и (4) приведена на рис. 10а и 10б.

Метод Ньютона для: а) уравнения (2); б) задачи (1)
Рис. 10.

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

4.2. Теорема о локальной сверхлинейной сходимости метода Ньютона.

Пусть f дважды непрерывно дифференцируема, а x* — невырожденная стационарная точка. Тогда найдется окрестность Vx* точки x* такая, что приближения (4), начатые из произвольной начальной точки x0Vx*, сверхлинейно сходятся к x*.

Д о к а з а т е л ь с т в о. Очевидно, F = f ′ ∈ C1 и поэтому


lim
xx*
||F ′(x) – F ′(x*)|| = 0.
(7)

Поскольку F ′(x*) невырожден, в силу (7) при x достаточно близких к x* невырожден и оператор F ′(x) и более того,


lim
xx*

||[F ′(x)]–1 – [F ′(x*)]–1|| = 0. 

Поэтому, в частности, при x достаточно близких к x*

||[F ′(x)]–1|| ≤ C.(8)

Далее, в силу того, что F дифференцируема, а x* — стационарная точка,

F(x) = F(x*) + F ′(x*)(xx*) + o(xx*) = F ′(x*)(xx*) + o(xx*),

Но тогда в силу (8)

xx* – [F ′(x)]–1F(x) = [F ′(x)]–1F ′(x)(xx*) – [F ′(x)]–1F(x) =

= [F ′(x)]–1[F ′(x)(xx*) – F(x)] = o(xx*).

или

x – [F ′(x)]–1F(x) – x* = o(xx*).

В частности, при x = xn

xn+1x* = xn – [F ′(xn)]–1F(xn) – x*

φ(xnx*) = o(xnx*).
(9)

Возьмем теперь в качестве Vx*, например, окрестность {xRm: ||ψ(xx*)|| ≤ ||xx*||/2}. В силу (9), очевидно, если x0Vx*, то


||xn+1x*|| ≤ 

1
2

||xnx*|| ≤ ... ≤ 

1
2n+1

||x0x*|| 

и, следовательно, xnx* при n→ ∞. Более того, для произвольного q ∈ (0, 1) найдется ε > 0 такое, что ||ψ(xx*)|| ≤ q||xx*|| при ||xx*|| ≤ ε. Но тогда, если ||xnx*|| ≤ε, то ||xn+1x*|| ≤ q||xnx*||. Из последнего утверждения очевидным образом вытекает нужное соотношение ||xnx*|| ≤ Cqn.

4.3. Обсуждение метода Ньютона.

Таким образом, метод Ньютона, с одной стороны, может сходиться с более высоким чем градиентный метод порядком, а, с другой стороны, для его сходимости требуются достаточно хорошие начальные приближения (по крайней мере так требуется в доказанной теореме). Простой геометрический пример (см. рис. 11) подтверждает эту особенность метода (мы приводим пример для уравнения (2); соответствующий пример для задачи (1) получается "интегрированием" рис. 11).

Расходимость метода Ньютона для уравнения (2)
Рис. 11.

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

К этому сводятся основные преимущества (высокий порядок сходимости) и недостатки (локальный характер сходимости и больший объем вычислений) метода Ньютона.

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

4.4. Теорема о квадратичной сходимости метода Ньютона.

Пусть fC2 и, более того, f ′′ удовлетворяет условию Липшица с константой L. Пусть f сильно выпукла с константой λ. Пусть Vx* окрестность решения задачи (1), состоящая из точек xRm таких, что

||f ′(x)|| < 2
L
.

Тогда для x0Vx* метод Ньютона квадратично сходится:


||xnx*|| ≤ 


L

q2n, 

где q = L||f ′(x0)||/2λ2 < 1.

Д о к а з а т е л ь с т в о. По теореме 2.9 и 2.10 в условиях нашей теоремы решение x* задачи (1) существует и единственно. Воспользуемся аналогом формулы Ньютона — Лейбница для функции f ′:


f ′(xn + h) – f ′(xn) = 

1

0

f ′′(xn + sh)h ds. 

Вычитая из обеих частей этого равенства f ′′(xn)h =01f ′′(xn)h dsи учитывая, что f ′′ удовлетворяет условию Липшица, получаем (ср.).


||f ′(xn + h) – f ′(xn) – f ′′(xn)h|| ≤  

||1

0

[f ′′(xn + sh) – f ′′(xn)]h ds

|| ≤

≤  1

0

||f ′′(xn + sh) – f ′′(xn)|| · || h|| ds 

1

0

Ls||h||2ds = 

L
2

||h||2. 

Положим в полученной оценке h = –[f ′′(xn)]–1f ′(xn):

||f ′(xn + h) – f ′(xn) + f ′′(xn)[f ′′(xn)]–1f ′(xn)|| = || f ′(xn+1)|| ≤

≤ L
2

||[f ′′(xn)]–1f ′(xn)||2 

L
2

||[f ′′(xn)]–1||2·||f ′(xn)||2. 

(10)

З а д а ч а  4.2*. Докажите, что если обратимый линейный оператор A на Rm удовлетворяет оценке A λ, то ||A–1|| ≤ λ–1.

Поскольку f сильно выпукла, в силу задачи 2.15, f ′′(xn) ≥ λ и поэтому (см. пред. задачу) ||[f ′′(xn)]–1|| ≤ λ–1. Продолжая неравенство (10), получаем


||f ′(xn+1)|| ≤ 

L
2

||f ′(xn)||2. 

(11)

С помощью (11) индукцией по n легко доказывается неравенство


||f ′(xn)|| ≤ 

(L
2
)2n–1



||f ′(x0)||2n = 

2
L
(L
2

||f ′(x0)||

)2n


 = 2
L

q2n. 

(12)

Наконец, в силу сильной выпуклости f, так как x* — решение задачи (1) и, следовательно, f ′(x*) = Θ,

0 ≥ f(x*) – f(xn) ≥ (f ′(xn), x* – xn) + λ||xnx*|| 2,

или

(f ′(xn), xnx*) ≥ λ|| xnx*|| 2.

Но тогда

λ||xnx*|| 2 ≤ (f ′(x*), xnx*) ≤ ||f ′(x*)|| · ||xnx*||,

откуда ||f ′(x*)|| ≥ λ|| xnx*||. Тогда из (12) следует нужное неравенство.

4.5. Продолжение обсуждения метода Ньютона.

Из доказанной теоремы следует, что чем меньше константа Липшица отображения xf ′′(x), т. е. чем ближе это отображение к константе, и, следовательно, чем ближе функция f к квадратичной, тем быстрее сходится метод Ньютона. В частности, если f квадратична: f(x) = (Ax, x)/2 + (b, x) + c, то метод Ньютона конечен, а именно, сходится за один шаг, причем из любой начальной точки.

З а д а ч а  4.3. Докажите.

Если снизить требования гладкости на функцию f, например, отказаться от условия Липшица для f ′′, то скорость сходимости, вообще говоря, падает.

З а д а ч а  4.4. Покажите, что для функции f(x) = |x|5/2 метод Ньютона сходится лишь линейно.

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

4.6. Методы Ньютона с регулировкой шага.

Эти методы еще называют методами Ньютона — Рафсона, или демпфированными методами Ньютона. Они строятся по аналогии с градиентными методами с переменным шагом. Общий вид их таков

xn+1 = xn – αn[f ′′(xn)]–1f ′(xn).

Длина шага может выбираться с помощью алгоритма дробления шага (см. п. 3.9), требуя, например, выполнения неравенства

f(xn+1) = f(xn –αn[f ′′(xn)]–1f ′(xn)) ≤

f(xn) – εαn(f ′(xn), [f ′′(xn)]–1f ′(xn)),
или, как в методе наискорейшего спуска полагая

αn = argminα≥0{f(xn – α[f ′′(xn)]–1f ′(xn))}.

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

4.7. Метод Левенберга — Маркардта.

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

xn+1 = argmin φ(x) argmin {f(xn) + (f ′(xn), xxn) +

1
2

(f ′′(xn)(xxn), xxn) + 

ln
2

||xxn||2}, 

где ln — некоторый параметр (вообще говоря, свой на каждом шаге). Первые три слагаемых в определении функции φ представляют собой квадратичную аппроксимацию функции f, а последнее слагаемое — "штраф", не позволяющий точке xn+1 уходить далеко от точки xn (с идеями метода штрафов мы еще столкнемся ниже). Минимум (по крайней мере, стационарная точка) функции φ вычисляется в явном виде из следующего уравнения (относительно x)

Θ = φ′(x) = f ′(xn) + f ′′(xn)(xxn) + ln(xxn).

Как легко видеть,

xn+1 = argmin φ(x) = xn – [f ′′(xn) + lnI]–1f ′(xn).(13)

Последняя формула и есть метод Левенберга — Маркардта.

Очевидно, что если ln = 0, то (13) представляет собой метод Ньютона, а если ln велико, то (поскольку [f ′′(xn) + lnI]–1 (ln)–1I при больших ln) формула (13) близка к градиентному методу. Поэтому, подбирая значения параметра ln, можно добиться, чтобы метод (13), во-первых, сходился глобально, и во-вторых, квадратично. Можно, например, выбирать ln из следующих соображений: угол между направлениями шага и антиградиента должен быть острым, а значение функции на каждом шаге должно квалифицировано убывать. В этом случае ln должно удовлетворять следующим условиям (здесь мы обозначаем "антинаправление" шага [f ′′(xn) + lnI]–1f ′(xn) через yn)

(yn, f ′(xn))
||yn|| · || f ′(xn)||
 ≥ ε1,

f(xn+1) ≤ f(xn) – ε2(yn, f ′(xn)),

где ε1 ∈ (0, 1) и ε2 ∈ (0, 1/2) — параметры.

4.8. Еще один недостаток метода Ньютона. Модифицированный метод Ньютона.

В некоторых задачах более существенным недостатком метода Ньютона является его большая вычислительная трудность: на каждом шаге требуется вычисление оператора (матрицы) f ′′(xn) и его (ее) обращение, что при больших размерностях стóит в вычислительном плане очень дорого. Один из способов обхода этих трудностей состоит в "замораживании" оператора f ′′(xn) — использовании на каждом шаге [f ′′(x0)]–1 взамен [f ′′(xn)]–1:

xn+1 = xn – [f ′′(x0)]–1f ′(xn).(14)

Геометрическая интерпретация модифицированного метода Ньютона (14) изображена на рис. 12.

Модифицированный метод Ньютона для: а) уравнения (2); б) задачи (1)
Рис. 12.

Можно показать, что при естественных ограничениях модифицированный метод Ньютона сходится лишь линейно (это плата за уменьшение объема вычислений). Можно также не замораживать оператор [f ′′(xn)]–1 навсегда, а обновлять его через определенное число шагов, скажем k:

xn+1 = xn – [f ′′(x[n/kk)]–1f ′(xn);(15)

здесь [a] в верхнем индексе обозначает целую часть числа a. Можно доказать, что если функция f сильно выпукла и f ′′ удовлетворяет условию Липшица, то

||xn+kx*|| ≤ C||xnx*||k+1,

т. е. за k шагов порядок погрешности уменьшается в k + 1 раз, что соответствует следующей оценке погрешности на каждом шаге:

||xn+1x*|| ≤ C||xnx*||kk+1.

Другими словами, метод (15) является методом kk+1-го порядка сходимости. Таким образом, метод (15) занимает промежуточное положение между методом Ньютона (k = 1) и модифицированным методом Ньютона (14) (k = ∞) как по скорости сходимости, так и по объему вычислений.

Другой способ уменьшения объема работы, связанного с вычислением функции f ′′(xn) описывается в следующем пункте.

4.9. Метод секущих.

Напомним, что метод секущих решения уравнения (2) заключается в приближенной замене функции F в этом уравнении не касательной y = F(xn) + F ′(xn)(xxn), а секущей гиперплоскостью. Например, в одномерном случае — прямой y = F(xn) + (F(xn) – F(xn–1))(xxn) /(xnxn–1) (см. рис. 13). Эта замена приводит (в скалярном случае!) к следующему методу решения задачи (1):


xn+1 = xn 

xnxn–1
f ′(xn) – f ′(xn–1)

f ′(xn), 

который и называется методом секущих. Известно, что для достаточно гладких выпуклых функций порядок сходимости этого метода равен τ, где τ = (√5 + 1)/2 ≈ 1.618 — известная константа (называемая золотым сечением).

Метод секущих для уравнения (2)
Рис. 13.

В многомерном случае поступают следующим образом. Пусть xn, xn–1, ..., xnm уже вычисленные m + 1 итерации. Для каждой компоненты fj функции f ′ (j = 1, ..., m) построим в Rm+1 гиперплоскость Sj, проходящую через m + 1 точку (xi, fj′(xi)) (i = nm, ..., n) графика этой компоненты. Пусть P "горизонтальная" проходящая через нуль гиперплоскость в Rm+1: P = {(x, y) ∈ Rm×R; y = 0}. В качестве xn+1 возьмем точку пересечения гиперплоскостей P и Sj:


xn+1P

(m

j = 1

Sj
)

(в общем положении эта точка единственна).

Несложные рассуждения показывают, что xn+1 можно вычислять так. Пусть α0, ..., αn — решение системы

m

i = 0

αif ′(xni) = 0,   

m

i = 0

αi = 1. 

(16)

Тогда


xn+1 = 

m

i = 0

αixni. 

Затем описанные действия повторяются для точек xn+1, xn, ..., xnm+1.

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

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


File based on translation from TEX by TTH, version 3.05.
Created 7 Jun 2002, 21: 38.