Это не официальный сайт wikipedia.org 01.01.2023

Квазиньютоновские методы — Википедия

Квазиньютоновские методы

Квазиньютоновские методы — методы оптимизации, основанные на накоплении информации о кривизне целевой функции по наблюдениям за изменением градиента, чем принципиально отличаются от ньютоновских методов. Класс квазиньютоновских методов исключает явное формирование матрицы Гессе, заменяя её некоторым приближением.

ОписаниеПравить

Разложим градиент g ( x k )   исходной функции в ряд Тейлора в окрестности точки очередного приближения x k   по степеням следующего шага алгоритма s k  :

g ( x k + s k ) g ( x k ) + G ( x k ) s k  

Тогда оценка матрицы Гессе B k + 1   должна удовлетворять равенству:

B k + 1 s k = y k  ,

где y k = g ( x k + s k ) g ( x k )  

это условие называют квазиньютоновским.

На каждой итерации с помощью B k   определяется следующее направление поиска p k  , и матрица B   обновляется с учётом вновь полученной информации о кривизне:

B k p k = g ( x k )  
B k + 1 = B k + U k  ,

где U k   — матрица, характеризующая поправку, вносимую на очередном шаге.

В качестве начального приближения B 0   кладут единичную матрицу, таким образом первое направление p 0   будет в точности совпадать с направлением наискорейшего спуска.

Поправка единичного рангаПравить

Один шаг алгоритма даёт информацию о кривизне вдоль одного направления, поэтому ранг матрицы U k   полагают малым, и даже единичным:

B k + 1 = B k + u v T  

где u   и v   некоторые вектора.

Тогда, квазиньютоновское условие примет вид:

( B k + u v T ) s k = y k  
u ( v T s k ) = y k B k s k  

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

u = 1 v T s k ( y k B k s k )  
B k + 1 = B k + 1 v T s k ( y k B k s k ) v T  

Из соображений симметричности матрицы Гессе, вектор v   берут коллинеарным u  :

B k + 1 = B k + 1 ( y k B k s k ) T s k ( y k B k s k ) ( y k B k s k ) T  

Полученное уравнение называется симметричной формулой ранга один.

Поправки ранга дваПравить

Один из способов конструирования поправок ранга два заключается в построении сходящейся последовательности матриц B ( j )  . В качестве начального значения B ( 0 )   берут B k  , B ( 1 )   вычисляют по формуле:

B ( 1 ) = B ( 0 ) + 1 v T s k ( y k B ( 0 ) s k ) v T  

После чего её симметризуют:

B ( 2 ) = B ( 1 ) + B ( 1 ) T 2  

Однако полученная матрица больше не удовлетворяет квазиньютоновскому условию. Чтобы это исправить, процедуру повторяют. В результате на j  -м шаге:

B ( 2 j + 1 ) = B ( 2 j ) + 1 v T s k ( y k B ( 2 j ) s k ) v T  
B ( 2 j + 2 ) = B ( 2 j + 1 ) + B ( 2 j + 1 ) T 2  

Предел этой последовательности равен:

B k + 1 = B k + 1 v T s k [ ( y k B k s k ) v T + v ( y k B k s k ) T ] ( y k B k s k ) T s k ( v T s k ) 2 v v T  

При выборе различных v   (не ортогональных s k  ) получаются различные формулы пересчёта матрицы B  :

  • v = y k B k s k   приводит к симметричной формуле ранга один;
  • v = s k   приводит к симметричной формуле Пауэлла — Бройдена (PSB);
  • v = y k   приводит к симметричной формуле Девидона — Флетчера — Пауэлла (DFP):
B k + 1 = B k 1 s k T B k s k B k s k s k T B k T + 1 y k T s k y k y k T + ( s k T B k s k ) ω k ω k T  ,

где ω k = 1 y k T s k y k 1 s k T B k s k B k s k  

Нетрудно проверить, что ω k   ортогонален s k  . Таким образом добавление слагаемого ω k ω k T   не нарушит ни квазиньютоновского условия, ни условия симметричности. Поэтому проводился ряд теоретических исследований, подвергавших последнее слагаемое масштабированию на предмет получения наилучшего приближения. В результате была принята точка зрения, что наилучшим вариантом является отвечающий полному отсутствию последнего слагаемого. Этот вариант пересчёта известен под именем формулы Бройдена — Флетчера — Гольдфарба — Шанно (BFGS):

B k + 1 = B k 1 s k T B k s k B k s k s k T B k T + 1 y k T s k y k y k T  

ЛитератураПравить

  • Гилл Ф., Мюррей У., Райт М. Практическая оптимизация = practical optimization.