Metoda Newtona (optymalizacja)

Z testwiki
Wersja z dnia 13:06, 7 lut 2025 autorstwa imported>Michał Ski (poprawa ujedn., WP:SK, drobne redakcyjne, int.)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Metoda Newtonaalgorytm 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 f

f:D,

gdzie Dn.

Założenia dla metody są następujące:

Opis

Porównanie metody najszybszego spadku (linia zielona) z metodą Newtona (linia czerwona). Na rysunku widać linie poszukiwań minimum dla zadanej funkcji celu. Metoda Newtona używa informacji o krzywiźnie w celu zoptymalizowania ścieżki poszukiwań

Na samym początku algorytmu wybierany jest punkt startowy 𝐱𝟎D. W punkcie tym obliczany jest kierunek poszukiwań 𝐝𝐤D. 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 𝐱

f(𝐱+δ)=f(𝐱)+f(𝐱)Tδ+12δT2f(𝐱)δ+𝒪(δ2),

gdzie f(𝐱) jest gradientem funkcji, 2f(𝐱) jest macierzą Hessego, zaś 𝒪(δ2) jest resztą o wielkości rzędu δ2.

Funkcję celu można zatem przybliżyć przez aproksymację kwadratową Fk względem punktu 𝐱𝐤

Fk(δ)=f(𝐱𝐤)+f(𝐱𝐤)Tδ+12δT2f(𝐱𝐤)δ,

kierunek 𝐝𝐤 jest tak dobrany aby zminimalizować funkcję Fk, tzn.

𝐝𝐤=argminδFk(δ)=(2f(𝐱𝐤))1f(𝐱𝐤).

Rekurencyjny wzór metody Newtona ma zatem postać

𝐱𝐤+𝟏=𝐱𝐤(2f(𝐱𝐤))1f(𝐱𝐤).

Algorytm można zapisać:

  1. Wybierz punkt startowy 𝐱𝟎.
  2. 𝐝𝐤=(2f(𝐱𝐤))1f(𝐱𝐤).
  3. 𝐱𝐤+𝟏=𝐱𝐤+𝐝𝐤.
  4. 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ść αk, że

f(𝐱𝐤+αk𝐝𝐤)=minα>0f(𝐱𝐤+α𝐝𝐤).

Kolejny krok obliczany jest ze wzoru

𝐱𝐤+𝟏=𝐱𝐤+αk𝐝𝐤

Algorytm można zapisać:

  1. Wybierz punkt startowy 𝐱𝟎.
  2. 𝐝𝐤=(2f(𝐱𝐤))1f(𝐱𝐤).
  3. dokonaj minimalizacji f(𝐱𝐤+α𝐝𝐤) względem α.
  4. 𝐱𝐤+𝟏=𝐱𝐤+αk𝐝𝐤.
  5. 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 (2f(𝐱𝐤))1, można skorzystać z numerycznych metod rozwiązywania układów równań liniowych

2f(𝐱𝐤)𝐝𝐤=f(𝐱𝐤)

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 )

  • f(𝐱𝐤)ϵ (test stacjonarności),
  • 𝐱𝐤+𝟏𝐱𝐤ϵ.

Zbieżność

Metoda Newtona jest metodą o zbieżności kwadratowej. Oznacza to, że przy spełnieniu założeń metody, odległości pomiędzy kolejnymi przybliżeniami a minimum funkcji 𝐱* maleją kwadratowo

𝐱*𝐱𝐤+𝟏c𝐱*𝐱𝐤2.

Metoda Newtona dla funkcji kwadratowych znajduje minimum już w pierwszym kroku – wynika to z faktu, że 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 f

f:D.

Funkcja f musi być podwójnie różniczkowalna i ściśle wypukła w badanej dziedzinie.

Wzór rekurencyjny dla metody upraszcza się do postaci

xk+1=xkf(xk)f(xk),

gdzie f oraz f to kolejne pochodne funkcji f.

Zobacz też

Bibliografia

  • Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne, Wydawnictwa Naukowo-Techniczne, 2006.
  • Stachurski A., Wierzbicki A.: Podstawy optymalizacji, Oficyna Wydawnicza PW, 1999.

Linki zewnętrzne