Wykład 11
Transkrypt
Wykład 11
Wstep ˛ do metod numerycznych Minimalizacja funkcji wielu zmiennych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Strategia minimalizacji wielowymiarowej Zakładamy, że metody poszukiwania minimów lokalnych fukncji jednej zmiennej sa˛ znane. Rozważmy funkcje˛ f :RN → R. Przedstawimy strategie˛ poszukiwania (lokalnego) minimum tej funkcji w postaci ciagu ˛ minimalizacji jednowymiarowych. c 2009-11 P. F. Góra Copyright 11–2 1. Aktualnym przybliżeniem minimum jest punkt xk . 2. Dany jest pewien kierunek poszukiwań pk . 3. Konstruujemy funkcje˛ gk :R → R gk (α) = f (xk + αpk ) . (1) Zauważmy, że funkcja gk (α) jest funkcja˛ jednej zmiennej. Geometrycznie jest to “ślad” N +1-wymiarowego wykresu funkcji f (x) przecietego ˛ płaszczyzna˛ zawierajac ˛ a˛ punkt xk i wektor pk . 4. Znanymi metodami jednowymiarowymi znajdujemy αmin takie, że funkcja (1) osiaga ˛ minimum. Jest to minimum kierunkowe funkcji f . 5. xk+1 = xk + αminpk . (2) 6. goto 1. c 2009-11 P. F. Góra Copyright 11–3 Jak wybierać kierunki poszukiwań? Cały problem sprowadza sie˛ zatem do wyboru odpowiedniej sekwencji kolejnych kierunków {pk }. Bardzo popularne sa˛ metody • Minimalizacji po współrz˛ednych — kolejnymi kierunkami poszukiwań sa˛ kierunki równoległe do kolejnych osi układu współrz˛ednych. • Metoda najszybszego spadku, w której kierunek poszukiwań pokrywa sie˛ 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˛eściowo likwiduja˛ efekty osiagni ˛ ete ˛ w krokach poprzednich. Dlaczego? c 2009-11 P. F. Góra Copyright 11–4 Znajdźmy warunek na to, aby f osiagała ˛ minimum kierunkowe, czyli aby gk osiagała ˛ minimum: T X ∂f dgk = (pk )i = ∇f |x=x pk = 0 . (3) min dα i ∂xi W minimum kierunkowym gradient funkcji jest prostopadły do kierunku poszukiwań. Widać stad ˛ natychmiast, że krok minimalizacji w metodzie najszybszego spadku co prawda zaczyna sie˛ prostopadle do poziomnic funkcji, ale kończy sie˛ stycznie do poziomnic. Dodatkowo w minimalizacji po współrz˛ednych kolejne kierunki poszukiwań, czyli — tutaj — kolejne współrz˛edne, nie zależa˛ od kształtu minimalizowanej funkcji; taka strategia nie może być optymalna. c 2009-11 P. F. Góra Copyright 11–5 Przykład — minimalizacja po współrzednych ˛ 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 Dużo małych kroków c 2009-11 P. F. Góra Copyright 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 c 2009-11 P. F. Góra Copyright 11–7 Przybliżenie formy kwadratowej Przypuśćmy, że jesteśmy dostatecznie blisko minimum. Rozwijamy minimalizowana˛ funkcje˛ w szereg Taylora wokół minimum i otrzymujemy 1 T f (x) ' x Ax − bT x + f0 , 2 (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 sie˛ jak dodatnio określona forma kwadratowa. c 2009-11 P. F. Góra Copyright 11–8 Gradienty sprzeżone ˛ W przybliżeniu (4) gradient funkcji f w punkcie xk wynosi ∇f |x=xk = Axk − b . (5) Kolejne poszukiwania odbywaja˛ sie˛ w kierunku pk+1. Gradient funkcji w pewnym nowym punkcie x = xk + αpk+1 wynosi ∇f |x = Axk + αApk+1 − b . (6) Zmiana gradientu wynosi δ (∇f ) = αApk+1 . c 2009-11 P. F. Góra Copyright (7) 11–9 Punkt xk jest minimum kierunkowym w kierunku pk , a wiec ˛ gradient funkcji w tym punkcie spełnia warunek (3). Jeżeli chcemy aby poszukiwania w nowym kierunku nie zepsuły minimum kierunkowego w kierunku pk , zmiana gradientu musi być prostopadła do starego kierunku poszukiwań, δ (∇f )T pk = 0. Tak jednak musi być dla wszystkich poprzednich kierunków, nie chcemy bowiem naruszyć żadnego z poprzednich minimów kierunkowych. A zatem pTi Apj = 0 , i>j. (8) Metode˛ wybierania kierunków poszukiwań spełniajacych ˛ (8) nazywamy metoda˛ gradientów sprz˛eżonych. c 2009-11 P. F. Góra Copyright 11–10 Jak sie˛ obejść bez hessjanu? Z jednego z poprzednich wykładów znamy algebraiczna˛ metode˛ gradientów sprz˛eżonych, wydaje sie˛ zatem, iż moglibyśmy jej użyć do skonstruowania ciagu ˛ wektorów {pk }. Niestety, nie możemy, nie znamy bowiem macierzy A, czyli hessjanu w minimum. Czy możemy sie˛ bez tego obejść? Twierdzenie 1. Niech f ma postać (4) i niech rk = − ∇f |xk . Z punktu xk idziemy w kierunku pk do punktu, w którym f osiaga ˛ minimum kierunkowe. Oznaczmy ten punkt xk+1. Wówczas rk+1 = − ∇f |xk+1 jest tym samym wektorem, który zostałby skonstruowany w algebraicznej metodzie gradientów sprz˛eżonych. c 2009-11 P. F. Góra Copyright 11–11 Dowód. Na podstawie równania (5), rk = −Axk + b oraz rk+1 = −A(xk + αpk ) + b = rk − αApk . (9) Tr W minimum kierunkowym pT ∇f | = − p xk+1 k k k+1 = 0 (por. (3)). Wobec tego mnożac ˛ równanie (9) lewostronnie przez pT k , otrzymujemy pTk rk α= T . pk Apk (10) T Ponieważ w algebraicznej metodzie gradientów sprz˛eżonych rT k pk = rk rk , otrzymujemy dokładnie takie samo α jak we wzorach na metode˛ algebraiczna, ˛ co kończy dowód. c 2009-11 P. F. Góra Copyright 11–12 Algorytm gradientów sprzeżonych ˛ Rozpoczynamy w pewnym punkcie x1. Bierzemy r1 = p1 = − ∇f |x1 . 1. Bed ˛ ac ˛ w punkcie xk , dokonujemy minimalizacji kierunkowej w kierunku pk ; osiagamy ˛ punkt xk+1. 2. Obliczamy rk+1 = − ∇f |xk+1 . 3. Obliczamy (jak w metodzie algebraicznej) β= rTk+1rk+1 rTk rk . (11) 4. Obliczamy (jak w metodzie algebraicznej) pk+1 = rk+1 + β pk . c 2009-11 P. F. Góra Copyright 11–13 Zamiast używać równania (11), można skorzystać z β= rTk+1(rk+1 − rk ) rTk rk . (12) Jeżeli funkcja f ma ściśle postać (4), nie ma to znaczenia, gdyż rT k+1 rk = 0. Ponieważ jednak f jest tylko w przybliżeniu forma˛ kwadratowa, ˛ (12) może przyspieszyć obliczenia gdy grozi stagnacja. c 2009-11 P. F. Góra Copyright 11–14 Przykład — metoda gradientów sprzeż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˛eżony. c 2009-11 P. F. Góra Copyright 11–15 Metoda zmiennej metryki Formalna konieczność rozwiazywania ˛ równania ∇f = 0 sugeruje zastosowanie nastepuj ˛ acego ˛ algorytmu opartego na metodzie Newtona: xi+1 = xi − H−1 ∇f |xi , (13) gdzie H oznacza macierz drugich pochodnych czastkowych ˛ funkcji f wyliczanych w punkcie xi (aktualnym). c 2009-11 P. F. Góra Copyright 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 xmin − xi = −A−1 ∇f |xi , (14) gdzie A jest hessjanem w minimum. Zauważmy, że aby krok Newtona w istocie prowadził do zmniejszenia sie˛ wartości funkcji, musi zachodzić (x − xi)T ∇f |xi < 0, czyli − (x − xi)T A(x − xi) < 0 (15) co jest spełnione, jeżeli A jest dodatnio określone. c 2009-11 P. F. Góra Copyright 11–17 Wreszcie jeśli xi, xi+1 sa˛ kolejnymi krokami iteracji prowadzacej ˛ do minimalizacji, oddejmujac ˛ odpowiednie równania (14) od siebie dostajemy −1 xi+1 − xi = A ∇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 xi+1 − xi = Hi+1 ∇f |xi+1 − ∇f |xi . c 2009-11 P. F. Góra Copyright (17) 11–18 W powyższym równaniu Hi oznaczaja˛ kolejne przybliżenia hessjanu w minimum. Przyliżenia te musza˛ spełniać 1. Hi jest symetryczne i dodatnio określone. 2. Zachodzi lim Hi = A−1 . i→∞ (18) Jeśli nie mamy żadnego lepszego pomysłu, możemy przyjać ˛ H1 = I. Metoda ma formalnie postać xi+1 = xi − Hi ∇f |xi . c 2009-11 P. F. Góra Copyright (19) 11–19 Konstruowanie kolejnych Hi DFP updating formula: Hi+1 = Hi + h − (xi+1 − xi)(xi+1 − xi)T (xi+1 − xi)T ∇f |xi+1 − ∇f |xi Hi ∇f |xi+1 − ∇f |xi ∇f |xi+1 − ∇f |xi c 2009-11 P. F. Góra Copyright i h T Hi ∇f |xi+1 − ∇f |xi Hi ∇f |xi+1 − ∇f |xi iT . (20) 11–20 BFGS updating formula: Hi+1 = · · · + ∇f |xi+1 − ∇f |xi u = T Hi ∇f |xi+1 − ∇f |xi uuT , (21a) xi+1 − xi (xi+1 − xi)T ∇f |xi+1 − ∇f |xi − Hi ∇f |xi+1 − ∇f |xi ∇f |xi+1 − ∇f |xi T Hi ∇f |xi+1 − ∇f |xi , (21b) gdzie kropki oznaczaja˛ cała˛ formułe˛ DFP. c 2009-11 P. F. Góra Copyright 11–21 Własności metody zmiennej metryki Można pokazać, że Hi modyfikowane tak według formuły DFP, jak i BFGS 1. Jest symetryczne i dodatnio określone, jeśli tylko H1 jest symetryczne i dodatnio określone. 2. Spełnia warunek (17). 3. Spełnia (18). 4. Dodatkowo, jeśli f jest forma˛ kwadratowa˛ (4), Hi>N +1 ≡ A−1 w arytmetyce dokładnej. c 2009-11 P. F. Góra Copyright 11–22 Metoda Levenberga-Marquardta Tak metoda gradientów sprz˛eżonych, jak i metoda zmiennej metryki, sa˛ dostosowane do przypadku, w którym funkcja jest z dobrym przybliżeniem postaci (4), a wiec ˛ gdy jesteśmy dostatecznie blisko poszukiwanego minimum. Jednak daleko od minimum metody te sa˛ powolne — trudno oczekiwać, że wzory słuszne dla formy kwadratowej bed ˛ a˛ dobrze działać gdy funkcja forma˛ kwadratowa˛ nie jest. Daleko od minimum jest sens stosować metode˛ najszybszego spadku. Powinniśmy zatem mieć metode, ˛ która daleko od minimum zachowuje sie˛ jak najszybszy spadek, blisko zaś minimum redukuje sie˛ do zmiennej metryki (lub gradientów sprz˛eżonych). c 2009-11 P. F. Góra Copyright 11–23 Powróćmy do “algorytmu” opartego na metodzie Newtona (13): xi+1 = xi − H−1(xi) ∇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 wiec ˛ hessjan: ∂ 2f , ii = (1 + λ) 2 ∂xi 2f ∂ f , i 6= j , H ij = ∂xi∂xj f H (22a) (22b) przy czym λ > 0. c 2009-11 P. F. Góra Copyright 11–24 Zauważmy, że zachodzi jedna z dwu możliwych sytuacji: (i) jeśli znajdujemy sie˛ w basenie atrakcji minimum, wówczas dla odpowiednio dużego λ macierz (22) stanie sie˛ dodatnio określona lub też (ii) jeśli dla żadnego dodatniego λ macierz (22) nie staje sie˛ dodatnio określona, znajdujemy sie˛ na monotonicznej gałezi ˛ 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 xi. Dostajemy zatem. . . verte c 2009-11 P. F. Góra Copyright 11–25 Algorytm Levenberga-Marquardta 1. Oblicz ∇f (xi). f(x ). 2. Oblicz H i 3. Oblicz f−1(x )∇f (x ) . xtest = xi − H i i (23) 4. Jeżeli f (xtest) > f (xi), to (a) λ → 8λ (można też powiekszać ˛ o inny znaczny czynnik). (b) Idź do punktu 2. 5. Jeżeli f (xtest) < f (xi), to (a) λ → λ/8 (można też zmniejszać o inny znaczny czynnik). (b) xi+1 = xtest. (c) Idź do punktu 1. c 2009-11 P. F. Góra Copyright 11–26 Komentarz Dodatkowo, jeśli λ > λmax 1, uznajemy, iż znajdujemy sie˛ poza basenem atrakcji minimum i algorytm zawodzi. Jeśli natomiast λ < λmin 1, f jest w praktyce równa hessjanowi, a zatem modyfikacja (22) macierz H przestaje być potrzebna. Możemy wówczas przerzucić sie˛ na metode˛ gradientów sprz˛eżonych lub metode˛ 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 (xtest) < f (xi), możemy f i przeprochwilowo zrezygnować ze zmniejszania λ i modyfikowania H wadzić kilka kroków z ta˛ sama˛ macierza, ˛ a wiec ˛ korzystajac ˛ z tej samej faktoryzacji. c 2009-11 P. F. Góra Copyright 11–27 Zauważmy, iż przypadek λ 1 oznacza, iż jesteśmy daleko od minimum. f staje sie Z drugiej strony jeśli λ 1, macierz H ˛ w praktyce diagonalna, a zatem ! ∂ 2f −1 xtest ' xi − (1 + λ)−1diag , ∂x2 1 !−1 2 ∂ f ,..., 2 ∂x2 ' xi − const ∇f (xi) , !−1 ∂ 2f ∇f (xi) 2 ∂xN (24) o ile drugie pochodne czastkowe ˛ w poszczególnych kierunkach nie różnia˛ sie˛ znacznie od siebie. Widać, iż daleko od minimum, gdzie warunek zachowujacy ˛ raz osiagni ˛ ete ˛ minima kierunkowe nie zachodzi, algorytm Levenberga-Marquardta zachowuje sie˛ prawie jak metoda najszybszego spadku. c 2009-11 P. F. Góra Copyright 11–28 Przykład — funkcja Rosenbrocka Rosenbrock function z = (1-x)2 + 100(y-x2)2 1600 1400 1200 1000 800 600 400 200 03 2.5 2 2 1.5 1 1.5 y 0.5 1 0 -0.5 0.5 -1 0 -2 -1.5 x Funkcja Rosenbrocka f (x, y) = (1 − x)2 + 100(y − x2)2 jest przykładem ˛ funkcji, w której daleko od minimum metody gradientów sprz˛eżonych i zmiennej metryki nie zapewniaja˛ szybkiej zbieżności. c 2009-11 P. F. Góra Copyright 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 postepowania ˛ — minimalizacja kierunkowa, wybór nowego kierunku etc — pozostaje w mocy, zmienia sie˛ tylko sposób wyboru kolejnych kierunków. Metoda Powella polega na konstrukcji kierunków, które z czasem, po wielu iteracjach, staja˛ sie˛ sprz˛eżone. c 2009-11 P. F. Góra Copyright 11–30 N , gdzie {e }N sa˛ kolejnymi werInicjalizujemy biorac ˛ {pi}N = { e } i i i=1 i=1 i=1 sorami (innymi słowy, zaczynamy od minimalizacji po współrz˛ednych). Nastepnie ˛ 1. Znajdujemy sie˛ w pewnym punkcie X0. 2. Minimalizujemy wzdłuż kolejnych kierunków pi, osiagaj ˛ ac ˛ kolejno punkty Xi . 3. Dla i = 1, . . . , N − 1 : pi = pi+1 . 4. pN = XN − X0 . 5. Minimalizujemy wzdłuż (nowego) pN , oznaczajac ˛ znaleziony punkt przez X0. 6. GOTO 1 Jeśli badana funkcja jest rozwijalna w szereg Taylora wokół minimum, po N iteracjach powyższej procedury kierunki {pi}N ˛ sprz˛eżone. i=1 staja˛ sie c 2009-11 P. F. Góra Copyright 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˛ednych. W wiekszej ˛ liczbie wymiarów byłoby jeszcze lepiej. c 2009-11 P. F. Góra Copyright 11–32