Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012
Strategia minimalizacji wielowymiarowej Zakładamy, że metody poszukiwania minimów lokalnych fukncji jednej zmiennej sa znane. Rozważmy funkcję f:r N R. Przedstawimy strategię poszukiwania (lokalnego) minimum tej funkcji w postaci ciagu minimalizacji jednowymiarowych. Copyright c 2009-12 P. F. Góra 11 2
1. Aktualnym przybliżeniem minimum jest punkt x k. 2. Wybieramy pewien kierunek poszukiwań p k. 3. Konstruujemy funkcję g k :R R g k (α) = f(x k + αp k ). (1) Zauważmy, że funkcja g k (α) jest funkcja jednej zmiennej. Geometrycznie jest to ślad N +1-wymiarowego wykresu funkcji f(x) przeciętego płaszczyzna zawierajac a punkt x k i wektor p k. 4. Znanymi metodami jednowymiarowymi znajdujemy α min takie, że funkcja (1) osiaga minimum. Jest to minimum kierunkowe funkcji f. 5. 6. goto 1. x k+1 = x k + α min p k. (2) Copyright c 2009-12 P. F. Góra 11 3
Jak wybierać kierunki poszukiwań? Cały problem sprowadza się zatem do wyboru odpowiedniej sekwencji kolejnych kierunków {p k }. Bardzo popularne sa metody Minimalizacji po współrzędnych kolejnymi kierunkami poszukiwań sa kierunki równoległe do kolejnych osi układu współrzędnych. Metoda najszybszego spadku, w której kierunek poszukiwań pokrywa się z minus gradientem minimalizowanej funkcji w punkcie startowym. Jeśli jesteśmy blisko minimum nie sa to dobre pomysły, gdyż prowadza do wielu drobnych kroków, które częściowo likwiduja efekty osiagnięte w krokach poprzednich. Dlaczego? Copyright c 2009-12 P. F. Góra 11 4
Znajdźmy warunek na to, aby f osiagała minimum kierunkowe, czyli aby g k osiagała minimum: dg k dα = i f x i (p k ) i = ( f x=xmin ) T pk = 0. (3) W minimum kierunkowym gradient funkcji jest prostopadły do kierunku poszukiwań. Widać stad natychmiast, że krok minimalizacji w metodzie najszybszego spadku co prawda zaczyna się prostopadle do poziomnic funkcji, ale kończy się stycznie do poziomnic. Dodatkowo w minimalizacji po współrzędnych kolejne kierunki poszukiwań, czyli tutaj kolejne współrzędne, nie zależa od kształtu minimalizowanej funkcji; taka strategia nie może być optymalna. Copyright c 2009-12 P. F. Góra 11 5
Przykład minimalizacja po współrzędnych 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Dużo małych kroków Copyright c 2009-12 P. F. Góra 11 6
Przykład metoda najszybszego spadku 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Wyglada lepiej, ale kroków prawie tyle samo Copyright c 2009-12 P. F. Góra 11 7
Przybliżenie formy kwadratowej Przypuśćmy, że jesteśmy dostatecznie blisko minimum. Rozwijamy minimalizowana funkcję w szereg Taylora wokół minimum i otrzymujemy f(x) 1 2 xt Ax b T x + f 0, (4) gdzie A jest macierza drugich pochodnych czastkowych (hessjanem) obliczanym w minimum. Z definicji minimum, macierz ta jest dodatnio określona, jeśli zaś funkcja jest dostatecznie gładka, macierz ta jest symetryczna. Zatem w pobliżu minimum, funkcja w przybliżeniu zachowuje się jak dodatnio określona forma kwadratowa. Copyright c 2009-12 P. F. Góra 11 8
Gradienty sprzężone W przybliżeniu (4) gradient funkcji f w punkcie x k wynosi f x=xk = Ax k b. (5) Kolejne poszukiwania odbywaja się w kierunku p k+1. w pewnym nowym punkcie x = x k + αp k+1 wynosi Gradient funkcji Zmiana gradientu wynosi f x = Ax k + αap k+1 b. (6) δ ( f) = αap k+1. (7) Copyright c 2009-12 P. F. Góra 11 9
Punkt x k jest minimum kierunkowym w kierunku p k, a więc gradient funkcji w tym punkcie spełnia warunek (3). Jeżeli chcemy aby poszukiwania w nowym kierunku nie zepsuły minimum kierunkowego w kierunku p k, zmiana gradientu musi być prostopadła do starego kierunku poszukiwań, δ ( f) T p k = 0. Tak jednak musi być dla wszystkich poprzednich kierunków, nie chcemy bowiem naruszyć żadnego z poprzednich minimów kierunkowych. A zatem p T i Ap j = 0, i > j. (8) Metodę wybierania kierunków poszukiwań spełniajacych (8) nazywamy metoda gradientów sprzężonych. Copyright c 2009-12 P. F. Góra 11 10
Jak się obejść bez hessjanu? Z jednego z poprzednich wykładów znamy algebraiczna metodę gradientów sprzężonych, wydaje się zatem, iż moglibyśmy jej użyć do skonstruowania ciagu wektorów {p k }. Niestety, nie możemy, nie znamy bowiem macierzy A, czyli hessjanu w minimum. Czy możemy się bez tego obejść? Twierdzenie 1. Niech f ma postać (4) i niech r k = f xk. Z punktu x k idziemy w kierunku p k do punktu, w którym f osiaga minimum kierunkowe. Oznaczmy ten punkt x k+1. Wówczas r k+1 = f xk+1 jest tym samym wektorem, który zostałby skonstruowany w algebraicznej metodzie gradientów sprzężonych. Copyright c 2009-12 P. F. Góra 11 11
Dowód. Na podstawie równania (5), r k = Ax k + b oraz r k+1 = A(x k + αp k ) + b = r k αap k. (9) W minimum kierunkowym p T k f x k+1 = p T k r k+1 = 0 (por. (3)). Wobec tego mnożac równanie (9) lewostronnie przez p T k, otrzymujemy α = pt k r k p T k Ap k. (10) Ponieważ w algebraicznej metodzie gradientów sprzężonych r T k p k = r T k r k, otrzymujemy dokładnie takie samo α jak we wzorach na metodę algebraiczna, co kończy dowód. Copyright c 2009-12 P. F. Góra 11 12
Algorytm gradientów sprzężonych Rozpoczynamy w pewnym punkcie x 1. Bierzemy r 1 = p 1 = f x1. 1. Będac w punkcie x k, dokonujemy minimalizacji kierunkowej w kierunku p k ; osiagamy punkt x k+1. 2. Obliczamy r k+1 = f xk+1. 3. Obliczamy (jak w metodzie algebraicznej) β = rt k+1 r k+1 r T k r k. (11) 4. Obliczamy (jak w metodzie algebraicznej) p k+1 = r k+1 + βp k. Copyright c 2009-12 P. F. Góra 11 13
Zamiast używać równania (11), można skorzystać z β = rt k+1 (r k+1 r k ) r T k r k. (12) Jeżeli funkcja f ma ściśle postać (4), nie ma to znaczenia, gdyż r T k+1 r k = 0. Ponieważ jednak f jest tylko w przybliżeniu forma kwadratowa, (12) może przyspieszyć obliczenia gdy grozi stagnacja. Copyright c 2009-12 P. F. Góra 11 14
Przykład metoda gradientów sprzężonych 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Tylko dwa kroki! Drugi krok nie jest prostopadły do pierwszego, ale jest z nim sprzężony. Copyright c 2009-12 P. F. Góra 11 15
Metoda zmiennej metryki Formalna konieczność rozwiazywania równania f = 0 sugeruje zastosowanie następujacego algorytmu opartego na metodzie Newtona: x i+1 = x i H 1 f xi, (13) gdzie H oznacza macierz drugich pochodnych czastkowych funkcji f wyliczanych w punkcie x i (aktualnym). Copyright c 2009-12 P. F. Góra 11 16
W pobliżu minimum f ma w przybliżeniu postać (4). Wówczas położenie minimum możemy znaleźć formalnie w jednym kroku jako x min x i = A 1 f xi, (14) gdzie A jest hessjanem w minimum. Zauważmy, że aby krok Newtona w istocie prowadził do zmniejszenia się wartości funkcji, musi zachodzić (x x i ) T f xi < 0, czyli (x x i ) T A(x x i ) < 0 (15) co jest spełnione, jeżeli A jest dodatnio określone. Copyright c 2009-12 P. F. Góra 11 17
Wreszcie jeśli x i, x i+1 sa kolejnymi krokami iteracji prowadzacej do minimalizacji, oddejmujac odpowiednie równania (14) od siebie dostajemy x i+1 x i = A 1 ( f xi+1 f xi ). (16) Ale my wciaż nie znamy A. Celem metody zmiennej metryki jest wobec tego skonstruowanie pewnego ciagu przybliżeń hessjanu zamiast równania (16) mamy x i+1 x i = H i+1 ( f xi+1 f xi ). (17) Copyright c 2009-12 P. F. Góra 11 18
W powyższym równaniu H i oznaczaja kolejne przybliżenia hessjanu w minimum. Przyliżenia te musza spełniać 1. H i jest symetryczne i dodatnio określone. 2. Zachodzi lim H i = A 1. (18) i Jeśli nie mamy żadnego lepszego pomysłu, możemy przyjać H 1 = I. Metoda ma formalnie postać x i+1 = x i H i f xi. (19) Copyright c 2009-12 P. F. Góra 11 19
Konstruowanie kolejnych H i DFP updating formula: H i+1 = H i + (x i+1 x i )(x i+1 x i ) T (x i+1 x i ) T ( f xi+1 f xi ) [ Hi ( f xi+1 f x i )] [ Hi ( f xi+1 f x i )] T ( f xi+1 f x i ) T Hi ( f xi+1 f x i ). (20) Copyright c 2009-12 P. F. Góra 11 20
BFGS updating formula: H i+1 = + ( f xi+1 f xi ) T Hi ( f xi+1 f xi ) uu T, u = x i+1 x i (x i+1 x i ) T ( f xi+1 f xi ) (21a) H i ( f xi+1 f xi ) ( f xi+1 f x i ) T Hi ( f xi+1 f x i ), (21b) gdzie kropki oznaczaja cała formułę DFP. Copyright c 2009-12 P. F. Góra 11 21
Własności metody zmiennej metryki Można pokazać, że H i modyfikowane tak według formuły DFP, jak i BFGS 1. Jest symetryczne i dodatnio określone, jeśli tylko H 1 jest symetryczne i dodatnio określone. 2. Spełnia warunek (17). 3. Spełnia (18). 4. Dodatkowo, jeśli f jest forma kwadratowa (4), H i N+1 A 1 w arytmetyce dokładnej. Copyright c 2009-12 P. F. Góra 11 22
Metoda Levenberga-Marquardta Tak metoda gradientów sprzężonych, jak i metoda zmiennej metryki, sa dostosowane do przypadku, w którym funkcja jest z dobrym przybliżeniem postaci (4), a więc gdy jesteśmy dostatecznie blisko poszukiwanego minimum. Jednak daleko od minimum metody te sa powolne trudno oczekiwać, że wzory słuszne dla formy kwadratowej będa dobrze działać gdy funkcja forma kwadratowa nie jest. Daleko od minimum jest sens stosować metodę najszybszego spadku. Powinniśmy zatem mieć metodę, która daleko od minimum zachowuje się jak najszybszy spadek, blisko zaś minimum redukuje się do zmiennej metryki (lub gradientów sprzężonych). Copyright c 2009-12 P. F. Góra 11 23
Powróćmy do algorytmu opartego na metodzie Newtona (13): x i+1 = x i H 1 (x i ) f xi, Daleko od minimum hessjan nie musi być nawet dodatnio określony, co powoduje, iż krok newtonowski wcale nie musi prowadzić do spadku wartości funkcji (por. (15)). My jednak chcemy aby wartość funkcji w kolejnych krokach spadała. Zmodyfikujmy więc hessjan: przy czym λ 0. H ii = (1 + λ) 2 f x 2, (22a) i H ij = 2 f, i j, (22b) x i x j Copyright c 2009-12 P. F. Góra 11 24
Zauważmy, że zachodzi jedna z dwu możliwych sytuacji: (i) jeśli znajdujemy się w basenie atrakcji minimum, wówczas dla odpowiednio dużego λ macierz (22) stanie się dodatnio określona lub też (ii) jeśli dla żadnego dodatniego λ macierz (22) nie staje się dodatnio określona, znajdujemy się na monotonicznej gałęzi funkcji, poza basenem atrakcji minimum. Rozpoczynamy z jakimś niewielkim λ, na przykład λ = λ 0 = 2 10 = 1/1024. Przypuśćmy, iż aktualnym przybliżeniem minimum jest punkt x i. Dostajemy zatem... verte Copyright c 2009-12 P. F. Góra 11 25
Algorytm Levenberga-Marquardta 1. Oblicz f(x i ). 2. Oblicz H(x i ). 3. Oblicz x test = x i H 1 (x i ) f(x i ). (23) 4. Jeżeli f(x test ) > f(x i ), to (a) λ 8λ (można też powiększać o inny znaczny czynnik). (b) Idź do punktu 2. 5. Jeżeli f(x test ) < f(x i ), to (a) λ λ/8 (można też zmniejszać o inny znaczny czynnik). (b) x i+1 = x test. (c) Idź do punktu 1. Copyright c 2009-12 P. F. Góra 11 26
Komentarz Dodatkowo, jeśli λ > λ max 1, uznajemy, iż znajdujemy się poza basenem atrakcji minimum i algorytm zawodzi. Jeśli natomiast λ < λ min 1, macierz H jest w praktyce równa hessjanowi, a zatem modyfikacja (22) przestaje być potrzebna. Możemy wówczas przerzucić się na metodę gradientów sprzężonych lub metodę zmiennej metryki aby wykorzystać ich szybka zbieżność w pobliżu minimum, gdzie funkcja ma postać (4). Ponadto w celu przyspieszenia obliczeń, jeżeli f(x test ) < f(x i ), możemy chwilowo zrezygnować ze zmniejszania λ i modyfikowania H i przeprowadzić kilka kroków z ta sama macierza, a więc korzystajac z tej samej faktoryzacji. Copyright c 2009-12 P. F. Góra 11 27
Zauważmy, iż przypadek λ 1 oznacza, iż jesteśmy daleko od minimum. Z drugiej strony jeśli λ 1, macierz H staje się w praktyce diagonalna, a zatem x test x i (1 + λ) 1 diag ( 2 f x 2 1 ) 1, ( 2 ) 1 ( f 2 f,..., x 2 2 x 2 N ) 1 f(x i) x i const f(x i ), (24) o ile drugie pochodne czastkowe w poszczególnych kierunkach nie różnia się znacznie od siebie. Widać, iż daleko od minimum, gdzie warunek zachowujacy raz osiagnięte minima kierunkowe nie zachodzi, algorytm Levenberga-Marquardta zachowuje się prawie jak metoda najszybszego spadku. Copyright c 2009-12 P. F. Góra 11 28
Przykład funkcja Rosenbrocka 1600 Rosenbrock function z = (1-x) 2 + 100(y-x 2 ) 2 1400 1200 1000 800 600 400 200 03 2.5 y 2 1.5 1 0.5 0-2 -1.5-1 -0.5 0 0.5 x 1 1.5 2 Funkcja Rosenbrocka f(x, y) = (1 x) 2 + 100(y x 2 ) 2 jest przykładem funkcji, w której daleko od minimum metody gradientów sprzężonych i zmiennej metryki nie zapewniaja szybkiej zbieżności. Copyright c 2009-12 P. F. Góra 11 29
Metoda Powella Wszystkie omówione wyżej metody wymagały obliczania pochodnych (gradientu) funkcji f(x). Co jednak zrobić, jeśli obliczenie pochodnych jest kosztowne, niemożliwe lub funkcja jest nieróżniczkowalna? Zasadnicza strategia postępowania minimalizacja kierunkowa, wybór nowego kierunku etc pozostaje w mocy, zmienia się tylko sposób wyboru kolejnych kierunków. Metoda Powella polega na konstrukcji kierunków, które z czasem, po wielu iteracjach, staja się sprzężone. Copyright c 2009-12 P. F. Góra 11 30
Inicjalizujemy biorac {p i } N i=1 = {e i} N i=1, gdzie {e i} N i=1 s a kolejnymi wersorami (innymi słowy, zaczynamy od minimalizacji po współrzędnych). Następnie 1. Znajdujemy się w pewnym punkcie X 0. 2. Minimalizujemy wzdłuż kolejnych kierunków p i, osiagaj ac kolejno punkty X i. 3. Dla i = 1,..., N 1: p i = p i+1. 4. p N = X N X 0. 5. Minimalizujemy wzdłuż (nowego) p N, oznaczajac znaleziony punkt przez X 0. 6. GOTO 1 Jeśli badana funkcja jest rozwijalna w szereg Taylora wokół minimum, po N iteracjach powyższej procedury kierunki {p i } N i=1 staj a się sprzężone. Copyright c 2009-12 P. F. Góra 11 31
Przykład metoda Powella 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Mniej kroków niż w minimalizacji po współrzędnych. W większej liczbie wymiarów byłoby jeszcze lepiej. Copyright c 2009-12 P. F. Góra 11 32