В исчислении метод Ньютона (также называемый Ньютоном–Рафсоном ) — это итерационный метод нахождения корней дифференцируемой функции , которые являются решениями уравнения . Однако для оптимизации дважды дифференцируемой наша цель — найти корни . Поэтому мы можем использовать метод Ньютона на ее производной, чтобы найти решения для , также известные как критические точки . Эти решения могут быть минимумами, максимумами или седловыми точками; см. раздел «Несколько переменных» в Критическая точка (математика) , а также раздел «Геометрическая интерпретация» в этой статье. Это актуально в оптимизации , которая направлена на поиск (глобальных) минимумов функции .
Центральная проблема оптимизации — минимизация функций. Рассмотрим сначала случай одномерных функций, т. е. функций одной действительной переменной. Позже мы рассмотрим более общий и практически более полезный многомерный случай.
Имея дважды дифференцируемую функцию , мы стремимся решить задачу оптимизации
Метод Ньютона пытается решить эту проблему, строя последовательность из начального предположения (начальной точки) , которая сходится к минимизатору с помощью последовательности приближений Тейлора второго порядка вокруг итераций. Разложение Тейлора второго порядка для f вокруг есть
Следующая итерация определяется так, чтобы минимизировать это квадратичное приближение в , и устанавливая . Если вторая производная положительна, квадратичное приближение является выпуклой функцией , и ее минимум можно найти, установив производную в ноль. Так как
минимум достигается для
Собирая все вместе, метод Ньютона выполняет итерацию
Геометрическая интерпретация метода Ньютона заключается в том, что на каждой итерации он сводится к подгонке параболы к графику в пробном значении , имеющему тот же наклон и кривизну, что и график в этой точке, а затем переходу к максимуму или минимуму этой параболы (в более высоких измерениях это также может быть седловой точкой ), см. ниже. Обратите внимание, что если это квадратичная функция, то точный экстремум находится за один шаг.
Приведенную выше итеративную схему можно обобщить на размерности, заменив производную градиентом ( разные авторы используют разные обозначения для градиента, включая ), а обратную величину второй производной — обратной матрицей Гессе (разные авторы используют разные обозначения для Гессе, включая ). Таким образом, получается итеративная схема
Часто метод Ньютона модифицируют, чтобы включить небольшой размер шага вместо :
Это часто делается для того, чтобы гарантировать, что условия Вульфа или гораздо более простое и эффективное условие Армийо выполняются на каждом шаге метода. Для размеров шага, отличных от 1, метод часто называют ослабленным или затухающим методом Ньютона.
Если f — сильно выпуклая функция с липшицевым гессианом, то при условии, что достаточно близко к , последовательность , сгенерированная методом Ньютона, будет сходиться к (обязательно единственному) минимизатору квадратично быстро. [1] То есть,
Нахождение инверсии гессиана в больших размерностях для вычисления направления Ньютона может быть дорогостоящей операцией. В таких случаях вместо прямого инвертирования гессиана лучше вычислить вектор как решение системы линейных уравнений
которые могут быть решены различными факторизациями или приближенно (но с большой точностью) с использованием итерационных методов . Многие из этих методов применимы только к определенным типам уравнений, например, факторизация Холецкого и сопряженный градиент будут работать только если — положительно определенная матрица. Хотя это может показаться ограничением, это часто является полезным индикатором того, что что-то пошло не так; например, если приближается задача минимизации, и она не является положительно определенной, то итерации сходятся к седловой точке , а не к минимуму.
С другой стороны, если выполняется ограниченная оптимизация (например, с использованием множителей Лагранжа ), то задача может стать задачей нахождения седловой точки, в этом случае гессиан будет симметричным неопределенным, и решение необходимо будет выполнять с помощью метода, который будет работать для таких задач, например, варианта факторизации Холецкого или метода сопряженных остатков .
Существуют также различные квазиньютоновские методы , в которых приближение для гессиана (или его обратной функции) строится на основе изменений градиента.
Если гессиан близок к необратимой матрице , то инвертированный гессиан может быть численно нестабилен, а решение может расходиться. В этом случае в прошлом были испробованы некоторые обходные пути, которые имели разный успех с определенными проблемами. Например, можно изменить гессиан, добавив матрицу коррекции, чтобы сделать его положительно определенным. Один из подходов заключается в диагонализации гессиана и выборе так, чтобы он имел те же собственные векторы, что и гессиан, но с заменой каждого отрицательного собственного значения на .
Подход, используемый в алгоритме Левенберга–Марквардта (который использует приближенный гессиан), заключается в добавлении к гессиану масштабированной единичной матрицы, с масштабом, корректируемым на каждой итерации по мере необходимости. Для больших и малых гессианов итерации будут вести себя как градиентный спуск с размером шага . Это приводит к более медленной, но более надежной сходимости, когда гессиан не предоставляет полезной информации.
Метод Ньютона в его первоначальной версии имеет несколько оговорок:
Популярные модификации метода Ньютона, такие как квазиньютоновские методы или алгоритм Левенберга-Марквардта, упомянутые выше, также имеют оговорки:
Например, обычно требуется, чтобы функция стоимости была (сильно) выпуклой, а гессиан был глобально ограничен или липшицев, например, это упоминается в разделе «Сходимость» в этой статье. Если посмотреть на статьи Левенберга и Марквардта в справочнике по алгоритму Левенберга–Марквардта , которые являются первоисточниками для упомянутого метода, можно увидеть, что в статье Левенберга по сути нет теоретического анализа, в то время как статья Марквардта анализирует только локальную ситуацию и не доказывает результат глобальной сходимости. Можно сравнить с методом обратного линейного поиска для градиентного спуска, который имеет хорошую теоретическую гарантию при более общих предположениях и может быть реализован и хорошо работает в практических крупномасштабных задачах, таких как глубокие нейронные сети.