Metoda Newtona (optymalizacja)
Metoda Newtona – algorytm numeryczny mający na celu znalezienie minimum zadanej funkcji celu.
Metodą Newtona nazywana jest również metoda rozwiązywanie równań nieliniowych. Oba pojęcia pomimo takiej samej nazwy odnoszą się do dwóch różnego rodzaju zadań numerycznych.
Algorytm
Zadanie
Metoda Newtona jest iteracyjnym algorytmem wyszukiwania minimum zadanej funkcji celu
gdzie
Założenia dla metody są następujące:
- (funkcja jest ciągła i podwójnie różniczkowalna),
- jest ściśle wypukła w badanej dziedzinie.
Opis
Na samym początku algorytmu wybierany jest punkt startowy W punkcie tym obliczany jest kierunek poszukiwań Punkt w następnym kroku obliczany jest według wzoru
jeśli obliczony punkt nie spełni warunku stopu algorytmu, całe postępowanie jest powtarzane.
Do obliczenia kierunku poszukiwań w metodzie Newtona wykorzystywane jest rozwinięcie Taylora funkcji celu względem danego punktu
gdzie jest gradientem funkcji, jest macierzą Hessego, zaś jest resztą o wielkości rzędu
Funkcję celu można zatem przybliżyć przez aproksymację kwadratową względem punktu
kierunek jest tak dobrany aby zminimalizować funkcję tzn.
Rekurencyjny wzór metody Newtona ma zatem postać
Algorytm można zapisać:
- Wybierz punkt startowy
- Sprawdź kryterium stopu, jeśli nie jest spełniony wykonaj ponownie krok 2.
Modyfikacja Newtona-Raphsona
Istnieje modyfikacja optymalizacyjnej metody Newtona, nazwana metodą Newtona-Raphsona polegającą na uwzględnieniu w kolejnych krokach minimalizacji kierunkowej, przez co zwiększony zostaje obszar zbieżności metody.
Algorytm w tym przypadku polega, analogicznie jak w pierwszej metodzie, na wyborze punktu startowego. Dla danego punktu obliczany jest kierunek poszukiwań oraz dokonywana jest na jego podstawie minimalizacja kierunkowa, tzn. obliczana jest taka wartość że
Kolejny krok obliczany jest ze wzoru
Algorytm można zapisać:
- Wybierz punkt startowy
- dokonaj minimalizacji względem
- Sprawdź kryterium stopu, jeśli nie jest spełniony – wykonaj ponownie krok 2.
Minimalizacja kierunkowa może być dokonana przez dowolną numeryczną metodę optymalizacji jednowymiarowej. Przykładowymi algorytmami mogą być: metoda złotego podziału, metoda dychotomii, metoda punktu środkowego.
Implementacja
Przy implementacji metody Newtona, przy określaniu kierunku poszukiwań zamiast obliczania odwrotności hesjanu warto skorzystać z numerycznych metod rozwiązywania układów równań liniowych
w celu obliczenia wartości wektora
Kryterium stopu
W celu określenia, czy punkt w danym kroku dostatecznie dobrze przybliża minimum funkcji celu w metodzie Newtona, można użyć następujących kryteriów stopu (dla zadanej precyzji oraz normy )
- (test stacjonarności),
Zbieżność
Metoda Newtona jest metodą o zbieżności kwadratowej. Oznacza to, iż przy spełnieniu założeń metody, odległości pomiędzy kolejnymi przybliżeniami a minimum funkcji maleją kwadratowo
Warto wspomnieć, iż metoda Newtona dla funkcji kwadratowych znajduje minimum już w pierwszym kroku – wynika to z faktu iż w metodzie funkcja celu jest lokalnie aproksymowana właśnie funkcją kwadratową.
Optymalizacja jednowymiarowa
Szczególnym przypadkiem metody Newtona jest jej jednowymiarowa wersja, która może być skutecznym sposobem minimalizacji kierunkowej. Zadanie numeryczne polega w takim przypadku na znalezieniu minimum jednowymiarowej funkcji celu
Funkcja musi być podwójnie różniczkowalna i ściśle wypukła w badanej dziedzinie.
Wzór rekurencyjny dla metody upraszcza się do postaci
gdzie oraz to kolejne pochodne funkcji
Zobacz też
- metoda gradientu prostego
- metoda najszybszego spadku
- metoda złotego podziału
- optymalizacja (matematyka)
Bibliografia
- Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne, Wydawnictwa Naukowo-Techniczne, 2006.
- Stachurski A., Wierzbicki A.: Podstawy optymalizacji, Oficyna Wydawnicza PW, 1999.