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

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

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

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

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

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 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

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

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

KADD Minimalizacja funkcji

Optymalizacja ciągła

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

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

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

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

WYKŁAD 9 METODY ZMIENNEJ METRYKI

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Optymalizacja ciągła

KADD Minimalizacja funkcji

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

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

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

1 Równania nieliniowe

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

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

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

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

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

Matematyka stosowana i metody numeryczne

Zaawansowane metody numeryczne

Metody numeryczne I Równania nieliniowe

Optymalizacja ciągła

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

Wykład 14. Elementy algebry macierzy

Macierze. Rozdział Działania na macierzach

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

Rozwiązywanie równań nieliniowych

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

3. Funkcje wielu zmiennych

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

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

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

Optymalizacja ciągła

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

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

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

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

Obliczenia naukowe Wykład nr 8

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

Wstęp do metod numerycznych Inne rodzaje faktoryzacji. P. F. Góra

Układy równań liniowych. Krzysztof Patan

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

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

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

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

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

RÓWNANIA NIELINIOWE Maciej Patan

1 Pochodne wyższych rzędów

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

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Elementy metod numerycznych

13 Układy równań liniowych

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

Metody numeryczne Wykład 4

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

Iteracyjne rozwiązywanie równań

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

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

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

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

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

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

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

Postać Jordana macierzy

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

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

1 Macierz odwrotna metoda operacji elementarnych

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

Geometria analityczna

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

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

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Metody rozwiązywania równań nieliniowych

Wykład 5. Metoda eliminacji Gaussa

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

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

2. Definicja pochodnej w R n

Układy równań i nierówności liniowych

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

, A T = A + B = [a ij + b ij ].

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

Transkrypt:

Komputerowa analiza zagadnień różniczkowych 2. Metoda gradientów sprzężonych Minimalizacja i układy równań algebraicznych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08

Metoda gradientów sprzężonych motywacja Rozważmy funcję f : R N R f(x) = 1 2 xt Ax b T x + c, (1) 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 (1) 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. (2) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 2

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. (3) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 3

Widzimy zatem, że funkcja (1) osiaga minimum w punkcie, w którym zachodzi Ax b = 0 Ax = b. (4) Rozwiazywanie układu równań liniowych (4) 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 (4) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 4

Metoda gradientów sprzężonych, Conjugate Gradients, CG A R N N symetryczna, dodatnio określona, x 1 poczatkowe przybliżenie rozwiazania równania (4), 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 (5) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 5

Wówczas zachodza twierdzenia: Twierdzenie 1. Ciagi wektorów {r k }, {p k } spełniaja następujace zależności: r T i r j = 0, i > j, (6a) r T i p j = 0, i > j, (6b) p T i Ap j = 0, i > j. (6c) Twierdzenie 2. Jeżeli r M = 0, to x M jest ścisłym rozwiazaniem równania (4). Dowód. Oba (sic!) dowody przebiegaja indukcyjnie. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 6

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 (6). 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 rozwiaza- niem. Zauważmy, że ponieważ A jest symetryczna, dodatnio określona, warunek (6c) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 7

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 ). 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 8

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 3. Jeżeli x jest ścisłym rozwiazaniem równania (4), 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, (7) Jeżeli κ 1, zbieżność może być bardzo wolna. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 9

Prewarunkowana (preconditioned) metoda gradientów sprzężonych Spróbujmy przyspieszyć zbieżność odpowiednio modyfikujac równanie (4) i algorytm (5), jednak tak, aby nie zmienić rozwiazania, macierz zmodyfikowanego układu pozostała symetryczna i dodatnio określona, aby można było zastosować metodę gradientów sprzężonych, macierz zmodyfikowanego układu pozostała rzadka, aby jeden krok iteracji był numerycznie tani, macierz zmodyfikowanego układu miała niski współczynnik uwarunkowania. Czy to się w ogóle da zrobić? Okazuje się, że tak! 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 10

Postępujemy następujaco: Niech C R N N będzie odwracalna macierza symetryczna, rzeczywista, dodatnio określona. Wówczas à = C 1 AC 1 też jest symetryczna, rzeczywista, dodatnio określona. C 1 A C} 1 {{ C} x = C 1 b, (8a) I à x = b, (8b) gdzie x = Cx, b = C 1 b. Do równania (8b) stosujemy teraz metodę gradientów sprzężonych. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 11

W każdym kroku iteracji musimy obliczyć (tyldy, bo odnosi się to do tyldowanego układu (8b)) α k = r T k r k p T k à p k = r T k r k p T k C 1 AC 1 p k, (9a) r k+1 = r k α kã p k = r k α k C 1 AC 1 p k, (9b) β k = r T k+1 r k+1 r T k r, k (9c) p k+1 = r k+1 + β k p k, (9d) x k+1 = x k + α k p k. (9e) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 12

Równania (9) zawieraja jawne odniesienia do macierzy C 1, co nie jest zbyt wygodne. Łatwo się przekonać, iż za pomoca prostych przekształceń macierz tę można usunać, tak, iż pozostaje tylko jedno jej nietrywialne wystapienie. Zdefiniujmy mianowicie r k = C 1 r k, p k = Cp k, x k = Cx k. (10) W tej sytuacji r T k r k = (C 1 r k ) T C 1 r k = r T k (C 1 ) T C 1 r k = r T k C 1 C 1 r k = r T k (C 1 ) 2 r k etc. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 13

Wówczas równania (9) przechodza w ( C 1 ) 2 rk α k = rt k p T k Ap, (11a) k r k+1 = r k α k Ap k, (11b) β k = rt k+1 r T k ( C 1 ) 2 rk+1 ( C 1 ) 2 rk, (11c) p k+1 = ( C 1) 2 rk+1 + β k p k, (11d) x k+1 = x k + α k p k. (11e) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 14

W powyższych równaniach rola macierzy C sprowadza się do obliczenia jeden raz w każdym kroku iteracji wyrażenia ( C 1) 2 rk, co, jak wiadomo, robi się rozwiazuj ac odpowiedni układ równań. Zdefiniujmy M = C 2. (12) Macierz M należy rzecz jasna dobrać tak, aby równanie Mz = r można było szybko rozwiazać. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 15

Ostatecznie otrzymujemy następujacy algorytm: r 1 = b Ax 1 rozwiaż Mz 1 = r 1 p 1 = z 1 while r k > ε α k = rt k z k p T k Ap k r k+1 = r k α k Ap k rozwiaż Mz k+1 = r k+1 (13) end β k = rt k+1 z k+1 r T k z k p k+1 = z k+1 + β k p k x k+1 = x k + α k p k 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 16

Incomplete Cholesky preconditioner Niech rozkład QR macierzy C ma postać C = QH T, gdzie Q jest macierza ortogonalna, H T jest macierza trójkatn a górna. Zauważmy, że M = C 2 = C T C = ( QH T ) T QH T = HQ T QH T = HH T, (14) a więc macierz H jest czynnikiem Cholesky ego macierzy M. Niech rozkład Cholesky ego macierzy A ma postać A = GG T. Przypuśćmy, iż H G. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 17

Wówczas à = C 1 AC 1 = ( C T ) 1 AC 1 = ( (QH T ) T ) 1 A ( QH T ) 1 = ( HQ T ) 1 ( A H T ) 1 Q T = Q H 1 G G T ( H T ) 1 Q T QQ T = I. (15) }{{}}{{} I I Ponieważ jedności. à I, współczynnik uwarunkowania tej macierzy powinien być bliski 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 18

Niepełny rozkład Cholesky ego algorytm w wersji GAXPY for k = 1:N H kk = A kk for end j = 1:k 1 H kk = H kk H 2 kj H kk = H kk end for end l = k+1:n H lk = A lk if A lk 0 for end H lk = H lk /H kk endif j = 1:k 1 H lk = H lk H lj H kj 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 19

Uwagi Ponieważ A jest rzadka, powyższy algorytm na obliczanie przybliżonego czynnika Cholesky ego wykonuje się szybko. Wykonuje się go tylko raz. Równanie Mz = r rozwiazuje się szybko, gdyż znamy czynnik Cholesky ego M = HH T. Obliczone H jest rzadkie, a zatem równanie Mz = r rozwiazuje się szczególnie szybko. Mamy nadzieję, że macierz à ma współczynnik uwarunkowania bliski jedności, a zatem nie potrzeba wielu iteracji (13). 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 20

Przykład macierz pasmowa z pustymi diagonalami Rozważmy macierz o następujacej strukturze: A = a 1 0 b 3 0 c 5 0 0 0 0 0... 0 a 2 0 b 4 0 c 6 0 0 0 0... b 3 0 a 3 0 b 5 0 c 7 0 0 0... 0 b 4 0 a 4 0 b 6 0 c 8 0 0... c 5 0 b 5 0 a 5 0 b 7 0 c 9 0... 0 c 6 0 b 6 0 a 6 0 b 8 0 c 10.................................... (16) Macierz ta jest symetryczna, zakładamy też, że jest dodatnio określona. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 21

Niepełny czynnik Cholesky ego macierzy (16) ma postać H = p 1 0 p 2 q 3 0 p 3 0 q 4 0 p 4 r 5 0 q 5 0 p 5 0 r 6 0 q 6 0 p 6..................... (17) (W pełnym czynniku Cholesky ego macierzy (16) zera leżace w (17) pomiędzy diagonala p a diagonalna r znikłyby w ogólności mogłyby tam znajdować się jakieś niezerowe liczby.) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 22

Zgodnie z podanym algorytmem, elementy ciagów {p k }, {q k }, {r k } wyliczamy z następujacych wzorów: p 1 = a 1, p 2 = a 2, q 3 = b 3 /p 1, q 4 = b 4 /p 2, r 5 = c 5 /p 1, r 6 = c 6 /p 2, p 3 = a 3 q 2 3, p 4 = a 4 q 2 4, q 5 = (b 5 r 5 q 3 )/p 3, q 6 = (b 6 r 6 q 4 )/p 4, r 7 = c 7 /p 3, r 8 = c 7 /p 4, p 5 = a 5 q 2 5 r2 5, p 6 = a 6 q 6 5 r2 6, q 7 = (b 7 r 7 q 5 )/p 5, q 8 = (b 8 r 8 q 6 )/p 6, r 9 = c 9 /p 5, r 10 = c 10 /p 6, p 7 = a 7 q7 2 r2 7, p 8 = a 8 q8 6 r2 8, q 9 = (b 9 r 9 q 7 )/p 7, q 10 = (b 10 r 10 q 8 )/p 8, r 11 = c 11 /p 7, r 12 = c 12 /p 8,.................. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 23

Macierze niesymetryczne Jeżeli w równaniu Ax = b (18) macierz A nie jest symetryczna i dodatnio określona, sytuacja się komplikuje. Zakładajac, że det A 0, równanie (18) możemy zsymetryzować na dwa sposoby. CGNR: lub CGNE: A T Ax = A T b, (19) AA T y = b, (20a) x = A T y. (20b) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 24

Do dwu powyższych równań formalnie rzecz biorac można używać metody gradientów sprzężonych. Trzeba jednak pamiętać, że nawet jeśli macierz A jest rzadka, macierze A T A, AA T nie musza być rzadkie, a co gorsza, ich współczynnik uwarunkowania jest kwadratem współczynnika uwarunkowania macierzy wyjściowej. Alternatywnie, zamiast symetryzować macierz, można zmodyfikować algorytm, tak aby zamiast dwu, generował on cztery ciagi wektorów (metoda gradientów bi-sprzężonych). Należy jednak pamiętać, że dla wielu typów macierzy taki algorytm bywa bardzo wolno zbieżny, a niekiedy nawet dochodzi do kompletnej stagnacji przed uzyskaniem rozwiazania. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 25

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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 26

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 ). (21) 4. Znanymi metodami jednowymiarowymi znajdujemy α min takie, że funkcja (21) osi aga minimum. Jest to minimum kierunkowe funkcji f. 5. 6. goto 1. x k+1 = x k + α min p k. (22) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 27

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? 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 28

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. (23) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 29

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, (24) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 30

Gradienty sprzężone W przybliżeniu (24) gradient funkcji f w punkcie x k wynosi f x=xk = Ax k b. (25) 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. (26) δ ( f) = αap k+1. (27) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 31

Punkt x k jest minimum kierunkowym w kierunku p k, a więc gradient funkcji w tym punkcie spełnia warunek (23). 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. (28) Metodę wybierania kierunków poszukiwań spełniajacych (28) nazywamy metoda gradientów sprzężonych. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 32

Jak się obejść bez hessjanu? Z poprzedniej części 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 4. Niech f ma postać (24) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 33

Dowód. Na podstawie równania (25), r k = Ax k + b oraz r k+1 = A(x k + αp k ) + b = r k αap k. (29) W minimum kierunkowym p T k f x k+1 = p T k r k+1 = 0 (por. (23)). Wobec tego mnożac równanie (29) lewostronnie przez p T k, otrzymujemy α = pt k r k p T k Ap k. (30) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 34

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. (31) 4. Obliczamy (jak w metodzie algebraicznej) p k+1 = r k+1 + βp k. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 35

Zamiast używać równania (31), można skorzystać z β = rt k+1 (r k+1 r k ) r T k r k. (32) Jeżeli funkcja f ma ściśle postać (24), nie ma to znaczenia, gdyż r T k+1 r k = 0. Ponieważ jednak f jest tylko w przybliżeniu forma kwadratowa, (32) może przyspieszyć obliczenia gdy grozi stagnacja. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 36

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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 37

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, (33) g 1 (x 1, x 2,..., x N ) = 0, (34a) g 2 (x 1, x 2,..., x N ) = 0, (34b)... g N (x 1, x 2,..., x N ) = 0. (34c) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 38

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, (35) J(x) ij = g i x j x. (36) Jaki krok δx musimy wykonać, aby znaleźć się w punkcie spełniajacym równanie (33)? Żadamy aby g(x + δx) = 0, skad otrzymujemy δx = J 1 g(x). (37) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 39

Prowadzi to do następujacej iteracji: x k+1 = x k J 1 (x k )g(x k ). (38) 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 (38) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 40

Metoda Levenberga-Marquardta Powracamy do zagadnienia minimalizacji funkcji. Metoda gradientów sprzężonych jest dostosowana do przypadku, w którym funkcja jest z dobrym przybliżeniem postaci (24), 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 metody gradientów sprzężonych. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 41

Konieczność formalnego rozwiazywania równania f = 0 sugeruje użycie następujacego algorytmu opartego na metodzie Newtona: x i+1 = x i H 1 (x i ) f xi, gdzie H oznacza hessjan (macierz drugich pochodnych) minimalizowanej funkcji. 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. 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, (39a) i H ij = 2 f, i j, (39b) x i x j 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 42

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 (39) stanie się dodatnio określona lub też (ii) jeśli dla żadnego dodatniego λ macierz (39) 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 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 43

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 ). (40) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 44

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 (39) 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ć (24). 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 45

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 ), (41) 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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 46

Rozwiazywanie równań nieliniowych a minimalizacja Wracamy do problemu rozwiazywania równań algebraicznych, danego równaniem (33): 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) (42) i szukać jej minimum zamiast rozwiazywać (33). Globalne minimum G = 0 odpowiada co prawda rozwiazaniu (33), 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ł. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 47

Metoda globalnie zbieżna Rozwiazaniem jest połaczenie idei minimalizacji funkcji (42) i metody Newtona. Przypuśćmy, iż chcemy rozwiazywać równanie (33) metoda Newtona. Krok iteracji wynosi δx = J 1 g. (43) 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 (44) 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 48

Jak zmienia się funkcja G (42) po wykonaniu kroku Newtona (43)? ( G) T δx = g T J ( J 1) g = g T g < 0, (45) 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: 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 49

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 (45) gwarantuje, że istnieje takie w, iż w δx prowadzi do zmniejszenia się G. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 50

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. 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 51

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, (46) 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 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 52

natomiast poprawki B obliczamy jako x i+1 = x i B 1 i g(x i ), (47) B i+1 = B i + ( g i B i x i ) ( x i ) T ( x i ) T x i, (48) 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 ). 2. Metoda gradientów sprzężonych. Minimalizacja. Równania algebraiczne. 53