Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Podobne dokumenty
Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Komputerowa analiza zagadnień różniczkowych 2. Metoda gradientów sprzężonych Minimalizacja i układy równań algebraicznych

P. F. Góra.

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

KADD Minimalizacja funkcji

Optymalizacja ciągła

Optymalizacja ciągła

Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra

Optymalizacja ciągła

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

KADD Minimalizacja funkcji

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wstęp do metod numerycznych 11. Minimalizacja: funkcje jednej zmiennej. P. F. Góra

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Wstęp do metod numerycznych 9. Rozwiazywanie równań algebraicznych. P. F. Góra

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Metody numeryczne I Równania nieliniowe

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Matematyka stosowana i metody numeryczne

Optymalizacja ciągła

1 Równania nieliniowe

Wstęp do metod numerycznych Aproksymacja i zagadnienie najmniejszych kwadratów

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

Zaawansowane metody numeryczne

Rozwiazywanie układów równań liniowych. Ax = b

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Iteracyjne rozwiązywanie równań

3. Funkcje wielu zmiennych

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Rozwiązywanie równań nieliniowych

1 Pochodne wyższych rzędów

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

II. FUNKCJE WIELU ZMIENNYCH

Funkcje wielu zmiennych

Wstęp do metod numerycznych 9. Miejsca zerowe wielomianów. P. F. Góra

Optymalizacja (minimalizacja) funkcji. Plan wykładu: 1. Sformułowanie problemu, funkcja celu. 2. Metody bezgradientowe

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 5. Terminologia. Metody Eulera, metody punktu środkowego i metody trapezowe

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

Wstęp do metod numerycznych SVD, metody iteracyjne i metoda gradientów. P. F. Góra

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Metody numeryczne II

Wykład 14. Elementy algebry macierzy

Wstęp do metod numerycznych 5. Numeryczne zagadnienie własne. P. F. Góra

Wstęp do metod numerycznych Miejsca zerowe wielomianów Układy równań algebraicznych. P. F. Góra

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

Metody numeryczne II

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

Definicja pochodnej cząstkowej

2. Definicja pochodnej w R n

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Komputerowa analiza zagadnień różniczkowych 5. Metody Rungego-Kutty (II) P. F. Góra

10. Metody obliczeniowe najmniejszych kwadratów

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

Metody Rozmyte i Algorytmy Ewolucyjne

Elementy metod numerycznych

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

1 Funkcje dwóch zmiennych podstawowe pojęcia

Pojęcie funkcji. Funkcja liniowa

Prawdopodobieństwo i statystyka

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

INTERPOLACJA I APROKSYMACJA FUNKCJI

1.3. Optymalizacja geometrii czasteczki

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju

Stopę zbieżności ciagu zmiennych losowych a n, takiego, że E (a n ) < oznaczamy jako a n = o p (1) prawdopodobieństwa szybciej niż n α.

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Informacja o przestrzeniach Sobolewa

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Elementy inteligencji obliczeniowej

jeśli nie jest spełnione kryterium zatrzymania, to nowym punktem roboczym x(t+1) staje i następuje przejście do 1)

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Komputerowa Analiza Danych Doświadczalnych

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Matematyka stosowana i metody numeryczne

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

13. Równania różniczkowe - portrety fazowe

Transkrypt:

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018

Strategia minimalizacji wielowymiarowej Zakładamy, że metody poszukiwania minimów lokalnych fukncji jednej zmiennej sa znane. Rozważmy funkcję f:r N R, ciagł a. Przedstawimy strategię poszukiwania (lokalnego) minimum tej funkcji w postaci ciagu minimalizacji jednowymiarowych. Copyright c 2009-18 P. F. Góra 12 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-18 P. F. Góra 12 3

Przykład Niech f : R 2 R, f(x 1, x 2 ) = 2.5x 2 1 +x 1x 2 +x 2 2 x 1 x 2. Przypuśćmy, że dany jest punkt x k = (1, 2) oraz kierunek poszukiwań p k = [ 1, 1] T. Wówczas g k (α) = f(x k + αp k ) = 2.5(1 α) 2 + (1 α)(2 + α) + (2 + α) 2 (1 α) (2 + α) = 2.5α 2 2α + 5.5 (3) Jest to funkcja jednej zmiennej, α. Osiaga ona minimum dla α = 2 5. Zatem następnym punktem będzie x k+1 = x k + 2 ( 5 p k = 1 2 5, 2 + 2 ) = (0.6, 2.4) (4) 5 Wystarczy teraz wybrać kolejny kierunek poszukiwań p k+1 etc. Copyright c 2009-18 P. F. Góra 12 4

Jak wybierać kierunki poszukiwań? Cały problem sprowadza się zatem do wyboru odpowiedniej sekwencji kolejnych kierunków {p k }. Okazuje się, że inaczej powinniśmy wybierać kierunki poszukiwań gdy (spodziewamy się, że) jesteśmy blisko poszukiwanego minimum, inaczej zaś, gdy jesteśmy daleko od minimum. Copyright c 2009-18 P. F. Góra 12 5

Następujace strategie wyboru kierunkow poszukiwań sa bardzo popularne: 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 aktualnym punkcie. 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-18 P. F. Góra 12 6

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. Osie układu nijak się maja do naturalnej geometrii minimalizowanej funkcji. Copyright c 2009-18 P. F. Góra 12 7

W metodzie najszybszego spadku co prawda realizujemy najważniejszy pomysł na minimalizację zawsze podażamy w kierunku malejacych wartości (czyli kierunkiem poszukiwań jest minus gradient funkcji w aktualnym punkcie) ale czasami poszukiwanie minimów kierunkowych bywa niepotrzebnie kosztowne. W dodatku, jeśli jesteśmy już blisko minimum, okazuje się, że metoda najszybszego spadku także prowadzi do konieczności wykonywania wielu małych kroków, które częściowo niweluja efekty osiagnięte w krokach poprzednich. Dlatego gdy jestesmy daleko od minimum, nie minimalizujemy, czyli nie poszukujemy minimów kierunkowych, a jedynie idziemy w kierunku najszybszego spadku funkcji, nie starajac sięe osiagn ać minimum kierunkowego. Gdy zaś jesteśmy blisko minimum, potrzebujemy jakiejś lepszej, bardziej wyrafinowanej metody Copyright c 2009-18 P. F. Góra 12 8

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-18 P. F. Góra 12 9

Funkcja Rosenbrocka 1600 Rosenbrock function z = (1-x) 2 + 100(y-x 2 ) 2 1400 1200 2 1000 800 600 1.5 1 400 0.5 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 0 1 0.8 0.6 0.4 0.2 0-0.2 0 0.2 0.4 0.6 0.8 1 1.2 Funkcja Rosenbrocka f(x, y) = (1 x) 2 + 100(y x 2 ) 2 jest przykładem funkcji, która trudno zminimalizować. W klasycznym zadaniu minimalizuje się tę funkcję startujac z punktu ( 3, 4). Wartość funkcji w tym punkcie wynosi 16916, zaś gradient to [ 15608, 2600] T, należy zatem poruszać się w kierunku minus gradientu, ale o bardzo niewielki ułamek jego długości. Prawy panel pokazuje końcowy przebieg (niezbyt udanej) minimalizacji funkcji Rosenbrocka za pomoca metody najszybszego spadku. Copyright c 2009-18 P. F. Góra 12 10

W pobliżu minimum 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. (5) W minimum kierunkowym gradient funkcji jest prostopadły do kierunku poszukiwań. Zatem w metodzie najszybszego spadku kierunek poszukiwań (lokalny kierunek minimalizacji) co prawda zaczyna się prostopadle do poziomnic funkcji, ale kończy się stycznie do poziomnic. Natomiast 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-18 P. F. Góra 12 11

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, (6) 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-18 P. F. Góra 12 12

Gradienty sprzężone W przybliżeniu (6) gradient funkcji f w punkcie x k wynosi f x=xk = Ax k b. (7) 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. (8) δ ( f) = αap k+1. (9) Copyright c 2009-18 P. F. Góra 12 13

Punkt x k jest minimum kierunkowym w kierunku p k, a więc gradient funkcji w tym punkcie spełnia warunek (5). 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. (10) Metodę wybierania kierunków poszukiwań spełniajacych (10) nazywamy metoda gradientów sprzężonych. Copyright c 2009-18 P. F. Góra 12 14

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ć (6) 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-18 P. F. Góra 12 15

Dowód. Na podstawie równania (7), r k = Ax k + b oraz r k+1 = A(x k + αp k ) + b = r k αap k. (11) W minimum kierunkowym p T k f x k+1 = p T k r k+1 = 0 (por. (5)). Wobec tego mnożac równanie (11) lewostronnie przez p T k, otrzymujemy α = pt k r k p T k Ap k. (12) 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-18 P. F. Góra 12 16

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. (13) 4. Obliczamy (jak w metodzie algebraicznej) p k+1 = r k+1 + βp k. Copyright c 2009-18 P. F. Góra 12 17

W metodzie gradientów sprzężonych te kroki, które wymagałyby znajomości hessjanu w minimum, zastępujemy minimalizacja kierunkowa, natomiast te kroki, które nie wymagaja znajomości hessjanu, wykonujemy tak samo, jak w algebraicznej metodzie gradientów sprzęzonych. Twierdzenie ze strony 15 gwarantuje, że formalnie daje to to samo, co algebraiczna metoda gradientów sprzężonych. Copyright c 2009-18 P. F. Góra 12 18

Zamiast używać równania (13), można skorzystać z β = rt k+1 (r k+1 r k ) r T k r k. (14) Jeżeli funkcja f ma ściśle postać (6), nie ma to znaczenia, gdyż r T k+1 r k = 0. Ponieważ jednak f jest tylko w przybliżeniu forma kwadratowa, (14) może przyspieszyć obliczenia gdy grozi stagnacja. Copyright c 2009-18 P. F. Góra 12 19

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-18 P. F. Góra 12 20

Przykład funkcja Rosenbrocka 2 1.5 1 0.5 0 1 0.8 0.6 0.4 0.2 0-0.2 0 0.2 0.4 0.6 0.8 1 1.2 Zastosowanie algorytmu gradientów sprzężonych do minimalizacji funkcji Rosenbrocka. Widać znaczne przyspieszenie (mniej punktów pośrednich!) w stosunku do przedstawianej powyżej metody najszybszego spadku. Copyright c 2009-18 P. F. Góra 12 21

Metoda zmiennej metryki Formalnie minimum funkcji wielu zmiennych znajdujemy rozwiazuj ac równanie f = 0. Sugeruje to zastosowanie następujacego algorytmu opartego na metodzie Newtona: x i+1 = x i H 1 i f xi, (15) gdzie H i oznacza macierz drugich pochodnych czastkowych funkcji f wyliczanych w punkcie x i (aktualnym), natomiast f xi jest gradientem funkcji w aktualnym punkcie. Aby krok Newtona w istocie prowadził do zmniejszenia się wartości funkcji, musi zachodzić (x i+1 x i ) T f xi < 0, czyli (x i+1 x i ) T H i (x i+1 x i ) < 0 (16) Copyright c 2009-18 P. F. Góra 12 22

co jest spełnione, jeżeli H i jest dodatnio określone. W metodzie zmiennej metryki, zamiast używać hessjanu (macierzy drugich pochodnych czastkowych), co może być numerycznie kosztowne, lub wręcz niemożliwe, a poza tym nie daje gwarancji, że hessjan nie w bezpośrednim pobliżu minimum będzie dodatnio określony, konstruujemy ciag dodatnio określonych przybliżeń hessjanu, zbieżny do hessjanu w minimum. Algorytm wyglada następujaco: Startujemy z jakiegoś x 0. Jako poczat- kowe przybliżenie hessjanu H 0 bierzemy jakaś sensowna macierz syme- tryczna, dodatnio określona jeśli nie mamy lepszego pomysłu, może to być macierz jednostkowa. Następnie wykonujemy iterację: Copyright c 2009-18 P. F. Góra 12 23

1. Rozwiazujemy równanie H k p k = f xk. 2. Przeprowadzamy minimalizację kierunkowa funkcji jednowymiarowej f(x k + αp k ). Niech minimum kierunkowemu odpowiada wartość α k. 3. x k+1 = x k + α k p k. 4. Wyliczamy y k = f xk+1 f xk. 5. Wyliczamy nowe przybliżenie H k+1, na przykład za pomoca formuły BFGS: H k+1 = H k + y kyk T α k p T k y f ( ) T x f xk k k p T k H. (17) kp k Kończymy gdy p k < ε, gdzie ε jest zadana tolerancja. Copyright c 2009-18 P. F. Góra 12 24

Własności metody zmiennej metryki Można pokazać, że jeżeli H 0 jest symetryczna i dodatnio określona, także następne H k maja te własności. Dodatkowo, jeśli f jest forma kwadratowa (6), H i N+1 H min w arytmetyce dokładnej. W ogólności ciag H k nie musi być zbieżny do prawdziwego hessjanu, nawet jeśli metoda daje zadowalajace numerycznie przybliżenie minimum. Metoda zmiennej metryki sprawdza się szczególnie w zagadnieniach o naprawdę dużej liczbie wymiarów. W pewnym uproszczeniu można powiedzieć, że metoda zmiennej metryki ma się do metody gradientów sprzężonych tak, jak metoda Broydena ma się do wielowymiarowej metody Newtona (litera B w akronimie BFGS oznacza właśnie Broydena). Copyright c 2009-18 P. F. Góra 12 25

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 (6), 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-18 P. F. Góra 12 26

Powróćmy do algorytmu opartego na metodzie Newtona (15): 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. (16)). 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, (18a) i H ij = 2 f, i j, (18b) x i x j Copyright c 2009-18 P. F. Góra 12 27

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 (18) stanie się dodatnio określona lub też (ii) jeśli dla żadnego dodatniego λ macierz (18) 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-18 P. F. Góra 12 28

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 ). (19) 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-18 P. F. Góra 12 29

Komentarz Daleko od minimum nie minimalizujemy (nie poszukujemy minimów kierunkowych), a jedynie podażamy w kierunku malejacych wartości funkcji. 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 (18) 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ć (6). 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-18 P. F. Góra 12 30

W metodzie Levenberga-Marquardta używa się prawdziwego hessjanu, ale nie obliczanego w minimum, którego połozenia nie znamy, ale w jakimś punkcie w otoczeniu minimum. Spełnienie warunku λ < λ min 1 oznacza, że hessjan jest dodatnio określony, a więc krok Newtona faktycznie prowadzi do zmniejszenia wartości funkcji, skad wnosimy, że znaleźliśmy sie w basenie atrakcji (lokalnego) minimum. W tym momencie możemy się przerzucić na metodę gradientów sprzężonych lub na metodę zmiennej metryki. Jeśli wybierzemy ten drugi wariant, jako przybliżenie poczatkowe możemy wziać już obliczony hessjan z otoczenia minimum będzie to lepsze przybliżenie, niż macierz jednostkowa. Copyright c 2009-18 P. F. Góra 12 31

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 ), (20) 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-18 P. F. Góra 12 32

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-18 P. F. Góra 12 33

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-18 P. F. Góra 12 34

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-18 P. F. Góra 12 35

Z punktu widzenia Big Data... W ciagu ostatnich kilkunastu lat rozmiary dostępnych zbiorów danych rosna szybciej niż rośnie prędkość procesorów (nawet po uwzględnieniu paralelizacji i obliczeń na GPU). Z tego punktu widzenia możliwości uczenia maszynowego sa ograniczone raczej przez możliwości obliczeniowe niż przez dostępne zbiory danych. Tę klasę problemów zwyczajowo określa się jako Big Data. Copyright c 2009-18 P. F. Góra 12 36

Uczenie maszynowe bardzo często oznacza konieczność minimalizowania funkcji gdzie Q(X) = 1 N N i=1 Q i (X; x i, y i ) (21) X jest wielowymiarowa zmienna, po której minimalizujemy wektorem estymatorów, których wartości chcemy znaleźć. Tego typu problemy pojawiaja się w zagadnieniu najmniejszych kwadratów. i: Q i 0, Q i maja taka sama postać funkcyjna, różnia się tylko elementami x i, y i (elementami zbioru uczacego), N 1 (N jest zazwyczaj BARDZO duże, rzędu kilkudziesięciu, niekiedy kilkuset tysięcy). Copyright c 2009-18 P. F. Góra 12 37

Problem (21) można rozwiazać za pomoca którejś z już omówionych metod (minimalizacja funkcji wielu zmiennych lub rozwiazywanie za pomoca SVD nadokreślonych układów równań, jeżeli mowa o liniowym zagadnieniu najmniejszych kwadratów). Jednak dla bardzo dużych N, czyli dla bardzo dużych zbiorów uczacych, inne podejście może być bardziej efektywne. Punktem wyjścia jest metoda najszybszego spadku (ang. steepest gradient descent): W każdym kroku podażamy w kierunku minus gradientu funkcji Q(p), aż do osiagnięcia minimum kierunkowego. Jak jednak pamiętamy, daleko od minimum nie minimalizujemy, tylko podażamy z arbitralnie dobranym krokiem w kierunku ujemnego gradientu. Copyright c 2009-18 P. F. Góra 12 38

Dlatego zamiast minimalizować, w n-tym kroku iteracji przyjmujemy X n+1 = X n γ X Q(X) Xn = X n γ 1 N N i=1 X Q i (X; x i, y i ) Xn. (22) γ = const i jest nazywane prędkościa uczenia (ang. learning rate). Copyright c 2009-18 P. F. Góra 12 39

Uwaga: Przyjęcie stałego kroku nie jest aż tak naiwne, jak by się to mogło wydawać. Jeśli rozpatrzymy układ równań różniczkowych typu dy = f(y) (23) dx to najprostsza (zdecydowanie nie najlepsza, ale najprostsza i najszybsza) metoda jego numerycznego rozwiazywania jest metoda Eulera y n+1 = y n + h f(y n ), (24) gdzie h jest stałym krokiem narastania zmiennej niezależnej x. Metoda najszybszego spadku (22) ze stałym krokiem γ ma taka sama postać, co metoda Eulera, po utożsamieniu f Q. Copyright c 2009-18 P. F. Góra 12 40

Stochastic Gradient Descent Jeśli w (22) N 1, czas obliczania sumy gradientów czastkowych N i Q i może być bardzo znaczny. Zarazem wyrażenie N 1 Ni Q i ma postać średniego gradientu czastkowego. Jeśli założymy, że poszczególne elementy tej sumy nie odbiegaja zbytnio od średniej, możemy średni, kosztowny w wyliczaniu gradient, zastapić losowo wybranym gradientem czast- kowym. Otrzymujemy zatem algorytm Stochastic Gradient Descent: wybierz losowo k {1, 2,..., N} przyjmij X n+1 = X n γ X Q k (X; x k, y k ) Xn (25) Dodatkowo akceptujemy powyższy krok tylko jeżeli Q(X n+1 ) < Q(X n ). Jeśli nie, nie wykonujemy kroku, ale losujemy nowe k. Ten wariant nazwiemy Stochastic Gradient Descent z ograniczeniem. Copyright c 2009-18 P. F. Góra 12 41

Iterację kończymy albo po wykonaniu z góry określonej liczby kroków, albo częściej gdy różnica Q(X n ) Q(X n+1 ) < ε, gdzie ε jest ustalona tolerancja. Wartość prędkości uczenia γ oraz tolerancję ε dobieramy eksperymentalnie, to znaczy kierujac się znajomościa natury problemu i doświadczeniem uzyskanym przy rozwiazywaniu podobnych problemów. Okazuje się, że metoda Stochastic Gradient Descent działa zdumiewajaco dobrze dla bardzo dużych zbiorów uczacych. Co ciekawe, przyjęcie warunku, iż wartość funkcji Q musi maleć po wykonaniu kroku na ogół pogarsza wyniki: Od czasu do czasu można/trzeba wykonać krok w zła stronę. Copyright c 2009-18 P. F. Góra 12 42

Przykład 0.3 0.25 gradient descent stochastic gradient with limitations descent stochastic gradient descent 0.2 0.15 0.1 0.05 0 0 128 256 384 512 640 768 896 1024 Wygenerowano N = 1024 punktów y i = ax 2 i + bx i + c + ξ i, gdzie {ξ} N i=1 sa liczbami o rozkładzie normalnym, natomiast x i [0, 2]. Rysunek przedstawia kolejne wartości funkcji Q(a, b, c) uzyskane w metodzie najszybszego spadku (czerwony), w metodzie Stochastic Gradient Descent (niebieski) oraz Stochastic Gradient Descent z ograniczeniami (zielony). γ = 1/128. W przypadku Stochastic Gradient Descent wartość minimalizowanej funkcji niekiedy rośnie, ale po dostatecznie dużej liczbie iteracji wyniki Copyright c 2009-18 P. F. Góra 12 43

tej metody sa nieco lepsze, niż dla metody z ograniczeniem. Co ważniejsze, wyniki sa porównywalne z wynikami uzyskanymi w obliczeniowo droższej metodzie najszybszego spadku. 7 6 5 4 3 2 1 0 data gradient descent stochastic gradient descent stochastic gradient with limitations descent ''true'' parameters 0 0.5 1 1.5 2 Dopasowane krzywe sa niemalże nieodróżnialne w obszarze odpowiadajacym danym wejściowym (zawartości zbioru uczacego). Copyright c 2009-18 P. F. Góra 12 44