1.1 Теоретические основы. Методы спуска
Интеграл, который необходимо оценить, часто имеет вид
где C-контур, а ?-большая величина. Один из вариантов метода наискорейшего спуска деформирует контур интеграции C в новую траекторию интеграции C', так что выполняются следующие условия:
C' проходит через один или несколько нулей производной g'(z),
мнимая часть g(z) постоянна на C'.
Метод градиентного спуска ( МНС) также часто называют “самым крутым спуском” или “методом самого крутого спуска”; последний не следует путать с математическим методом аппроксимации одноименных интегралов. Как следует из названия, МНС использует самый крутой градиент для поиска оптимальной, т. е. максимальной или минимальной, точки для любой заданной функции. Следует отметить, что эта оптимальная точка может быть локальной или глобальной, как будет обсуждаться далее. Поскольку в настоящее время основное внимание уделяется вогнутым и выпуклым функциям, единый локальный и глобальный минимум (выпуклый) или максимум (вогнутый) идентичны. Для этого типа функции глобальный оптимум может быть получен итерационным способом с использованием дифференцирования, то есть градиент ?f(x) функции f(x) должен быть определен, Уравнение (1)
?fx=f?x (1)
Оптимальное решение получается, когда наклон градиента равен нулю, как ранее было предусмотрено в выражении (3.10). Согласно принципам МНС, минимальное значение функции и, следовательно, оптимальное решение (для задачи минимизации) достигается наиболее быстро, если направление поиска движется в отрицательном направлении градиента; наоборот, максимум получается при движении в положительном направлении градиента. Это означает, что для запуска метода необходимо выбрать начальную точку x0. Поэтому, чтобы свести проблему к минимуму, направление поиска должно быть ??f(x0). Используя метод МНС, теперь можно найти обновленную точку решения x1или, в более общем смысле, xi + 1, где i представляет номер итерации, как указано в уравнении (2).
(2)
, где sfi- это масштабный коэффициент, который может корректироваться от итерации к итерации. sfi, однако, не является тривиальной переменной, и ее следует выбирать с осторожностью, так как она, по сути, контролирует “агрессивность” каждой итерации. sfi аналогичен размеру шага; если он слишком велик, это может привести к нестабильности и расхождению; если выбран слишком маленький, это значительно увеличит количество итераций, то есть время, прежде чем будет найдено оптимальное решение. Увеличение времени может быть незначительным для небольших задач с одной переменной; однако это увеличение будет экспоненциальным по мере увеличения числа переменных. Существует несколько способов определения sfi; одним из наиболее распространенных методов является использование алгоритма линейного поиска. Предполагая на данный момент, что sfi был выбран соответствующим образом, идеология МНС заключается в том, что значение функции для каждой итерации будет последовательно уменьшаться (проблема минимизации) или увеличиваться (проблема максимизации), как в выражении (3).
(3)