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 9a. Układy równań algebraicznych. 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

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

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

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

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

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

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

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

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

KADD Minimalizacja funkcji

Optymalizacja ciągła

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

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

Optymalizacja ciągła

KADD Minimalizacja funkcji

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

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

Zaawansowane metody numeryczne

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

Metody numeryczne I Równania nieliniowe

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

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

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

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

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Matematyka stosowana i metody numeryczne

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

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

Rozwiązywanie równań nieliniowych

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

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

Iteracyjne rozwiązywanie równań

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

1 Równania nieliniowe

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

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

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

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

3. Funkcje wielu zmiennych

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Układy równań liniowych. Krzysztof Patan

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

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

Optymalizacja ciągła

Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych

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

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

Wykład 14. Elementy algebry macierzy

RÓWNANIA NIELINIOWE Maciej Patan

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

Optymalizacja ciągła

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

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

Elementy metod numerycznych

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

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

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

Zaawansowane metody numeryczne

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

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

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

Metody rozwiązywania równań nieliniowych

Macierze. Rozdział Działania na macierzach

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

x y

1 Pochodne wyższych rzędów

13. Funkcje wielu zmiennych pochodne, gradient, Jacobian, ekstrema lokalne.

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Wykład 5. Metoda eliminacji Gaussa

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

Metody Rozmyte i Algorytmy Ewolucyjne

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

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

Plan wykładu. Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6 p. Rozwiazywanie układów równań. metody bezpośrednie,

Wykład z równań różnicowych

Funkcje wielu zmiennych

Obliczenia naukowe Wykład nr 8

Komputerowa analiza zagadnień różniczkowych 1. Równania różniczkowe zwyczajne podstawy teoretyczne. P. F. Góra

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

5. Rozwiązywanie układów równań liniowych

2. Definicja pochodnej w R n

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

10. Metody obliczeniowe najmniejszych kwadratów

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

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

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

3. Macierze i Układy Równań Liniowych

Układy równań i równania wyższych rzędów

Modyfikacja schematu SCPF obliczeń energii polaryzacji

Postać Jordana macierzy

Transkrypt:

Komputerowa analiza zagadnień różniczkowych 10. Dygresje matematycze: Metody iteracyjne rozwiazywania układów równań liniowych, minimalizacja wielowymiarowa i układy równań algebraicznych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2010

Metody iteracyjne W metodach dokładnych otrzymane rozwiazanie jest dokładne z dokładnościa do błędów zaokraglenia, które, dodajmy, dla układów źle uwarunkowanych moga być znaczne. W metodach iteracyjnych rozwiazanie dokładne otrzymuje się, teoretycznie, w granicy nieskończenie wielu kroków w praktyce liczymy na to, że po skończonej (i niewielkiej) ilości kroków zbliżymy się do wyniku ścisłego w granicach błędu zaokraglenia. Copyright c 2009-10 P. F. Góra 10 2

Rozpatrzmy układ równań: Przepiszmy ten układ w postaci a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 (1a) a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (1b) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 (1c) x 1 = (b 1 a 12 x 2 a 13 x 3 )/a 11 (2a) x 2 = (b 2 a 21 x 1 a 23 x 3 )/a 22 (2b) x 3 = (b 3 a 31 x 1 a 32 x 2 )/a 33 (2c) Gdyby po prawej stronie (2) były stare elementy x j, a po lewej nowe, dostalibyśmy metodę iteracyjna Copyright c 2009-10 P. F. Góra 10 3

x (k+1) i = b i i 1 j=1 a ij x (k) j N j=i+1 a ij x (k) j / a ii (3) Górny indeks x (k) oznacza, ze jest to przybliżenie w k-tym kroku. Jest to tak zwana metoda Jacobiego. Zauważmy, że w metodzie (3) nie wykorzystuje się najnowszych przybliżeń: Powiedzmy, obliczajac x (k+1) 2 korzystamy z x (k) 1, mimo iż znane jest już wówczas x (k+1) 1. (Za to metodę tę łatwo można zrównoleglić.) Sugeruje to następujace ulepszenie: x (k+1) i = b i i 1 j=1 a ij x (k+1) j Jest to tak zwana metoda Gaussa-Seidela. N j=i+1 a ij x (k) j / a ii (4) Copyright c 2009-10 P. F. Góra 10 4

Jeżeli macierz A = {a ij } jest rzadka, obie te metody iteracyjne będa efektywne tylko i wyłacznie wówczas, gdy we wzorach (3), (4) uwzględni się ich strukturę, to jest uniknie redundantnych mnożeń przez zera. Copyright c 2009-10 P. F. Góra 10 5

Trochę teorii Metody Jacobiego i Gaussa-Seidela należa do ogólnej kategorii Mx (k+1) = Nx (k) + b (5) gdzie A = M N jest podziałem (splitting) macierzy. Dla metody Jacobiego M = D (część diagonalna), N = (L + U) (części pod- i ponaddiagonalne, bez przekatnej). Dla metody Gaussa-Seidela M = D + L, N = U. Rozwia- zanie równania Ax = b jest punktem stałym iteracji (5). Copyright c 2009-10 P. F. Góra 10 6

Definicja Promieniem spektralnym (diagonalizowalnej) macierzy G nazywam ρ(g) = max{ λ : y 0 : Gy = λy} (6) Twierdzenie 1. Iteracja (5) jest zbieżna jeśli det M 0 oraz ρ(m 1 N) < 1. Dowód. Przy tych założeniach iteracja (5) jest odwzorowaniem zwężajacym. Twierdzenie 2. Metoda Jacobiego jest zbieżna jeśli macierz A jest silnie diagonalnie dominujaca. Twierdzenie 3. Metoda Gaussa-Seidela jest zbieżna jeśli macierz A jest symetryczna i dodatnio określona. Copyright c 2009-10 P. F. Góra 10 7

Przykład 10 1 Metoda Jacobiego Metoda Gaussa-Seidela 10 0 Rozwiazujemy układ równań: 3x + y + z = 1 x + 3y + z = 1 x + y + 3z = 1 x n -x n-1 10-1 10-2 10-3 10-4 10-5 10-6 10-7 0 5 10 15 20 25 30 35 40 nr iteracji, n Copyright c 2009-10 P. F. Góra 10 8

SOR Jeśli ρ(m 1 N) w metodzie Gaussa-Seidela jest bliskie jedności, zbieżność metody jest bardzo wolna. Można próbować ja poprawić: x (k+1) i = w b i i 1 j=1 a ij x (k+1) j N j=i+1 a ij x (k) j / a ii + (1 w)x (k) i, (7) gdzie w R jest parametrem relaksacji. Metoda ta zwana jest succesive overrelaxation, SOR. W postaci macierzowej M w x (k+1) = N w x (k) + wb (8) M w = D + wl, N w = (1 w)d wu. Teoretycznie należy dobrać takie w, aby zminimalizować ρ(m 1 w N w ). Copyright c 2009-10 P. F. Góra 10 9

Metoda gradientów sprzężonych motywacja Rozważmy funcję f : R N R f(x) = 1 2 xt Ax b T x + c, (9) gdzie x, b R N, c R, A = A T R N N jest symetryczna i dodatnio określona. Przy tych założeniach, funkcja (9) ma dokładnie jedno minimum, będace zarazem minimum globalnym. Szukanie minimów dodatnio określonych form kwadratowych jest (względnie) łatwe i z praktycznego punktu widzenia ważne. Minimum to leży w punkcie spełniajacym f = 0. (10) Copyright c 2009-10 P. F. Góra 10 10

Obliczmy = 1 2 k f = 1 A jk x j x k x i 2 x i = 1 2 A ik x k + 1 2 j,k x A j jk j,k x }{{} i δ ij j x i x x k + x k j x i A ji x j b i = 1 2 j }{{} j δ ik k b j x j + c x i A ik x k + 1 2 }{{} 0 b j x j x i }{{} δ ij j A ij x j b i = (Ax b) i. (11) Copyright c 2009-10 P. F. Góra 10 11

Widzimy zatem, że funkcja (9) osiaga minimum w punkcie, w którym zachodzi Ax b = 0 Ax = b. (12) Rozwiazywanie układu równań liniowych (12) z macierza symetryczna, dodatnio określona jest równoważne poszukiwaniu minimum dodatnio określonej formy kwadratowej. Przypuśćmy, że macierz A jest przy tym rzadka i duża (lub co najmniej średnioduża). Wówczas metoda gradientów sprzężonych jest godna uwagi metoda rozwiazywania (12) Copyright c 2009-10 P. F. Góra 10 12

Metoda gradientów sprzężonych, Conjugate Gradients, CG A R N N symetryczna, dodatnio określona, x 1 poczatkowe przybliżenie rozwiazania równania (12), 0 < ε 1. r 1 = b Ax 1, p 1 = r 1 while r k > ε end α k = rt k r k p T k Ap k r k+1 = r k α k Ap k β k = rt k+1 r k+1 r T k r k p k+1 = r k+1 + β k p k x k+1 = x k + α k p k (13) Copyright c 2009-10 P. F. Góra 10 13

Wówczas zachodza twierdzenia: Twierdzenie 4. Ciagi wektorów {r k }, {p k } spełniaja następujace zależności: r T i r j = 0, i > j, (14a) r T i p j = 0, i > j, (14b) p T i Ap j = 0, i > j. (14c) Twierdzenie 5. Jeżeli r M = 0, to x M jest ścisłym rozwiazaniem równania (12). Dowód. Oba (sic!) dowody przebiegaja indukcyjnie. Copyright c 2009-10 P. F. Góra 10 14

Ciag {x k } jest w gruncie rzeczy pomocniczy, nie bierze udziału w iteracjach, służy tylko do konstruowania kolejnych przybliżeń rozwiazania. Istota algorytmu jest konstruowanie dwu ciagów wektorów spełniajacych zależności (14). Wektory {r k } sa wzajemnie prostopadłe, a zatem w arytmetyce dokładnej r N+1 = 0, wobec czego x N+1 jest poszukiwanym ścisłym rozwia- zaniem. Zauważmy, że ponieważ A jest symetryczna, dodatnio określona, warunek (14c) oznacza, że wektory {p k } sa wzajemnie prostopadłe w metryce zadanej przez A. Ten właśnie warunek nazywa się warunkiem sprzężenia względem A, co daje nazwę całej metodzie. Copyright c 2009-10 P. F. Góra 10 15

Koszt metody W arytmetyce dokładnej metoda zbiega się po N krokach, zatem jej koszt wynosi O(N koszt jednego kroku). Koszt jednego kroku zdominowany jest przez obliczanie iloczynu Ap k. Jeśli macierz A jest pełna, jest to O(N 2 ), a zatem całkowity koszt wynosi O(N 3 ), czyli tyle, ile dla metod dokładnych. Jeżeli jednak A jest rzadka, koszt obliczania iloczynu jest mniejszy (o ile obliczenie to jest odpowiednio zaprogramowane). Jeśli A jest pasmowa o szerokości pasma M N, całkowity koszt wynosi O(M N 2 ). Copyright c 2009-10 P. F. Góra 10 16

Problem! W arytmetyce o skończonej dokładności kolejne generowane wektory nie sa ściśle ortogonalne do swoich poprzedników na skutek akumulujacego się błędu zaokraglenia rzut na poprzednie wektory może stać się z czasem znaczny. Powoduje to istotne spowolnienie metody. Twierdzenie 6. Jeżeli x jest ścisłym rozwiazaniem równania (12), x k sa generowane w metodzie gradientów sprzężonych, zachodzi x x k 2 x x 1 gdzie κ jest współczynnikiem uwarunkowania macierzy A. ( κ 1 κ + 1 ) k 1, (15) Jeżeli κ 1, zbieżność może być bardzo wolna. Copyright c 2009-10 P. F. Góra 10 17

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

1. Aktualnym przybliżeniem minimum jest punkt x k. 2. Dany jest pewien kierunek poszukiwań p k. 3. Konstruujemy funcję g k :R R g k (α) = f(x k + αp k ). (16) 4. Znanymi metodami jednowymiarowymi znajdujemy α min takie, że funkcja (16) osiaga minimum. Jest to minimum kierunkowe funkcji f. 5. 6. goto 1. x k+1 = x k + α min p k. (17) Copyright c 2009-10 P. F. Góra 10 19

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

Znajdźmy warunek na to, aby f osiagała minimum kierunkowe, czyli aby g k o- siagała minimum: dg k dα = i f x i (p k ) i = ( f x=xmin ) T pk = 0. (18) 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. Z kolei 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-10 P. F. Góra 10 21

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, (19) 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-10 P. F. Góra 10 22

Gradienty sprzężone W przybliżeniu (19) gradient funkcji f w punkcie x k wynosi f x=xk = Ax k b. (20) Kolejne poszukiwania odbywaja się w kierunku p k+1. Gradient funkcji w pewnym nowym punkcie x = x k + αp k+1 wynosi Zmiana gradientu wynosi f x = Ax k + αap k+1 b. (21) δ ( f) = αap k+1. (22) Copyright c 2009-10 P. F. Góra 10 23

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

Jak się obejść bez hessjanu? Z poprzedniego wykładu 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 7. Niech f ma postać (19) 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-10 P. F. Góra 10 25

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

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

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

Układy równań algebraicznych Poszukiwanie ekstremów funkcji wielu zmiennych formalnie sprowadza się do rozwiazywania równania f = 0. W praktyce minimalizacja funkcji poprzez rozwiazywanie tego równania jest bardzo zła metoda, jest to jednak dobra okazja do przypomnienia najważniejszych metod rozwiazywania nieliniowych układów równań algebraicznych. Copyright c 2009-10 P. F. Góra 10 29

Niech g:r N R N będzie funkcja klasy co najmniej C 1. Rozważamy równanie formalnie równoważne układowi równań g(x) = 0, (28) g 1 (x 1, x 2,..., x N ) = 0, (29a) g 2 (x 1, x 2,..., x N ) = 0, (29b)... g N (x 1, x 2,..., x N ) = 0. (29c) Copyright c 2009-10 P. F. Góra 10 30

Metoda Newtona Rozwijajac funkcję g w szereg Taylora do pierwszego rzędu otrzymamy gdzie J jest jakobianem funkcji g: g(x + δx) g(x) + Jδx, (30) J(x) ij = g i x j x. (31) Jaki krok δx musimy wykonać, aby znaleźć się w punkcie spełniajacym równanie (28)? Żadamy aby g(x + δx) = 0, skad otrzymujemy δx = J 1 g(x). (32) Copyright c 2009-10 P. F. Góra 10 31

Prowadzi to do następujacej iteracji: x k+1 = x k J 1 (x k )g(x k ). (33) Oczywiście zapis z = J 1 g należy rozumieć w ten sposób, że z spełnia równanie Jz = g. Nie należy konstruować jawnej odwrotności jakobianu. Uwaga: W metodzie (33) jakobian trzeba obliczać w każdym kroku. Oznacza to, że w każdym kroku trzeba rozwiazywać inny układ równań liniowych, co czyni metodę dość kosztowna, zwłaszcza jeśli N (wymiar problemu) jest znaczne. Często dla przyspieszenia obliczeń macierz J zmieniamy nie co krok, ale co kilka kroków pozwala to użyć tej samej faktoryzacji J do rozwiazania kilku kolejnych równań Jz = g(x k ). Jest to dodatkowe uproszczenie, ale jest ono bardzo wydajne przy N 1. Copyright c 2009-10 P. F. Góra 10 32

Metoda zmiennej metryki Powracamy do minimalizacji funkcji f:r N R. Formalna konieczność rozwia- zywania równania f = 0 sugeruje nastosowanie następujacego algorytmu opartego na metodzie Newtona: x i+1 = x i H 1 f xi, (34) gdzie H oznacza macierz drugich pochodnych czastkowych funkcji f wyliczanych w punkcie x i (aktualnym). Copyright c 2009-10 P. F. Góra 10 33

W pobliżu minimum f ma w przybliżeniu postać (19). Wówczas położenie minimum możemy znaleźć formalnie w jednym kroku jako x min x i = A 1 f xi, (35) 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 co jest spełnione, jeżeli A jest dodatnio określone. (x x i ) T A(x x i ) < 0 (36) Copyright c 2009-10 P. F. Góra 10 34

Wreszcie jeśli x i, x i+1 sa kolejnymi krokami iteracji prowadzacej do minimalizacji, oddejmujac odpowiednie równania (35) od siebie dostajemy x i+1 x i = A 1 ( f xi+1 f xi ). (37) Ale my wciaż nie znamy A. Celem metody zmiennej metryki jest wobec tego skonstruowanie pewnego ciagu przybliżeń hessjanu zamiast równania (37) mamy x i+1 x i = H i+1 ( f xi+1 f xi ). (38) Copyright c 2009-10 P. F. Góra 10 35

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. (39) 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. (40) Copyright c 2009-10 P. F. Góra 10 36

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 ). (41) Copyright c 2009-10 P. F. Góra 10 37

BFGS updating formula: H i+1 = + ( f xi+1 f xi ) T Hi ( f xi+1 f xi ) uu T, (42a) u = x i+1 x i (x i+1 x i ) T ( f xi+1 f xi ) H i ( f xi+1 f xi ) ( f xi+1 f x i ) T Hi ( f xi+1 f x i ), (42b) gdzie kropki oznaczaja cała formułę DFP. Copyright c 2009-10 P. F. Góra 10 38

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 (38). 3. Spełnia (39). 4. Dodatkowo, jeśli f jest forma kwadratowa (19), H i N+1 A 1 w arytmetyce dokładnej. Copyright c 2009-10 P. F. Góra 10 39

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 (19), 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 gradientów sprzężonych (lub zmiennej metryki). Copyright c 2009-10 P. F. Góra 10 40

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

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

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 ). (44) 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-10 P. F. Góra 10 43

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 (43) 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ć (19). 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-10 P. F. Góra 10 44

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 ), (45) 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-10 P. F. Góra 10 45

Rozwiazywanie równań nieliniowych a minimalizacja Wracamy do problemu rozwiazywania równań algebraicznych, danego równaniem (28): g(x) = 0. Zaproponowana powyżej metoda Newtona czasami zawodzi. Ponieważ rozwiazywanie równań algebraicznych jest trudne, natomiast minimalizacja jest łatwa, niektórzy skłonni sa rozważać funkcję G:R N R G(x) = 1 2 g(x) 2 = 1 2 (g(x))t g(x) (46) i szukać jej minimum zamiast rozwiazywać (28). Globalne minimum G = 0 odpowiada co prawda rozwiazaniu (28), jednak G może mieć wiele minimów lokalnych, nie mamy także gwarancji, że globalne minimum G = 0 istnieje. Nie jest to więc dobry pomysł. Copyright c 2009-10 P. F. Góra 10 46

Metoda globalnie zbieżna Rozwiazaniem jest połaczenie idei minimalizacji funkcji (46) i metody Newtona. Przypuśćmy, iż chcemy rozwiazywać równanie (28) metoda Newtona. Krok iteracji wynosi δx = J 1 g. (47) Z drugiej strony mamy G = 1 x i 2 a zatem G = J T g. j ( ) gj g j g j + g j x i x i = j J ji g j (48) Copyright c 2009-10 P. F. Góra 10 47

Jak zmienia się funkcja G (46) po wykonaniu kroku Newtona (47)? ( G) T δx = g T J ( J 1) g = g T g < 0, (49) a zatem kierunek kroku Newtona jest lokalnym kierunkiem spadku G. Jednak przesunięcie się o pełna długość kroku Newtona nie musi prowadzić do spadku G. Postępujemy wobec tego jak następuje: Copyright c 2009-10 P. F. Góra 10 48

1. w = 1. Oblicz δx. 2. x test = x i + w δx. 3. Jeśli G(x test ) < G(x i ), to (a) x i+1 = x test (b) goto 1 4. Jeśli G(x test ) > G(x i ), to (a) w w/2 (b) goto 2 Jest to zatem forma tłumionej (damped) metody Newtona. Zamiast połowienia kroku, można używać innych strategii poszukiwania w prowadzacych do zmniejszenia się wartości G. Jeśli wartość w spadnie poniżej pewnego akceptowalnego progu, obliczenia należy przerwać, jednak (49) gwarantuje, że istnieje takie w, iż w δx prowadzi do zmniejszenia się G. Copyright c 2009-10 P. F. Góra 10 49

Bardzo ważna uwaga Wszystkie przedstawione tu metody wymagaja znajomości analitycznych wzorów na pochodne odpowiednich funkcji. Używanie powyższych metod w sytuacji, w których pochodne należy aproksymować numerycznie, na ogół nie ma sensu. Copyright c 2009-10 P. F. Góra 10 50

Wielowymiarowa metoda siecznych metoda Broydena Niekiedy analityczne wzory na pochodne sa nieznane, niekiedy samo obliczanie jakobianu, wymagajace obliczenia N 2 pochodnych czastkowych, jest numerycznie zbyt kosztowne. W takich sytuacjach czasami używa się metody zwanej niezbyt ściśle wielowymiarowa metoda siecznych. Podobnie jak w przypadku jednowymiarowym, gdzie pochodna zastępuje się ilorazem różnicowym g (x i+1 ) g(x i+1) g(x i ) x i+1 x i, (50) jakobian w kroku Newtona zastępujemy wyrażeniem przybliżonym: Zamiast J δx = g(x) bierzemy B x = g. Macierz B jest przybliżeniem jakobianu, poprawianym w każdym kroku iteracji. Otrzymujemy zatem Copyright c 2009-10 P. F. Góra 10 51

natomiast poprawki B obliczamy jako x i+1 = x i B 1 i g(x i ), (51) B i+1 = B i + ( g i B i x i ) ( x i ) T ( x i ) T, (52) x i gdzie x i = x i+1 x i, g i = g(x i+1 ) g(x i ). Ponieważ poprawka do B i ma postać iloczynu diadycznego dwu wektorów, B 1 i+1 można obliczać korzystaj ac ze wzoru Shermana-Morrisona. Metoda ta wymaga inicjalizacji poprzez podanie B 1 oraz wektora x 1. To drugie nie jest niczym dziwnym; co do pierwszego, jeśli to tylko możliwe, można przyjać B 1 = J(x 1 ). Copyright c 2009-10 P. F. Góra 10 52