Interested Article - Алгоритм Гаусса — Ньютона

Приближение кривой со случайным шумом асимметричной моделью пика используя алгоритм Гаусса — Ньютона с переменным коэффициентом затухания α.
Сверху: необработанные данные и модель.
Снизу: ход нормализованной суммы квадратов ошибок.

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

Задачи, для которых применяется нелинейный метод наименьших квадратов, возникают, например, при нелинейной регрессии , в которой ищутся параметры модели, которые наиболее соответствуют наблюдаемым величинам.

Метод назван именами математиков Карла Фридриха Гаусса и Исаака Ньютона .

Описание

Если задано m функций r = ( r 1 , …, r m ) (часто называемых невязками) от n переменных β = ( β 1 , …, β n ), при m n . Алгоритм Гаусса — Ньютона итеративно находит значения переменных, которые минимизируют сумму квадратов

Начав с некоторого начального приближения , метод осуществляет итерации

Здесь, если рассматривать r и β как вектор-столбцы, элементы матрицы Якоби равны

а символ означает транспонирование матрицы .

Если m = n , итерации упрощаются до

,

что является прямым обобщением одномерного метода Ньютона .

При аппроксимации данных, где целью является поиск параметров β , таких, что заданная модель функций y = f ( x , β ) наилучшим образом приближает точки данных ( x i , y i ), функции r i являются

Тогда метод Гаусса — Ньютона можно выразить в терминах якобиана J f функции f

Заметим, что является псевдообратной матрицей к .

Замечания

Требование m n в алгоритме необходимо, поскольку в другом случае матрица J r T J r не имеет обратной и нормальные уравнения нельзя решить (по меньшей мере однозначно).

Алгоритм Гаусса — Ньютона можно получить с помощью линейного приближения вектора функций r i . Используя теорему Тейлора , мы можем для каждой итерации записать:

,

где . Задача нахождения Δ, минимизирующего сумму квадратов в правой части, т.е.

,

является линейной задачей нахождения наименьших квадратов , которую можно решить явно, что даёт нормальные уравнения.

Нормальные уравнения — это m линейных уравнений по неизвестным приращениям Δ. Уравнения могут быть решены за один шаг, если использовать разложение Холецкого , или, лучше, QR-разложение матрицы J r . Для больших систем итеративный метод может оказаться более эффективным, если используются такие методы, как метод сопряжённых градиентов . Если имеется линейная зависимость столбцов матрицы J r , метод итераций завершается неудачей, поскольку J r T J r становится вырожденной.

Пример

Вычисленная кривая с и (синим цветом) и наблюдаемые данные (красным цветом).

В этом примере используется алгоритм Гаусса — Ньютона для построения модели данных путём минимизации суммы квадратов отклонений данных и модели.

В экспериментальной биологии изучение связей между концентрацией субстрата [ S ] и скоростью реакции в реакции энзимомодуляции, были получены следующие данные.

i 1 2 3 4 5 6 7
[ S ] 0.038 0.194 0.425 0.626 1.253 2.500 3.740
скорость 0.050 0.127 0.094 0.2122 0.2729 0.2665 0.3317

Нужно найти кривую (функцию-модель) вида

скорость ,

которая приближает наилучшим образом данные в смысле наименьших квадратов с параметрами и , которые следует найти.

Обозначим через и значения [ S ] и скорость из таблицы, . Пусть и . Мы будем искать и , такие, что сумма квадратов отклонений

минимальна.

Якобиан вектора остатков по неизвестным — это матрица с -ой строкой, имеющей элементы

Начав с начального приближения и после пяти итераций алгоритм Гаусса — Ньютона даёт оптимальные значения и . Сумма квадратов остатков уменьшается от начального значения 1.445 до 0.00784 к пятой итерации. График справа показывает кривую с оптимальными параметрами.

Сходимость

Можно показать , что направление увеличения Δ является для S , и, если алгоритм сходится, пределом будет стационарная точка для S . Однако сходимость не гарантируется, даже когда начальная точка , что происходит в или методе BFGS при обычных условиях Фольфе .

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

Полученное оптимальное решение — . (Настоящий оптимум — для , поскольку , в то время как .) Если , то задача, фактически, линейна и метод находит решение за одну итерацию. Если |λ| < 1, то метод сходится линейно и ошибка убывает со скоростью |λ| на каждой итерации. Однако, если |λ| > 1, то метод не сходится даже локально .

Алгоритм на основе метода Ньютона

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

Рекуррентное отношение метода Ньютона для минимизации функции S от параметров

где g означает вектор-градиент функции S , а H обозначает гессиан функции S . Поскольку , градиент задаётся равенством

Элементы гессиана вычисляются путём дифференцирования элементов градиента по

Метод Гаусса — Ньютона получается путём отбрасывания второй производной (второго члена в выражении). То есть гессиан аппроксимируется

,

где — элементы якобиана J r . Градиент и приближённый гессиан можно записать в матричной нотации

Эти выражения подставляются в рекуррентное отношение выше для получения операционных уравнений

Сходимость метода Гаусса — Ньютона в общем случае не гарантирована. Аппроксимация

,

которая должна выполняться для возможности отбрасывания членов со второй производной, может быть получена в двух случаях, для которых сходимость ожидается

  1. Значения функции малы по величине, по меньшей мере, рядом с минимумом.
  2. Функции лишь "слегка" нелинейны, то есть относительно малы по величине.

Улучшенные версии

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

.

Другими словами, вектор приращения слишком длинный, но он указывает направление «спуска», так что если пройти лишь часть пути, можно уменьшить значение функции S . Оптимальное значение может быть найдено с помощью алгоритма , то есть величина определяется путём нахождения значения, минимизирующего S с помощью на интервале .

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

,

где D — положительная диагональная матрица. Заметим, что если D является единичной матрицей E и , то . Таким образом, направление Δ приближает направление отрицательного градиента .

Так называемый параметр Марквардта может также быть оптимизирован путём линейного поиска, но смысла особого нет, поскольку вектор сдвига нужно каждый раз пересчитывать, когда меняется . Более эффективная стратегия такая. Если обнаруживается расхождение, увеличиваем параметр Марквардта, пока S убывает. Затем сохраняем значение между итерациями, но уменьшаем его, если возможно, пока не достигнем значения, когда параметр Марквардта не может быть обнулён. Минимизация S тогда становится стандартной минимизацией Гаусса — Ньютона.

Оптимизация больших задач

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

Чтобы этот подход работал, необходим как минимум эффективный метод вычисления произведения

для некоторого вектора p . Для хранения разреженной матрицы практично хранить строки матрицы в сжатом виде (т.е. без нулевых элементов), что делает прямое вычисление приведённого выше произведения (ввиду транспозиции) сложным. Однако, если определить c i как строку i матрицы , выполняется следующее отношение:

так что любая строка делает вклад в произведение аддитивно и независимо. Кроме того, это выражение хорошо изучено для применения параллельных вычислений . Заметим, что любая строка c i является градиентом соответствующей невязки r i . При учёте этого обстоятельства вышеприведённая формула подчёркивает факт, что невязки вносят вклад в результат независимо друг от друга.

Связанные алгоритмы

В квазиньютоновских методах , таких как методы или Бройдена — Флетчера — Голдфарба — Шэнно ( метод БФГШ ) приближение полного гессиана строится с помощью первых производных так, что после n уточнений метод по производительности близок к методу Ньютона. Заметим, что квазиньютоновские методы могут минимизировать вещественные функции общего вида, в то время как методы Гаусса — Ньютона, Левенберга — Марквардта и т.д. применимы только к нелинейным задачам наименьших квадратов.

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

Примечания

  1. .
  2. , с. 260.
  3. , с. 253–276.
  4. , с. 341, 342.
  5. , с. 113.
  6. .
  7. , с. 259-262.

Литература

  • A. Björck. Numerical methods for least squares problems. — Philadelphia: SIAM, 1996. — ISBN 0-89871-360-9 .
  • Roger Fletcher. . — 2nd. — New York: John Wiley & Sons , 1987. — ISBN 978-0-471-91547-8 .
  • Walter F. Mascarenhas. // Mathematical Programming. — 2013. — Т. 147 , вып. 1 . — doi : .
  • S. Gratton, A.S. Lawless, N.K. Nichols. . NUMERICAL ANALYSIS REPORT 9/04 (англ.) . The University of Reading (январь 2007). Дата обращения: 20 июля 2017. Архивировано из 4 августа 2016 года.
  • Jorge Nocedal, Stephen J. Wright. Numerical optimization / Peter Glynn, Stephen M. Robinson. — New York: Springer, 1999. — (Springer Series in Operations Research). — ISBN 0-387-98793-2 .

Ссылки

Реализации

  • . Система для решения нелинейных задач с импленментацией метода Гаусса — Ньютона. Система написана на C и имеет интерфейсы для C++/C#/Java/Python/MATLAB/R.


Источник —

Same as Алгоритм Гаусса — Ньютона