Jump to content

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

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

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

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

Метод назван в честь математиков Карла Фридриха Гаусса и Исаака Ньютона и впервые появился в работе Гаусса 1809 года «Теория движения небесных тел в конических сечениях, окружающих Солнце» . [ 2 ]

Описание

[ редактировать ]

Данный функции (часто называемые остатками) переменные с алгоритм Гаусса – Ньютона итеративно находит значение которые минимизируют сумму квадратов [ 3 ]

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

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

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

На каждой итерации обновление можно найти, переставив предыдущее уравнение в следующие два шага:

С заменами , , и , это превращается в обычное матричное уравнение вида , которую затем можно решить различными методами (см. Примечания ).

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

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

При подборе данных, где цель состоит в том, чтобы найти параметры такая, что заданная модельная функция лучше всего подходит для некоторых точек данных , функции это остатки :

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

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

Примечания

[ редактировать ]

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

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

с . Задача найти минимизация суммы квадратов правой части; то есть,

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

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

Когда сложный следует использовать сопряженную форму: .

Расчетная кривая, полученная с помощью и (синим цветом) в сравнении с наблюдаемыми данными (красным цветом)

В этом примере алгоритм Гаусса-Ньютона будет использоваться для подгонки модели к некоторым данным путем минимизации суммы квадратов ошибок между данными и предсказаниями модели.

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

я 1 2 3 4 5 6 7
[ С ] 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 после пятой итерации. График на рисунке справа показывает кривую, определенную моделью для оптимальных параметров с учетом наблюдаемых данных.

Свойства сходимости

[ редактировать ]

Итерация Гаусса-Ньютона гарантированно сходится к точке локального минимума. при 4 условиях: [ 4 ] Функции дважды непрерывно дифференцируемы в открытом выпуклом множестве , якобиан имеет полный ранг столбца, начальная итерация рядом и локальное минимальное значение мал. Сходимость является квадратичной, если .

Это можно показать [ 5 ] что приращение Δ является направлением спуска для S алгоритм сходится, то пределом является стационарная точка S и, если . Для большого минимального значения Однако сходимость не гарантируется, даже локальная сходимость, как в методе Ньютона , или сходимость при обычных условиях Вульфа. [ 6 ]

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

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

Решение переопределенных систем уравнений

[ редактировать ]

Итерация Гаусса-Ньютона является эффективным методом решения переопределенных систем уравнений вида с и где — это Мура-Пенроуза (также известная как псевдообратная ) обратная матрица Якобиана из . Его можно считать расширением метода Ньютона , и он обладает той же локальной квадратичной сходимостью. [ 4 ] к изолированным регулярным решениям.

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

Вывод из метода Ньютона

[ редактировать ]

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

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

где g обозначает градиента S а , H обозначает Гессе S. вектор матрицу

С , градиент определяется выражением

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

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

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

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

Сходимость метода Гаусса–Ньютона не гарантируется во всех случаях. Приближение

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

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

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

[ редактировать ]

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

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

В случаях, когда направление вектора сдвига таково, что оптимальная доля α близка к нулю, альтернативным методом обработки расхождения является использование алгоритма Левенберга-Марквардта , метода доверительной области . [ 3 ] Нормальные уравнения изменяются таким образом, что вектор приращения поворачивается в направлении наибольшего спуска :

где D — положительная диагональная матрица. Обратите внимание, что когда D является единичной матрицей I и , затем , поэтому направление Δ приближается к направлению отрицательного градиента .

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

Масштабная оптимизация

[ редактировать ]

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

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

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

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

[ редактировать ]

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

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

Пример реализации

[ редактировать ]

Следующая реализация в Julia предоставляет один метод, который использует предоставленный якобиан, а другой — вычисления с автоматическим дифференцированием .

"""
    gaussnewton(r,J,β₀,maxiter,tol)

Perform Gauss-Newton optimization to minimize the residual function `r` with Jacobian `J` starting from `β₀`. The algorithm terminates when the norm of the step is less than `tol` or after `maxiter` iterations.
"""
function gaussnewton(r,J,β₀,maxiter,tol)
    β = copy(β₀)
    for _ in 1:maxiter
         = J(β);
        Δ  = -('*) \ ('*r(β)) 
        β += Δ
        if sqrt(sum(abs2,Δ)) < tol
            break
        end
    end
    return β
end

import AbstractDifferentiation as AD, Zygote
backend = AD.ZygoteBackend() # other backends are available

"""
    gaussnewton(r,β₀,maxiter,tol)

Perform Gauss-Newton optimization to minimize the residual function `r` starting from `β₀`. The relevant Jacobian is calculated using automatic differentiation. The algorithm terminates when the norm of the step is less than `tol` or after `maxiter` iterations.
"""
function gaussnewton(r,β₀,maxiter,tol)
    β = copy(β₀)
    for _ in 1:maxiter
        ,  = AD.value_and_jacobian(backend,r,β)
        Δ  = -([1]'*[1]) \ ([1]'*) 
        β += Δ
        if sqrt(sum(abs2,Δ)) < tol
            break
        end
    end
    return β
end

Примечания

[ редактировать ]
  1. ^ Миттельхаммер, Рон К.; Миллер, Дуглас Дж.; Судья Джордж Г. (2000 г.). Эконометрические основы . Кембридж: Издательство Кембриджского университета. стр. 197–198. ISBN  0-521-62394-4 .
  2. ^ Флудас, Христодулос А .; Пардалос, Панос М. (2008). Энциклопедия оптимизации . Спрингер. п. 1130. ИСБН  9780387747583 .
  3. ^ Перейти обратно: а б Бьорк (1996)
  4. ^ Перейти обратно: а б Дж. Э. Деннис-младший и Р.Б. Шнабель (1983). Численные методы неограниченной оптимизации и нелинейных уравнений . SIAM 1996 г., репродукция издания Prentice-Hall 1983 г. п. 222.
  5. ^ Бьорк (1996), с. 260.
  6. ^ Маскареньяс (2013), «Расхождение методов BFGS и Гаусса Ньютона», Mathematical Programming , 147 (1): 253–276, arXiv : 1309.7922 , doi : 10.1007/s10107-013-0720-6 , S2CID   14700106
  7. ^ Бьорк (1996), с. 341, 342.
  8. ^ Флетчер (1987), с. 113.
  9. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 4 августа 2016 г. Проверено 25 апреля 2014 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  10. ^ Нокедал (1999), с. 259.
  11. ^ Носедаль, Хорхе. (1999). Численная оптимизация . Райт, Стивен Дж., 1960-. Нью-Йорк: Спрингер. ISBN  0387227423 . OCLC   54849297 .
[ редактировать ]
  • Вероятность, статистика и оценка. Алгоритм подробно описан и применен к биологическому эксперименту, обсуждаемому в качестве примера в этой статье (стр. 84 с неопределенностями в расчетных значениях).

Реализации

[ редактировать ]
  • Artelys Knitro — нелинейный решатель с реализацией метода Гаусса–Ньютона. Он написан на C и имеет интерфейсы для C++/C#/Java/Python/MATLAB/R.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a772175d16bb482de2a7df437d7f76b5__1718124720
URL1:https://arc.ask3.ru/arc/aa/a7/b5/a772175d16bb482de2a7df437d7f76b5.html
Заголовок, (Title) документа по адресу, URL1:
Gauss–Newton algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)