17 - Minimalizacja funkcji Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Anna Bukowska Yurii Vyzhha Arkadiusz Placha
Plan wykładu I 1 Wstęp 2 Minimalizacja w 1-D 3 Metody krokowe dla n-d (stepping methods in many variables) 4 Metoda zmiennej metryki 5 Przypadki specjalne 6 Minimum lokalne i globalne 7 Literatura
Wstęp Wstęp
Wstęp Motywacja Motywacja Szeroka klasa zagadnień szukanie najmniejszej wartości przyjmowanej przez funkcję jednej lub wielu zmiennych. Przykłady Produkcja - minimalizacja kosztów, przy zaspokojeniu popytu Zasoby ludzkie - problem przydziału godzin pracy Rolnictwo - dobór nawozów w celu maksymalizacji plonów Fizyka - wyznaczanie linii geodezyjnej w OTW...
Wstęp Motywacja Przykład klasyczny Estymacja parametrów modelu teoretycznego Minimalizacja różnicy między danymi teoretycznymi, a eksperymentalnymi: min!f (x) = n [ ] Yi T (x i ) 2 n - liczba punktów doświadczalnych, K - liczba parametrów, σ i - niepewność pomiaru x i, Y i - zmierzona wartość w punkcie x i T (x) - wartość teoretyczna dana funkcją o K parametrach, n K, zwykle n K i=1 σ i
Wstęp Terminologia Terminologia Terminologia tradycyjnie: minimalizacja maksymalizacja (F = f (x)) optymalizacja kolizja z metodą teorii sterowania, (oparta o rachunek wariacyjny) b. stary termin: programowanie (liniowe, nieliniowe, matematyczne) ekstremalizacja mathematical optimization (function minimization)
Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Definicja Dane: funkcja F : A R, A R Szukane: element x 0 A taki, że x A F (x 0 ) F (x) Założenia 1 Dla funkcji F może nie być znany wzór analityczny. 2 Wartości x mogą być zawężone do pewnego ustalonego obszaru constrained minization. 3 Mogą być dostępne F x. 4 x 0 jest wyliczane procedurą wykorzystanie wielu wartości funkcji f (x), aż do osiągnięcia minimum.
Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Kryteria wyboru najlepszej metody Najlepsza metoda znajduje minimum (z zadaną tolerancją): po najmniejszej liczbie obliczeń wartości funkcji f po najmniejszej liczbie kroków procedury niska złożoność obliczeniowa wymaga mało pamięci dodatkowej niska złożoność pamięciowa
Wstęp Gdzie szukać minimum globalnego funkcji? Gdzie szukać minimum globalnego funkcji? F (x) przyjmuje minimum w jednym z punktów: 1 p. stacjonarny wszystkie F x = 0 2 wierzchołek (cusp) niektóre F x 3 edge point na krawędzi obszaru nie istnieją Gdy nie znamy funkcji analitycznie musimy ograniczyć się do minimum lokalnego x 0 unconstrained local minimization. Minimum lokalne x U, F (x) F (x 0 ), gdzie U - otoczenie punktu x 0
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) 1-D Założenie F (x) ma sens fizyczny tj. w rozpatrywanym obszarze istnieją jej wszystkie pochodne. Rozwijamy F (x) wokół x 0 w szereg Taylora (1-D): F (x) = F (x 0 ) + F x (x x 0 ) + 1 x0 2 2 F x 2 (x x 0 ) 2 +... x0 Nie znamy obszaru jego zbieżności a priori. Im mniejsza wartość (x x 0 ), tym mniej ważne człony wyższych rzędów. Konkluzja: Dla małych kroków przewidywania oparte na wyrazach niższego rzędu powinny być wystarczające.
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) n-d Dla n-d: x = x = [x 1, x 2,..., x n ] T Rozwijamy funkcję F wokół x 0 : F ( x) = F ( x 0 ) + g T ( x x 0 ) + 1 }{{} 2 ( x x 0) T G ( x x 0 ) +... stały g i = F x gradient; G ij = 2 F i x0 x i x j x0
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) n-d 1 g T ( x x 0 ) proporcjonalny do gradientu, wskazuje kierunek największego spadku funkcji. W pobliżu minimum: g 0, to ( x x 0 ) 0 człon liniowy, nie przepowiada minimum, nie można go użyć do określenia wielkości kroku. 2 1 2 (( x x 0) T ) G ( x x 0 ) kwadratowy, najniższy człon przydatny do przewidywania minimum. G stałe na małych obszarach. Uwaga Ta analiza nie jest słuszna dla F ( x) zależnych liniowo od x; Wtedy: Klasa problemów programowanie liniowe, rozwiązania leżą na krawędzi obszaru ograniczeń.
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) Optymalne algorytmy minimalizacji Nie ma uniwersalnej metody minimalizacji. Dla bardzo złego algorytmu można znaleźć funkcję F (x), którą minimalizuje on najszybciej i odwrotnie. Zasada doboru algorytmu optymalizacji Zasada: Dla konkretnej funkcji należy indywidualnie dobrać algorytm minimalizacji.
Minimalizacja w 1-D Minimalizacja w 1-D
Minimalizacja w 1-D Minimalizacja w 1-D Przydatność metod 1-D dla zag. n-d Prosta ilustracja ogólnych problemów Metody 1-D są często elementem składowym metod n-d
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Realizacja Zalety Wady Przegląd wszystkich elementów iloczynu kartezjańskiego podzbiorów parametrów. Wybór wartości najmniejszej. Absolutna prostota, problem typu embarrassingly parallel. Bezwzględna zbieżność. Brak czułości na szczegółowe zachowanie się F (x). Nie może być stosowana dla przedziału nieskończonego. Nieefektywna, nie uczy się własności funkcji.
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Problem z doborem rozmiaru siatki, tak aby nie zgubić szukanej wartości.
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Założenie: Poszukujemy minimum w k-d dysponując k zbiorami parametrów po 10 000 elementów każdy. 100 punktów w 1 D Zawężamy obszar do 1% 100 2 w 2 D 100 10 w 10 D Przy czasie obliczeń jednej wartości F (x) 10 5 s Czas obliczeń: t o = 1020 10 5 s π 10 7 }{{} sek. w roku 3 10 7 lat! Zadanie: porównaj całki w n-d
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Definicja funkcji unimodalnej Funkcję f (x) nazywamy unimodalną na przedziale [a,b] jeżeli: 1 x [a,b] : f (x ) = min x [a,b] f (x) 2 x 1,x 2 : a x 1 < x 2 b zachodzi: x 2 x f (x 1 ) > f (x 2 ) x 1 x f (x 1 ) < f (x 2 ) Założenia Dane: f funkcja unimodalna na przedziale [a, b] Szukane: minimum x 0 funkcji f na przedziale [a, b]
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) F (x) - f. unimodalna
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Realizacja r współczynnik redukcji po każdym etapie 1 Obliczamy nową długość przedziałów d = 1 r (b a) 2 x L = b d, x R = a + d 3 Jeżeli f (x L ) > f (x R ) x 0 [x L, b], a := x L, Jeżeli f (x L ) < f (x R ) x 0 [a, x R ], b := x R, 4 Procedurę powtarzamy, aż do osiągnięcia żądanej zbieżności. Minimalizacja ewaluacji Problem: Chcemy zminimalizować liczbę ewaluacji funkcji f. Rozwiązanie: Dobieramy współczynnik r, aby w kolejnym kroku wykorzystać jedną z dwóch próbek: f (x L ) lub f (x R ).
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) t współczynnik redukcji po każdym etapie Rozmieszczenie punktów: Dla [0, 1] długość przedziału po pierwszym etapie: d 1 = t
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Po wyznaczeniu f (x 3 ) długość przedziału t 2 5 1 t 2 = 1 t t = 0, 616 złoty podział 2 Dla zadanej liczby kroków optymalna. Podobna metoda dla zbiorów Fibonacci search technique.
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Optymalność Metoda minimax minimalizuje maksymalną liczbę określeń f (x). Optymalność pesymistyczna Odpowiednik najlepszej strategii w grze przeciwko inteligentnemu przeciwnikowi. Podejście dobre dla patologicznych funkcji. Examples Modyfikacje metody Przykład Metoda Bermana x 0 = a+b 2 ; poszukiwanie tam, gdzie f maleje. Ustalony krok, w drugą stronę z mniejszym krokiem.
Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Założenia Wykres funkcji f (x) jest parabolą. Realizacja Interpolujemy f (x) funkcją kwadratową w 3 punktach: x 1,x 2,x 3. Min f (x) to min paraboli przechodzącej przez x 1,x 2,x 3, znajduje się w punkcie x 4 : f 1 (x 2 +x 3 ) (x 1 x 2 ) (x 1 x 3 ) + f 2 (x 1 +x 3 ) (x 2 x 1 ) (x 2 x 3 ) + f 3 (x 1 +x 2 ) (x 3 x 1 ) (x 3 x 2 ) x 4 = [ ] f 2 1 (x 1 x 2 ) (x 1 x 3 ) + f 2 (x 2 x 1 ) (x 2 x 3 ) + f 3 (x 3 x 1 ) (x 3 x 2 ) Zadanie: Sprawdzić ten wzór.
Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Realizacja cd. x 4 zastępuje jeden z x 1,x 2,x 3, wyznaczamy nowy x 4. Procedurę kończymy gdy wartość f (x 4 ) jest bliska f (x 3 ) z zadaną dokładnością. Problemy 1 Na każdym kroku x 1,x 2,x 3 mogą wyznaczać max, a nie min powodując rozbieżność. 2 Gdy x 1,x 2,x 3 leżą prawie na prostej, otrzymujemy duży krok: Trudności numeryczne Rozbieżność 3 Który z poprzednich punktów odrzucić? 4 Możliwe oscylacje wokół minimum, zamiast zbieżności.
Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Możliwe zabezpieczenia Zaniechanie metody przy wystąpieniu trudności. Zastosowanie W ostatniej fazie minimalizacji funkcji f. (Funkcje fizyczne są zwykle paraboliczne w pobliżu minimum.)
Minimalizacja w 1-D Metoda prób i błędów (success-failure method) Metoda prób i błędów (success-failure method) Założenie Procedura składa się z dwóch części: Iteracyjne zawężenie przedziału podobne do grid search. Kwadratowa interpolacja na otrzymanym przedziale. x 0 start point, d initial step size Gdy f (x 0 + d) < f (x 0 ) sukces: x 0 x 0 + d, d α d, α expansion factor (α > 1) Gdy f (x 0 + d) > f (x 0 ) niepowodzenie: d β d, β contraction factor (β < 1) α oraz β ustalamy arbitralnie Procedurę powtarzamy do zbieżności, tj. f (x 0 + d) f (x 0 ) < ɛ.
Minimalizacja w 1-D Metoda prób i błędów (success-failure method) Metoda prób i błędów (success-failure method) Minimum jest zawężone (bracketed), wtedy mamy trzy punkty typu: Są one punktem startowym interpolacji kwadratowej. Uniwersalna, efektywna metoda 1-D dla ogólnych funkcji.
Metody krokowe dla n-d (stepping methods in many variables) Metody krokowe dla n-d (stepping methods in many variables)
Metody krokowe dla n-d (stepping methods in many variables) Przeszukiwanie losowe Przeszukiwanie losowe Problem: Grid search na n-d złożoność czasowa O(k n ). Algorytm niepraktyczny dla n > 2. Rozwiązanie: Metody Monte-Carlo Wybór próbek losowo. Realizacja x i - ustalane losowo, zgodnie z rozkładem: równomiernym, normalnym Wybranie nalepszego znalezionego punktu. Stosowane, gdy: nic nie wiadomo o F (x). F (x) ma kilka minimów. dla ustalenia rozsądnego punktu startowego innych metod.
Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (Powell Search Method) Zmiana jednego parametru Założenie Funkcja f ciągła na poszukiwanym obszarze. Obserwacja Warunek na istnienie minimum - x i stacjonarny punkt, tj. znikają wszystkie n pochodne cząstkowe, f x i = 0, i = 1, 2, 3,..., n Powell Search Method 1 Wybierz jeden z n wymiarów. 2 Wykonaj optymalizację 1-D na wybranym wymiarze. 3 Powtarzaj do uzyskania punktu x i, będącego minimum dla wszystkich wymiarów n.
Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (Powell Search Method) Zmiana jednego parametru cd. Przykład dwuwymiarowy.
Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (Powell Search Method) Zmiana jednego parametru cd. Bardzo wolna z uwagi na przypadki z wąwozem (narrow valley): Dla takiego przykładu stosujemy ulepszone metody.
Metody krokowe dla n-d (stepping methods in many variables) Metoda Rosenbrocka Metoda Rosenbrocka Algorytm Wykonaj jeden pełny cykl minimalizacji wzgl. kolejno wszystkich parametrów (współrzędnych), Zmień osie układu współrzędnych - nowy układ ortogonalny: jedna z osi od punktu początkowego do końcowego w ostatnim cyklu minimalizacji, Wykonaj kolejny cykl w nowym układzie współrzędnych. Metoda mało efektywna dla dużego n (w połączeniu z metodą aproks. kwadratowej.)
Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Simplex - wprowadzenie Definicja Simplex - najprostsza n-wymiarowa figura określona przez (n + 1) wierzchołków (vertex). Nazwa metody - w każdym kroku informacja o funkcji dotyczącej jej wartości w n + 1 punktach
Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.1
Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.2 1 Wybieramy (losowo, min 1-D) 3 punkty P 1, P 2, P 3 i wyznaczamy spośród nich: P H - gdzie F największa (highest) P L - gdzie F najmniejsza (lowest) 2 Wyznaczamy środek masy wszystkich punktów z pominięciem P H P = 1 n [ n+1 i=1 P i P H ] 3 Obliczamy odbicie P H wzgl. P : P* = P + (P P H ) jeżeli F (P*) < F (P L ) nowy P** = P + 2 (P P H ) F (P*) > F (P L ) nowy P** = P 1/2 (P P H )
Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.3 4 Punkt P H zastępujemy przez najlepszy z P* i P** Jeżeli żaden z nowych punktów nie jest lepszy od P H, tworzymy simplex oparty o P L w wymiarach 0.5 poprzednie. Modyfikacje: Uwaga Inne współczynniki 2 oraz 1 2, Interpolacja kwadratowa wzdłuż prostej (P H, P) Nowy punkt nie może być zbyt blisko P, bo to grozi redukcją (bez powrotu) simpleksów w n do hiperpłaszczyzny.
Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.4 Zalety : nieczuła na płytkie minima (pochodzenia: zaokrąglenia, statystyka... ), mała ilość obliczeń funkcji F (X ) w każdym kroku, największe możliwe kroki, rozsądny kierunek poszukiwań, bezpieczna i szybka daleko od minimum, daje estymaty błędów parametrów Zbieżność EDM }{{} estimated distance to minimum = F (P H ) F (P L ) < EPSI }{{} (ɛ)
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Działają w oparciu o informacje o funkcji w małych obszarach (używany gradient i ew. wyższe pochodne). Wyznaczanie pochodnych Analitycznie kłopotliwe, więc numerycznie: Lepiej: (F ) (x) F (x 0 + d) F (x 0 ), δ d x0 d 2 2 F x 2 (F ) (x) F (x 0 + d) F (x 0 d), δ... 3 F x0 2 d x 3 x0 x0
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Wyznaczanie pochodnych cd. 2 n wywołań F (X ) (symetryczne, gdy 2 n) Lecz łatwo przy okazji obliczyć drugie pochodne: (F ) (x 2 ) F (x 0 + d) 2 F (x 0 ) + F (x 0 d) x0 d 2 Sprawdzić: drugie pochodne są stałe w małych obszarach - nie są potrzebne kroki symetryczne. Drugie pochodne tworzą macierz n n.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Wyznaczanie pochodnych cd. Poza p. symetrycznymi potrzeba n(n 1) 2 pkt. (mieszane pochodne)
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda największego spadku Podążanie w kierunku wyznaczonym przez - g (gradient) (w tym kierunku funkcja maleje najszybciej) (Cauchy) { - seria minimalizacji 1-D wzdłuż kierunku największego spadku - iteracyjna, bo gradient nie jest stały
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda największego spadku cd. Jeżeli minimalizacja w 1-D jest dokładna w kierunkach ortogonalnych met. uzmienniania 1 parametru Łatwo o przykład hipotetycznej funkcji, dla której minimum jest gradientu.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda Newtona Ogólna funkcja kwadratowa jest określona przez: - wartość, W dowolnym punkcie x - pierwsze pochodne 0 - drugie pochodne Dysponujemy tymi informacjami Minimalizacja w pierwszym kroku. F ( x) = F ( x 0 ) + g T ( x x 0 ) + 1 2 ( x x 0) T G ( x x 0 ) g w x 0 Minimum: G - stała macierz x m = x 0 G 1 g = x 0 V g V = G 1 macierz kowariancji (covariance)
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda Newtona cd. Metoda jest n-d odpowiednikiem 1-D interpolacji kwadratowej. Te same wady! niestabilna rozbieżna, gdy V nie jest dodatnio określona Zalety: krok nie jest dowolny, lecz określony przez metodę kierunek wartość gradientu, tylko brana pod uwagę korelacja parametrów
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda Newtona cd. Używana: blisko minimum. gdy funkcja jest dodatnio określoną formą kwadratową. Metoda Newtona jest podstawą wielu metod.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Dygresja: dodatnio określone formy kwadratowe 1-D forma kwadratowa: F (x) = a + g x + 1 2 G x 2 g = F x, 0 G = 2 F x 2 F (x) ma min. wtedy i tylko wtedy, gdy G 0. 0 G = 0 min ; x m = g/g Dla ogólnej funkcji nieliniowej: krok do x = g G gdy G > 0 (w przeciwnym przypadku: lub maximum)
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Dodatnio określone formy kwadratowe cd.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Dodatnio określone formy kwadratowe cd. gdy G 0 krok = g kierunek - dobry, wartość - dowolna W x 0 F (x) nie jest wypukła (dodatnio określona) Uogólnienie na n-d: g g, G - macierz 2-ich poch.; F ( X ) = a + g T x + 1 2 x T G tylko dla G dod. określonej ma sens krok do: x = G 1 g
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Badanie czy G jest dodatnio określona. Brak prostych sposobów. Dla macierzy kwadratowych, symetrycznych - 2 warunki konieczne 1 o elementy diagonalne > 0 (wyst. 1 1) 2 o elementy pozadiagonalne: G 2 ij < G ii G jj
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Badanie czy G jest dodatnio określona cd. Ogólne warunki konieczne i wystarczające wszystkie wartości własne > 0 (b. trudne i przybliżone) wyznacznik wszystkich macierzy > 0 (najprościej sprawdzić) skalar E T G e > 0 dla e (zwykłe def.), wyjaśnia dlaczego G dod. okr. daje formę F (x) z minimum: F (x) rośnie we wszystkich kierunkach od e = 0 V = G 1 jest dodatnio określona
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Postępowanie w przypadku G - nie jest dod. określone a) analogicznie do 1-D : G = I Ale: b) lepiej: gdy elementy diagonalne G > 0, wtedy pozadiag. = 0 (scale - invariant step), gdy tylko niektóre el. pozadiag. Gij 2 G ii G jj G ij = 0, zamiast G 1 bierzemy (G + λ I ) 1 ; λ największa (bezwzgl.) ujemna wartość własna: dużo obliczeń, krok pośredni pomiędzy m. Newtona a największego spadku (duże λ : krok krótki, w kierunku g) gdy jedna lub więcej diagonalnych 2-ich poch. < 0 informacja o kierunku wzrostu ujemnej 1-szej poch. w tym kierunku - szukanie met. zmiany 1 param.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Gdy G - nie jest dodatnio określone cd. Metody oparte na powyższych regułach - quasi-newton method Podstawowa wada tych metod - obliczanie i odwracanie w każdym kroku macierzy drugich pochodnych obliczanie 2-ich poch. n 2 (długie) odwracanie
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda sprzężonych kierunków conjugate directions Wektory d i i d j są sprzężone ze względu na dodatnio określoną macierz, jeżeli: T d i Adj = 0 dla i j; gdy A = I, d i ortogonalne (sprzężenie - uogólnienie ortogonalności) n sprzężonych wektorów rozpina n-d przestrzeń. A - nie określa jednoznacznie zbioru wektorów sprzężonych można zastosować uogólnienie procedury ortogonalizacji Grama-Schmidta: d 1 - dowolny wektor d 2 = A d 1 dt 1 AAd 1 d1 T Ad d 1 sprzężony do d 1 1 d 3 =... Zadanie: sprawdzić.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. W minimalizacji użyteczne są wektory sprzężone ze względu na hesjan G. Twierdzenie Sekwencja liniowych minimalizacji w każdym z n sprzężonych kierunków minimalizuje ogólną funkcję kwadratową n zmiennych. Dowód: { funkcja: F ( x) = F ( 0) + g T x + 1 2 x T G x T kierunki sprzężone: di di Gdj = 0 i j gdzie: G jest macierzą.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. x, g - jako kombinacje liniowe: w układzie o wektorach jednostkowych x = y idi, g = c idi i i wtedy: F (x) = F (0) + ( i T c idi ) ( y jdj ) + 1 2 ( T y idi ) G ( y jdj ) j i j }{{} ( )
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. ( ) wynik przegrupowania: podwójna suma i j równe zero (warunek sprzężenia) F (x) = F (0) + c i di T d j y j + 1 yj 2 dj T Gd j = 2 i i j gdzie: F (0) + j (b jy j + b j y 2 j ) b j = i c id T i d j, b j = 1 2 d T j Gd j - stałe zamiast x - mamy y, przy czym F (x) stała się sumą niezależnych jednoparametrowych funkcji kwadratowych. Minimalizacja ze względu na y i (wzdłuż kierunku d i ) jest niezależna od minimalizacji względem pozostałych sprzężonych kierunków.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Wnioski: Minimalizacja nie wzdłuż osi ortogonalnych, ale wzdłuż kierunków sprzężonych Ale można szukać innej konstrukcji d i (gdy znamy G - m. Newtona - w 1 kroku!) Można wyznaczyć d i bez G! Twierdzenie Jeżeli x 0, x 1 - punkty min. w 2 równoległych podprzestrzeniach, to ( x 1 x 0 ) jest sprzężony do każdego wektora w tych dwóch podprzestrzeniach.
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód x 0 - min. wzdłuż d i ; to gradient F w x 0 musi być d 1 T d 1 ( g + G x0 ) = 0 T ( g grad. w x = 0) d 1 ( g + G x1 ) = 0 d 1 T G( x1 x 0 ) = 0 ( x 1 x 0 ) sprzężony do d 1
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. W przestrzeni: 3-D 3 dodatkowe minimalizacje (3-ci kier. sprzężenia do 2 pierwszych) n-d n(n+1) 2 minimalizacje - ile elem. w G - ale: metoda bardzo stabilna dla F (x) kwadratowych i nie wymaga znajomości pochodnych Uwaga: asymetria: n minimal. w d 1 1 minimal. w d n
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda gradientów sprzężonych (conjugate gradients) Wykorzystuje tylko 1-sze pochodne. F ( x) i g( x) wyznaczone w x 0 i x 1, z nich: x = x 1 x 0, g = g1 g 0 Dla F ( x) kwadratowej, z hesjanem G: g = G x, zatem dowolny d 1 g będzie dodany do x: d 1 T g = d1 G x = 0 Metoda uzyskiwania kierunków sprzężonych bez znajomości G: Pierwszy kierunek: d 0 = g 0 min. wzdłuż d 0 : w x 1, gradient: g 1 Drugi kierunek: d 1 = g 1 + b d 0 (liniowa kombinacja znanych kierunków)
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda gradientów sprzężonych cd. Warunek sprzężenia: d 1 T G d0 = d 1 T G ( g1 g 0 ) = 0, czyli: ( g 1 + b d 0 ) G d 0 = ( g 1 b g 0 ) ( g 1 g 0 ) = 0 x 1 - to min. wzdłuż d 0 = g 0 g 0 g 1 : g 1T g 0 = 0 b = g 1 T g 1, czyli nowy sprzężony kierunek g 0T g ( 0 ) d 1 = g 1 + g1t g 1 d g 0T g 0 0 Ten proces kontynuujemy generując n kierunków wzajemnie sprzężonych. Można pokazać, że dla wszystkich sprzężonych kierunków zachodzi: d i+1 = g i+1 + g i+1 T g i+1 g T i g i d i
Metoda zmiennej metryki Metoda zmiennej metryki
Metoda zmiennej metryki Metoda Newtona podsumowanie Uogólniona met. Newtona znajdowanie minimum Założenia: Dana jest funkcja F, taka że F (x) C 2. Procedura iteracyjna W k-tym kroku: x k+1 = x k + α k d k d k = V (x k ) F (x k ) V (x k ) = H 1 (x k ) (1)
Metoda zmiennej metryki Metoda Newtona podsumowanie Oznaczenia d k wektor kierunku poszukiwań α k długość kroku; dobrana tak, aby minimalizować funkcję α F (x k + α d k ), α 0 [ ] H(x k ) = 2 F (x k ) x i x j hesjan funkcji F (x k ) G(x k ) hesjan formy kwadratowej Q w punkcie x k Q(x) = (Ax c) T (Ax c) V (x k ) = G 1 (x k ) macierz kowariancji w k-tym kroku Istota: V (x k ) obliczane w każdym kroku. Duży narzut obliczeniowy.
Metoda zmiennej metryki Metoda Newtona podsumowanie Optymalizacja metodami zmiennej metryki Cel: Zmniejszenie narzutu obliczeniowego na wyznaczanie V k. Pomysł: Wykorzystanie informacji z poprzednich kroków iteracyjnych. Szukamy: Dysponujemy: x k, x k+1, F (x k ), F (x k+1 ) V k+1 = V k + C k (2)
Metoda zmiennej metryki Metoda Newtona podsumowanie Kierunki sprzężone Kierunki wzajemnie sprzężone Def: Kierunki d 0, d 1,..., d i,..., d r, d i 0, r n 1 nazywamy wzajemnie sprzężonymi względem macierzy A (A-sprzężonymi), jeśli: di T Ad j = 0, i j Jest to uogólnienie def. ortogonalności: V T u = V T I u = 0 Wektory własne A symetrycznej są wektorami A-sprzężonymi.
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych Twierdzenie o minimalizacji w kierunkach sprzężonych Założenie: d 0, d 1,.., d n 1 ciąg wektorów A-sprzężonych A macierz (n n), symetryczna, dodatnio określona. Twierdzenie: Niezależnie od wyboru punktu początkowego x 0 można zminimalizować formę kwadratową: Q(x) = Q(x 0 ) + b T x + 1 2 x T A x (3) 1 w najwyżej n krokach iteracyjnych 2 kolejne minimalizacje wzdłuż d i 3 każdy wektor d i używany tylko jeden raz 4 kolejność wprowadzenia d i do obliczeń obojętna
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych dowód V dowolny wektor; d i liniowo niezależne n 1 V = γ i d i, i=0 γ i = d iav d T i Ad i (4) W kroku iteracyjnym p: p 1 x p = x 0 + α i d i, p > 1 i=0 x p kolejny punkt uzyskany w trakcie minimalizacji formy kw. Q(x) wzdłuż kierunków d 0, d 1,..., d p 1.
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych dowód cd. 1 Z punktu x p do x p+1 przechodzimy wzdłuż d p 2 Forma Q ma mieć minimum wzdłuż d p Otrzymujemy więc, że: Po podstawieniu (3) do (5): d T p Q(x p+1 ) = 0 (5) [ p 1 dp T ] A (x 0 + α i d i ) + α p d p + dp T b = 0 i=0 Z czego wyznaczamy stałą: α p = d p T (A x 0 + b) dp T A d p
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych dowód cd. W konsekwencji po co najwyżej n krokach, (bo może być α i = 0) zachodzi: n 1 x n = x 0 i=0 di T (A x 0 + b)d i di T = x 0 A d i Osiągnęliśmy min. formy kwadratowej: 1 niezależnie od kolejności wystąpień d i, 2 w co najwyżej n krokach minimalizacyjnych n 1 di T A(x 0 + A 1 b)d i d T i=0 i A d i }{{} x 0 +A 1 b x n = x 0 x 0 A 1 b = A 1 b Met. kier. sprzężonych prowadzi do zbieżności kwadratowej.
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych 2 Twierdzenie 2 Założenie: x k+1 kolejny punkt uzyskany w minimalizacji formy (3) wzdłuż A-sprzężonych kierunków d 0, d 1,..., d k. Twierdzenie: Zachodzi równanie: d T l Q(x k+1 ) = 0, l = 0, 1,..., k (6) Obserwacja: Gradient formy kwadratowej w punkcie x p pamięta wszystkie poprzednie kierunki sprzężone prowadzące do x p z x 0.
Metoda zmiennej metryki Metoda Newtona podsumowanie Minimalizacja w kierunkach sprzężonych 2 dowód ( Q k+1 = A x k+1 + b = A x s + W konsekwencji: = Q s+1 + k j=s+1 α j Ad j k j=s+1 α j d j ) + b = k ds T Q s+1 = ds T Q s+1 + α j ds T Ad j }{{} j=s+1 =0 (wzór 5) }{{} =0 Słuszne jest więc równanie (6).
Metoda zmiennej metryki Metoda Newtona podsumowanie Formuła Davidona-Fletchera-Powella Dla macierzy V = G 1 : 1 (n n) 2 symetrycznej 3 dodatnio określonej wektorów d 0, d 1,..., d n 1 wyznaczającej kierunki sprzężone wzgl. G zachodzi: n 1 d i di T V = di T (7) Gd i i=0
Metoda zmiennej metryki Metoda Newtona podsumowanie Formuła Davidona-Fletchera-Powella 2 Bierzemy element tej sumy jako pierwsze przybliżenie do szukanej poprawki C k (wzór 2): V k+1 = V k + d kd T k d T k Gd k + B k, B k = B T k (8) B k z warunku: d 0, d 1,..., d k kierunki G-sprzężone.
Metoda zmiennej metryki Metoda Newtona podsumowanie Formuła Davidona-Fletchera-Powella 3 Przymując: V k Gd i = d i, i = 0, 1,..., k dla d 0, d 1,..., d k będących G-sprzężonymi. Mamy (wzór 1): [ = di T Gd k+1 = di T GV k+1 Q(x k+1 ) = T Q k+1 V k+1 Gd i ] T = d T i Q k+1 = 0, i = 0, 1,..., k Jest to wzór (6). Wniosek: d k+1 również sprzężony do poprzednich.
Metoda zmiennej metryki Metoda Newtona podsumowanie Formuła Davidona-Fletchera-Powella 4 Żądamy, aby: V k+1 Gd i = d i, i = 0, 1,..., k + 1 Podstawiamy V k+1 z równania (8) dla i = k. Otrzymujemy: Po przekształceniu: ( V k + d kd T k d T k Gd k + B k )Gd k = d k (V k + B k )Gd k = 0 Co po uwzgl. wzorów (5) i (1) daje: [ Qk+1 Q k ] T (Vk + B k ) = 0 (9)
Metoda zmiennej metryki Metoda Newtona podsumowanie Formuła Davidona-Fletchera-Powella 5 B k powinna mieć postać: Otrzymujemy: B k = V kγ k γ T k V k γ T k V kγ k γ k = Q(x k+1 ) Q(x k ) (10) δ k x k+1 x k (wzór 1) = α k G 1 Q k = α k d k (11) d T k Gd k = (α k+1 x k ) T α k Gdyż dla formy kwadratowej: Gd k = γt k d k α k δ k = G 1 γ k (12)
Metoda zmiennej metryki Metoda Newtona podsumowanie Metoda zmiennej metryki Wzór korekcyjny Wzór korekcyjny ma postać: V k+1 = V k + δ kδ T k γ T k δ k V kγ k γ T k V k γ T k V kγ k
Metoda zmiennej metryki Metoda Newtona podsumowanie Metoda zmiennej metryki przykład } Geometria różniczkowa Własności F Ogólna teoria wzgl. F nieeuklidesowa przestrzeni zmiennych x = (x 1, x 2,..., x n ). Podst. niezmiennik: ds 2 = dx T Adx (kwadrat elem. długości) dx przesunięcie, x x + dx A kowariantny tensor metryczny Dla Q A wszędzie stałe F przestrzeń o zmiennej metryce
Przypadki specjalne Przypadki specjalne
Przypadki specjalne Liniowy model Liniowy model Minimalizacja χ 2 (chisquare minimization, least squares fitting) k [ ] Yi T i ( x) 2 k min!f ( x) = = fi 2 ( x) σ i=1 i i=1 gdzie: Y i wartości zamierzone, σ i błąd, T i wartości teoretyczne; k n, zwykle k n k liczba obserwacji, n liczba klas wyniku minf ( x) najlepsze estymaty parametrów x (modelu teoretycznego)
Przypadki specjalne Liniowy model Liniowy model ( ) 2 F x i x j = x i x j k f 2 k = x i 2 f k f k + 2 f k 2 f k x k i x j x k i x j }{{} ( ) k 2 f k f k x j = ( ) - zwykle uznajemy ten człon za mały w porównaniu z poprzednim linearyzacja modelu (T k (x) liniowe)
Przypadki specjalne Liniowy model Liniowy model Gdy drugi człon w ( ) = 0 linear least squares F (x) quadratic i cały problem minimalizacji znalezienie [ ] macierzy odwortnej 2 F 1, x i x j a następnie min!f (x) w pojedynczym kroku newtonowskim. Gdy drugi człon w ( ) 0 non-linear least squares 2 F x i x j łatwe do policzenia (positive defined) kilka kroków iteracyjnie macierz [ 2 F x i x j ] 1 nie zbiega się do macierzy kowariancji.
Przypadki specjalne Likelihood maximization Likelihood maximization k min!f (x) = ln f k (x), f k (x) = 1 σ k=1 k 2 }{{} ( ) ( ) - logarytmiczna funkcja wiarygodności [Y k T k (x)] 2 2 F = x i x j x i = x j x i k 1 f k f k x j = k 1 f k f k fk 2 1 2 f k x i x j f k k x i x j }{{} ( ) ( ) pomijamy, jeżeli można.
Przypadki specjalne Model with separable computing Model with separable computing Znaczna część obliczeń zależy tylko od kilku składowych x, więc nie ulega on zmianie, gdy one również bez zmiany. podział na n-części, a każda zależy tylko od jednego parametru. Z tego wynika efektywne niektóre proste metody (np. single parameter variation).
Przypadki specjalne Podobne zagadnienia Podobne zagadnienia Na przykład Znajdowanie krzywej p(y) = min x!f (x, y), np. przy określaniu przedziału ufności. Podobny eksperyment, seria eksperymentów. Wnioski Użyć można poprzedniego wyniku jako punktu startowego. Macierz kowariancji nie powinna się istotnie zmienić.
Minimum lokalne i globalne Minimum lokalne i globalne
Minimum lokalne i globalne Wprowadzenie Wprowadzenie Założenie F (x) unimodalna (w badanym obszarze) Zwykle F (x) ma wiele minimów wtedy 4 możliwości: 1 wystarcza znajomość dowolnego minimum lokalnego rzadko; najprościej 2 szukamy minimum globalnego najczęściej zwłaszcza w optymalizacji; brak ogólnych pewnych metod
Minimum lokalne i globalne Wprowadzenie Wprowadzenie 3 Interesuje nas jedno ( fizyczne ) minimum (niekoniecznie) globalne W badaniach naukowych z góry znana przybliżona lokalizacja minimum dobra dolina. Poszukiwanie: od ustalenia przybliżonych, przewidywanych wartości części parametrów, znalezienie minimum ze względu na wszystkie parametry. 4 Szukamy wszystkich lokalnych minimów (w tym globalnego) Najtrudniej, brak ogólnej metody.
Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.)
Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.) 1 z x 0 lokalna minimalizacja min. w a 0 2 z x 0 długi, losowy krok do x 1 3 z x 1 lokalna minimalizacja min. w a 1 4 długi krok (precipitous step) wzdłuż a 1 a 0 do x 2 5 z x 2 lokalna minimalizacja min. w a 2 6 długi krok wzdłuż a 2 a 1... itd.
Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.) Metoda jest nielokalna Przeszukiwanie zarówno w kierunku rosnących jak i malejących wartości F (x), z preferencją w kierunku malejących (przewaga szukania nad zbieżnością). O jakości decyduje wybór precipitous step zwykle met. prób i błędów. Wada - brak kryterium zatrzymania. Kryteria czas obliczeń liczba wywołań F (x) uzyskanie F (x) mniejszej od pewnej zadanej wartości zatoczenie koła (trudne stwierdzenie)
Minimum lokalne i globalne Metoda Goldstein a-price a Metoda Goldstein a-price a ładna i prosta oparta na własnościach analitycznych F (x) W pobliżu lokalnego minimum x 1,, F (x): 1 F ( x) = F ( x 1 ) }{{} + 2 ( x x 1) T G ( x x 1 ) + }{{} h.t. (!) higher therms (!) zanikły pierwsze pochodne! Człony z 3-cią i wyższymi pochodnymi zawierają informacje o pozostałych minimach.
Minimum lokalne i globalne Metoda Goldstein a-price a Usunięcie minimum w x 1 przez transformację: F ( x 1, x) = 2 [F ( x) F ( x 1 )] ( x x 1 ) T G ( x x 1 ) = 1 + h.t. G dodatnio określona (bo w minimum) w mianowniku forma kwadratowa zawsze dodatnia, czyli po znalezieniu min F 1 (x) mamy: Uwaga gdy F 1 (x) < 0 znaleziono lepsze (głębsze) minimum gdy F 1 (x) > 0 znaleziono inne minimum lokalne, nie lepsze od tego w x 1 ; z tego punktu (x 2 ) F 2 (związane z F 1 tak, jak F 1 z F ) Metoda ta grozi zapętleniem, powtarzać ja nie więcej niż kilka razy.
Minimum lokalne i globalne Uwagi końcowe Uwagi końcowe nie ma uniwersalnych metod minimalizacji tj.: wszystkie funkcje wszystkie obszary danej funkcji zalecane: używanie różnych metod stopniowe zbliżanie się do minimum kolejno: metody Monte Carlo metody simplex / metoda Rosebrocka (bezgradientowa) metody gradientowe wykorzystać dostępną informację o F (x) ważna: zadania z ograniczeniami (funkcje kary)
Minimum lokalne i globalne Uwagi końcowe Uwagi końcowe powszechnie używany pakiet minimalizacyjny: F. James, M. Roos: MINUIT, CERN Program Library long write up D506 (516) zapoznać się! głębsze wprowadzenie w zagadnienia minimalizacji R. Wit: Metody programowania nieliniowego WNT, Warszawa 1986 alternatywne Simulated annealing Genetic algorithms
Literatura Literatura
Literatura Literatura I Romuald Wit Wstęp do metod optymalizacji nieliniowej skrypt UJ, 1983 Romuald Wit Metody programowania nieliniowego WNT, Biblioteka Inżynierii Oprogramowania F. Jarnes MINUIT Function Minimization and Error Analysis http: //cdsweb.cern.ch/record/2296388/files/minuit.pdf
Literatura Literatura II H. H. Rosenbrock An automatic method for finding the greatest or least value of a function Comput J. 3 (1960) 175 Math Works Inc. Metoda Rosenbrocka http://uk.mathworks.com/help/optim/ug/ banana-function-minimization.html J. A. Nelder, R. Mead A simplex method for function minimization Comput. J. 7 (1965) 308
Literatura Literatura III R. Fletcher, C. M. Reeves Function minimalization by conjugate gradients Comput. J. 7 (1964) 149 Biblioteki CERN-u CERN Program Library http://cernlib.web.cern.ch/cernlib/