Эта статья требует дополнительных ссылок для проверки . ( март 2016 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
В численном оптимизации , то Бройдена-Флетчера-Гольдфарб-Shanno ( BFGS ) Алгоритм представляет собой итерационный метод для решения безусловной нелинейной оптимизации проблемы. [1] Как и связанного метода Давидона-Fletcher-Powell , BFGS определяет направление спуска по предобусловливание на градиент с информацией кривизны. Он делает это, постепенно улучшая приближение к матрицам Гесса в функции потерь, полученные только из оценок градиента (или приближенных оценок градиента) с помощью обобщенного метода секущих . [2]
Поскольку корректура BFGS матрица кривизны не требует обращений матрицы , его вычислительная сложность только по сравнению с методом Ньютона . Также широко используется L-BFGS , версия BFGS с ограниченным объемом памяти, которая особенно подходит для задач с очень большим количеством переменных (например,> 1000). Вариант BFGS-B обрабатывает простые ограничения коробки. [3]
Алгоритм назван в честь Чарльза Джорджа Бройдена , Роджера Флетчера , Дональда Гольдфарба и Дэвида Шенно . [4] [5] [6] [7]
Обоснование [ править ]
Задача оптимизации состоит в том, чтобы минимизировать , где - вектор в , а - дифференцируемая скалярная функция. Нет никаких ограничений на значения, которые могут принимать.
Алгоритм начинается с начальной оценки оптимального значения и выполняется итеративно, чтобы получить лучшую оценку на каждом этапе.
Направление поиска р к на стадии к даются решением аналога уравнения Ньютона:
где - приближение к матрице Гессе , которая обновляется итеративно на каждом этапе, и - градиент функции, вычисленной при x k . Затем используется линейный поиск в направлении p k , чтобы найти следующую точку x k +1 путем минимизации по скаляру.
Квазиньютоновское условие, накладываемое на обновление, есть
Пусть и , тогда удовлетворяет , что является секущим уравнением. Условие кривизны должно быть выполнено, чтобы оно было положительно определенным, что можно проверить, предварительно умножив уравнение секущей на . Если функция не является сильно выпуклой, то условие должно выполняться явно.
Вместо того, чтобы требовать вычисления полной матрицы Гессе в точке, которая должна быть вычислена , приближенная Гессе на этапе k обновляется путем добавления двух матриц:
Обе и являются симметричными матрицами ранга один, но их сумма является матрицей обновления ранга два. Матрицы обновления BFGS и DFP отличаются от своего предшественника матрицей второго ранга. Другой более простой метод ранга один известен как симметричный метод ранга один , который не гарантирует положительной определенности . Для сохранения симметрии и положительной определенности форма обновления может быть выбрана как . Накладывая секущее состояние, . Выбирая и , получаем: [8]
Наконец, мы заменяем и в и получить уравнение обновления из :
Алгоритм [ править ]
Исходя из первоначального предположения и приближенной матрицы Гессе, следующие шаги повторяются по мере приближения к решению:
- Получите направление , решив .
- Выполните одномерную оптимизацию ( линейный поиск ), чтобы найти приемлемый размер шага в направлении, найденном на первом шаге. Если выполняется точный поиск строки, то . На практике обычно бывает достаточно неточного поиска по строке с приемлемым удовлетворением условий Вульфа .
- Установить и обновить .
- .
- .
обозначает минимизируемую целевую функцию. Конвергенция может быть проверена путем наблюдения за норму градиента . Если инициализируется с , первый шаг будет эквивалентен градиентному спуску , но дальнейшие шаги все больше и больше уточняются приближением к гессиану.
Первый шаг алгоритма выполняется с использованием обратной матрицы , которую можно эффективно получить, применив формулу Шермана – Моррисона к шагу 5 алгоритма, давая
Это может быть эффективно вычислено без временных матриц, признавая, что это симметрично, а что и являются скалярами, используя расширение, такое как
В задачах статистической оценки (таких как максимальное правдоподобие или байесовский вывод) вероятные интервалы или доверительные интервалы для решения могут быть оценены с помощью инверсии окончательной матрицы Гессе. Однако эти величины технически определяются истинной матрицей Гессе, и приближение BFGS может не сходиться к истинной матрице Гессе. [9]
Известные реализации [ править ]
- Программное обеспечение для крупномасштабной нелинейной оптимизации Artelys Knitro реализует, среди прочего, алгоритмы BFGS и L-BFGS.
- В GSL реализует BFGS в gsl_multimin_fdfminimizer_vector_bfgs2. [10]
- В MATLAB Optimization Toolbox функция fminunc [11] использует BFGS с кубическим линейным поиском, когда размер задачи установлен на «средний масштаб». [12]
- В R алгоритм BFGS (и версия L-BFGS-B, которая допускает ограничения бокса) реализованы как опция базовой функции optim (). [13]
- В SciPy функция scipy.optimize.fmin_bfgs реализует BFGS. [14] Также возможно запустить BFGS с использованием любого из алгоритмов L-BFGS , установив для параметра L очень большое число.
См. Также [ править ]
- Алгоритм BHHH
- Формула Дэвидона – Флетчера – Пауэлла
- Градиентный спуск
- L-BFGS
- Алгоритм Левенберга-Марквардта
- Метод Нелдера – Мида
- Поиск по шаблону (оптимизация)
- Квазиньютоновские методы
- Симметричный ранг один
Ссылки [ править ]
- ^ Флетчер, Роджер (1987), Практические методы оптимизации (2-е изд.), Нью-Йорк: John Wiley & Sons , ISBN 978-0-471-91547-8
- ^ Деннис, JE, младший ; Шнабель, Роберт Б. (1983), "Секущие методы неограниченной минимизации" , Численные методы неограниченной оптимизации и нелинейные уравнения , Энглвуд Клиффс, Нью-Джерси: Прентис-Холл, стр. 194–215, ISBN 0-13-627216-9
- ^ Берд, Ричард Х .; Лу, Пейхуан; Нокедаль, Хорхе; Чжу, Ciyou (1995), " Общество с ограниченной памятью Алгоритм Bound условной оптимизации" , SIAM журнал по научным вычислениям , 16 (5): 1190-1208, CiteSeerX 10.1.1.645.5814 , DOI : 10,1137 / 0916069
- ^ Бройдена, CG (1970), «О сходимости класса алгоритмов минимизации двойного ранга», журнал Института математики и ее приложения , 6 : 76-90, DOI : 10,1093 / имамат / 6.1.76
- ^ Fletcher, R. (1970), "Новый подход к переменным Metric алгоритмам", Computer Journal , 13 (3): 317-322, DOI : 10,1093 / comjnl / 13.3.317
- ^ Гольдфарб, Д. (1970), «Семейство обновлений переменных показателей, полученных с помощью вариационных средств», « Математика вычислений» , 24 (109): 23–26, DOI : 10.1090 / S0025-5718-1970-0258249-6
- ^ Shanno, Дэвид Ф. (июль 1970), "обусловленность квазиньютоновских методы минимизации функций", Математика вычислений , 24 (111): 647-656, DOI : 10.1090 / S0025-5718-1970-0274029-X , Руководство по ремонту 0274029
- ^ Флетчер, Роджер (1987), Практические методы оптимизации (2-е изд.), Нью-Йорк: John Wiley & Sons , ISBN 978-0-471-91547-8
- ^ Ге, Рен-пу; Пауэлл, MJD (1983). «Сходимость переменных метрических матриц при неограниченной оптимизации». Математическое программирование . 27 . 123. DOI : 10.1007 / BF02591941 .
- ^ "Научная библиотека GNU - документация GSL 2.6" . www.gnu.org . Проверено 22 ноября 2020 .
- ^ "Найдите минимум неограниченной функции многих переменных - MATLAB fminunc" . www.mathworks.com . Проверено 22 ноября 2020 .
- ^ «Неограниченная нелинейная оптимизация :: Алгоритмы и примеры оптимизации (Optimization Toolbox ™)» . web.archive.org . 2010-10-28 . Проверено 22 ноября 2020 .
- ^ "R: Оптимизация общего назначения" . stat.ethz.ch . Проверено 22 ноября 2020 .
- ^ "scipy.optimize.fmin_bfgs - Справочное руководство SciPy v1.5.4" . docs.scipy.org . Проверено 22 ноября 2020 .
Дальнейшее чтение [ править ]
- Авриэль, Мордехай (2003), нелинейное программирование: анализ и методы , Dover Publishing, ISBN 978-0-486-43227-4
- Боннанс, Ж. Фредерик; Гилберт, Дж. Чарльз; Лемарешаль, Клод ; Сагастизабал, Клаудиа А. (2006), «Ньютоновские методы», Численная оптимизация: теоретические и практические аспекты (второе издание), Берлин: Springer, стр. 51–66, ISBN. 3-540-35445-X
- Флетчер, Роджер (1987), Практические методы оптимизации (2-е изд.), Нью-Йорк: John Wiley & Sons , ISBN 978-0-471-91547-8
- Люенбергер, Дэвид Г .; Е, Инью (2008), Линейное и нелинейное программирование , Международная серия исследований операций и управления наукой, 116 (третье издание), Нью-Йорк: Springer, стр. Xiv + 546, ISBN 978-0-387-74502-2, MR 2423726
- Келли, CT (1999), Итерационные методы оптимизации , Филадельфия: Общество промышленной и прикладной математики, стр. 71–86, ISBN 0-89871-433-8
- Нокедаль, Хорхе; Райт, Стивен Дж. (2006), Численная оптимизация (2-е изд.), Берлин, Нью-Йорк: Springer-Verlag , ISBN 978-0-387-30303-1