Metody Obliczeniowe w Nauce i Technice 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
Outline I 1 Wstęp 2 Minimalizacja w 1-D 3 Metody krokowe dla n-d (stepping methods in many variables) 4 Przypadki specjalne 5 Minimum lokalne i globalne 6 Literatura
Wstęp Motywacja Motywacja Szeroka klasa zagadnień szukanie najmniejszej wartości przyjmowanej przez funkcję jednej lub wielu zmiennych. Przykład minimalizacja kosztów produkcji... linia geodezyjna w ogólnej teorii względności
Wstęp Motywacja Motywacja Przykład cd. przykład klasyczny: estymacja parametrów modelu teoretycznego przez minimalizację różnicy między danymi teoretycznymi a eksperymentalnymi: min!f (x) = [ ] n Yk T k ( x) 2 k=1 σ Yk k zmierzone wartości, σ k - błąd pomiaru, T k - wartości teoretyczne, zależne od parametrów x i, i = 1,...,n K n, zwykle K n
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 hill-climbing function minimalization!!!
Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Mając daną funkcję F (x) znaleźć wartość zmiennej x, dla której F (x) przyjmuje najmniejszą wartość, przy czym: 1 F (x) nie musi być zadana analitycznie tylko: dla każdego x znamy jej wartość F (x) 2 wartości x mogą być ograniczone do pewnego obszaru constrained minization 3 mogą być dostępne F x 4 f (x) jest obliczana w wielu punktach aż do osiągnięcia minimum. (F (x) to procedura)
Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Najlepsza metoda taka, która: znajduje minimum (z zadaną tolerancją) po najmniejszej liczbie obliczeń funkcji ma małą złożoność obliczeniową (sama metoda) wymaga mało pamięci
Wstęp Gdzie szukać minimum funkcji? (global minimum) Gdzie szukać minimum funkcji? (global minimum) F (x) przyjmuje minimum w jednym z punktów: 1 wszystkie F x = 0 (p. stacjonarny stationary point) 2 niektóre F x nie istnieją (wierzchołek cusp) 3 na krawędzi obszaru (edge point) Gdy nie znamy funkcji analitycznie musimy ograniczyć się do minimum lokalnego x 0 : x otoczenia x 0, F (x) > F (x 0 ) unconstrained local minimization
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) Założenie F (x) ma sens fizyczny w rozpatrywanym obszarze istnieją jej wszystkie pochodne. Wokół x 1 F (x) w szereg Taylora (1-D): F (x) = F (x 1 ) + F x (x x 1 ) + 1 x1 2 2 F x 2 (x x 1 ) 2 +... x1 a priori nie znamy obszaru jego zbieżności im mniejsza (x x 1 ) - tym mniej ważne człony wyższych rzędów 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) dla n-d: x x F ( x) = F ( x 1 ) + g T ( x x 1 ) + 1 }{{} 2 ( x x 1) T G ( x x 1 ) +... stały g i = F x gradient; G ij = 2 F x1 x i y j x1 symbole (x i składowa; x i wektor; niekiedy zamiast x samo x)
Wstęp Kształt funkcji F (x) Kształt funkcji F (x) g T ( x x 1 ) proporcjonalny do gradientu, wskazuje kierunek największego spadku funkcji, w pobliżu minimum: g 0, ( x x 1 ) 0 człon liniowy, nie przepowiada minimum, nie można go użyć do określenia wielkości kroku. 1 2 (( x x 1) T ) G ( x x 1 ) kwadratowy, najniższy człon przydatny do przewidywania minimum G stale w małych obszarach Uwaga Ta analiza nie jest słuszna dla F ( x) liniowych od x; Wtedy: programowanie liniowe, rozwiązanie 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 b. złego algorytmu można znaleźć F (x), którą minimalizuje on najszybciej i odwrotnie. Zasada: dobór algorytmu do funkcji.
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 często: element składowy metod n-d
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search)
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Realizacja Wady przegląd wartości wybór najmniejszej odległości od minimum 0 x 2 nie może być stosowana dla przedziału nieefektywna nie uczy się, własności funkcji
Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) 100 punktów w 1 D Zawężenie obszaru 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ń = 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 Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Zalety absolutna prostota bezwzględna zbieżność brak czułości na szczegółowe zachowanie się F (x)
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) 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 ) Minimum w [0,1] Na początek potrzebne 2 punkty: F (x 1 ), F (x 2 ) : F (x 1 ) < F (x 2 ) minf (x) [0,x 2 ] w [0,x 2 ] już jest punkt x 1 dla kolejnej redukcji wyznaczenie F (x) tylko w jednym punkcie.
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Rozmieszczenie punktów: t współczynnik redukcji po każdym etapie
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 ilości kroków optymalna metoda Fibonacciego t zmienne, (1202 króliki)
Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Optymalność W sensie minimax: minimalizuje maksymalną liczbę określeń F (x) Optymalność pesymistyczna Odpowiednik najlepszej strategii w grze przeciwko inteligentnemu przeciwnikowi. Podejście dobre dla patologicznych funkcji. Metoda Bermana x 0 = a+b 2 ; poszukiwanie tam, gdzie maleje ustalony krok, w drugą stronę z mniejszym krokiem.
Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Założenie: F (x) jest parabolą wyznaczamy F (x) w 3 punktach: x 1,x 2,x 3 (interpolacja f. kwadr.) min F (x) min paraboli przechodzącej przez x 1,x 2,x 3 znajduje się w punkcie x 4 : x 4 = 2 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 ) [ F 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 A następnie: x 4 zastępuje jeden z x 1,x 2,x 3, wyznaczamy nowy x 4... warunek zakończenia: wartość F (x 4 ) bliska F (x 3 ) z zadaną dokładnością Metoda dobra dla f. zbieżnych od kwadratowych, lecz: 1 na każdym kroku x 1,x 2,x 3 mogą wyznaczać max a nie min rozbieżność 2 gdy x 1,x 2,x 3 prawie na prostej 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. Używana: W ostatniej fazie minimizacji (f. fizyczne 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) Kompromis między przeszukiwaniem na siatce kwadratowa interpolacja 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, α 3.0) gdy F (x 0 + d) > F (x 0 ) niepowodzenie: d β d, β contraction factor (β < 1, β 0.4) Test jest powtarzany aż do uzyskania zmian F (x) < ɛ.
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 zlokalizowane (bracketed), gdy po sukcesie niepowodzenie 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) Przeszukiwanie losowe Przeszukiwanie losowe szukanie na siatce dla n > 2 - bez sensu (grid search) doświadczenie z całkowania mogą być tu też przydatne metody Monte-Carlo x i - wybierane losowo, zgodnie z rozkładem: równomiernym, normalnym o środku w najlepszym ze znalezionych punktów, przy zadanej szerokości. stosowane, gdy: nic nie wiadomo o F (x), F (x) ma kilka minimów, dla ustalenia rozsądnego punktu startowego
Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (single parameter variation) Zmiana jednego parametru cz.1 Warunek na istnienie minimum - stacjonarny punkt x i, tj. znikanie wszystkich n pochodnych F x i, i = 1, 2, 3,..., n
Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (single parameter variation) Zmiana jednego parametru cz.2 Niebezpieczna - przypadki z wąwozem (narrow valley) w tym przypadku - stosowane ulepszone metody
Metody krokowe dla n-d (stepping methods in many variables) Metoda Rosenbrocka Metoda Rosenbrocka Algorytm wykonuje się jeden pełny cykl minimalizacji wzgl. kolejno wszystkich parametrów (współrzędnych), zmiana osi układu współrzędnych - nowy układ ortogonalny: jedna z osi od punktu początkowego do końcowego w ostatnim cyklu minimalizacji, nowy cykl... w nowym układzie współrzędnych Niestety 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 w nich F (x) : P H F (x) - największa (highest) P L F (x) - 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 Inne możliwości: współczynniki 2 oraz 1 2, interpolacja kwadratowa wzdłuż prostej (P H, P) Uwaga! 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 w oparciu o informacje o funkcji w małych obszarach (używany gradient i ew. wyższe pochodne). Wyznaczanie pochodnych analitycznie kłopotliwe numerycznie (F ) (x) F (x 0 + d) F (x 0 ), δ d x0 d 2 2 F x 3 lepiej: (F ) (x) F (x 0 + d) F (x 0 d), δ d x0 2 d 2 2 F x 3
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Wyznaczanie pochodnych cd. 2 n wywołań F (X ) ( asym. : n 1) ale łatwo przy okazji : (F ) (x) F (x 0 + d) 2 F (x 0 ) + F (x 0 + d) x0 d 2 Z1 - sprawdzić: drugie pochodne są stałe w małych obszarach - nie są potrzebne kroki symetryczne 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 7 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 i 0 - drugie pochodne 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
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda Newtona cd. Z1 - sprawdzić: V = G 1 macierz kowariancji (covariance) jest to n-d odpowiednik 1-D interpolacji kwadratowej te same wady! niestabilna rozbieżna, gdy V nie jest dodatnio określona Zalety: krok nie jest dowolny określony przez metodę kierunek gradientu 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 funkcja dodatnia kwadratowa (liniowe najmniejsze kwadraty) Ponadto - podstawa 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 m. 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 =... sprawdzić
Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. W minimalizacji - użyteczne 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 kierunki sprzężone: gdzie: G jest macierzą di di T G dj = 0 i j
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 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: met. b. 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 i 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
Przypadki specjalne Liniowy model Liniowy model Minimalizacja χ 2 (chisquare minimization, least squares fitting) k [ ] Yk T k ( x) 2 k min!f ( x) = = fk 2 ( x) σ k=1 k k=1 gdzie: Y k wartości zamierzone, σ k błąd, T k wartości teoretyczne; k n, zwykle k n 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 2 1 F x i x j a znalezienie 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 }{{} ( ) ( ) jeżeli można pominąć...
Przypadki specjalne Model with separable computing Model with separable computing znaczna część obliczeń zależy tylko od kilku składowych x nie ulega 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 Z tego wynika użycie poprzedniego wyniku jako punktu startowego macierz kowariancji nie powinna się istotnie zmienić
Minimum lokalne i globalne Wprowadzenie Wprowadzenie Przedstawione powyżej metody działają przy założeniu: 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. Zwykle jest to 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 stąd, 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 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://consult.cern.ch/writeups/minuit Metody optymalizacji http://aquarium.ia.agh.edu.pl/labs/opt/metopt.htm
Literatura Literatura II John Smith Przykłady ciekawych wielowymiarowych funkcji http://www.maths.adelaide.edu.au/applied/llazausk/ alife/realopt.htm 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://www.mathworks.com/products/optimization/ example1.shtml
Literatura Literatura III J. A. Nelder, R. Mead A simplex method for function minimization Comput. J. 7 (1965) 308 R. Fletcher, C. M. Reeves Function minimalization by conjugate gradients Comput. J. 7 (1964) 149 Chris Flatters The Least-Squares Fitting Tool http: //www.nrao.edu/cflatter/slime-man/node105.html Bernard Rupp The Linear Least Squares Minimization Problem http://www.structure.llnl.gov/xray/comp/lsq.htm
Literatura Literatura IV Biblioteki CERN-u CERN Program Library http://www.cmd2.inp.nsk.su/cernlib/shortwrups/ crnfinal.html Constrained and Unconstrained Linear Least Squares Fitting http://www.cmd2.inp.nsk.su/cernlib/shortwrups/ node118.html