Algorytm Levenberga-Marquardta – algorytm optymalizacji nieliniowej. Jest to algorytm iteracyjny, łączący w sobie cechy metody największego spadku i metody Gaussa-Newtona.
Sformułowanie problemu Mając daną serię danych gdzie szukamy dopasowania gdzie – wektor parametrów. Zakładamy, że najlepszym dopasowaniem jest to minimalizujące funkcjonał:
Algorytm Levenberga-Marquardta w ogólności znajduje rozwiązanie zadania optymalizacji nieliniowej funkcji dającej się zapisać w postaci:
gdzie i zakładamy, że Jak łatwo zauważyć, funkcjonał daje się zapisać w taki sposób. Dla uproszczenia, przedstawmy funkcje jako wektor (zwany wektorem rezydualnym). Wtedy Pochodne funkcji można zapisać przy użyciu Macierzy Jacobiego funkcji zdefiniowanego jako W ogólnym przypadku gradient funkcji można zapisać:
a jej Macierz Hessego:
W przypadku, gdy funkcje można aproksymować funkcjami liniowymi w otoczeniu interesującego nas punktu (wtedy jest bliskie zeru), lub gdy jest małe, hesjan funkcji przyjmuje prostszą postać:
a więc hesjan można otrzymać wprost mając dany jakobian wektora rezydualnego co jest charakterystyczne dla zadania najmniejszych kwadratów.
Opis metody Najprostszym podejściem do problemu minimalizacji funkcji jest metoda największego spadku, opisana schematem: