Metoda gradientu prostego

Z testwiki
Wersja z dnia 18:59, 3 paź 2023 autorstwa imported>MalarzBOT (usuwanie szablonu {{Brak strony}})
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Dopracować Metoda gradientu prostegoalgorytm numeryczny mający na celu znalezienie minimum lokalnego zadanej funkcji celu.

Jest to jedna z prostszych metod optymalizacji. Przykładami innych metod są metoda najszybszego spadku, czy metoda Newtona.

Algorytm

Ilustracja działania metody gradientu prostego. Widoczne są pierwsze 4 kroki algorytmu dla dwuwymiarowej funkcji celu.

Zadanie

Metoda gradientu prostego jest iteracyjnym algorytmem wyszukiwania minimum zadanej funkcji celu f:

f:D,

gdzie Dn.

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

Opis

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:

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

jeśli obliczony punkt nie spełni warunku stopu algorytmu, całe postępowanie jest powtarzane.

Kierunkiem poszukiwań w metodzie gradientu prostego jest antygradient funkcji celu f(𝐱𝐤).

Współczynnik αk jest współczynnikiem długości kolejnych kroków. W wielu przypadkach przyjmuje się stałe niewielkie wartości:

αk=α=const.

Jeśli f jest funkcją kwadratową o dodatnio określonym hesjanie H to można przyjąć:

0<α<1λ.

gdzie λ jest największą wartością własną macierzy H.

Współczynnik αk może również dynamicznie zmieniać się podczas procesu szukania minimum. Kolejne kroki w algorytmie powinny być wybierane tak aby:

f(𝐱𝟎)>>f(𝐱𝐤)>f(𝐱𝐤+𝟏).

Jeżeli warunek ten nie jest w danym kroku spełniony, to należy powtórzyć krok z mniejszą wartością αk.

Algorytm ogólnie można zapisać:

  1. Wybierz punkt startowy 𝐱𝟎.
  2. 𝐱𝐤+𝟏=𝐱𝐤αkf(𝐱𝐤).
  3. Sprawdź kryterium stopu, jeśli jest spełniony to STOP.
  4. Jeżeli f(𝐱𝐤+𝟏)f(𝐱𝐤) to zmniejsz wartość αk i powtórz punkt 2 dla kroku k-tego.
  5. Powtórz punkt 2 dla następnego kroku (k+1).

Kryterium stopu

W celu określenia, czy punkt w danym kroku dostatecznie dobrze przybliża minimum funkcji celu w metodzie gradientu prostego, można użyć następujących kryteriów stopu (dla zadanej precyzji ϵ oraz normy ):

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

Zbieżność

Metoda gradientu prostego jest metodą o zbieżności liniowej. Oznacza to, iż przy spełnieniu założeń metody, odległości pomiędzy kolejnymi przybliżeniami a minimum funkcji 𝐱* maleją liniowo:

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

Przykład

Na poniższych rysunkach zilustrowane zostały kolejne kroki metody gradientu prostego dla funkcji:

F(x,y)=sin(12x214y2+3)cos(2x+1ey).

Zobacz też

Bibliografia

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

Linki zewnętrzne