Minimalizacja funkcji n-wymiarowych Forma kwadratowa w n wymiarach Procedury minimalizacji Minimalizacja wzdłuż prostej w n-wymiarowej przestrzeni Metody minimalizacji wzdłuż osi współrzędnych wzdłuż kierunków sprzężonych do gradientu przy pomocy formy kwadratowej metodą Marquardta Wybór metody minimalizacji Błędy mninimalizacji 1
Forma kwadratowa Rozważmy prostą formę kwadratową: M x=c bx1/2 A x 2 która osiąga ekstremum w miejscach zerowych pierwszej pochodnej: dm dx =0 = bxa x czyli gdy x = x m = b/a. Oznaczymy M(x m ) = M m i: M x M m =1/2 A x x m 2 Bardziej skomplikowane funkcje można zawsze przybliżyć przez taką formę w pobliżu minimum poprzez rozwinięcie w szereg Taylora w x 0 : M x=m x 0 b x x 0 1/2 A x x 0 2 skąd b=-m'(x 0 ) i A=M''(x 0 ) a minimum funkcji jest w x mp =x 0 b/ A 2
Minimalizacja w n wymiarach W przypadku n niezależnych zmiennych forma kwadratowa ma postać: M x=c b x1/2 x T A x=c k b k x k 1/2 k,l x k A kl x l Gdzie A jest macierzą symetryczną Pochodne względem x i są dane jako: dm dx i = b i x1/2 l A il x l k A ki = b i l A il x l lub w zwartej postaci: M= ba x i analogicznie do przypadku jednowymiarowego: x m =A 1 b Gdy funkcja M nie jest prostą formą kwadratową, rozwijamy ją w szereg Taylora wokół x 0 M x=m x 0 b x x 0 1/2 x x 0 T A x x 0 3
Procedury minimalizacji w n wymiarach Wtedy gradient i macierz drugich pochodnych to: b= M x 0, tzn. b i = M x i x=x0 A ik = 2 M I tworzymy procedury minimalizacyjne: Minimalizacja w kierunku gradientu Rozpoczynając od x0 poszukujemy minimum w kierunku gradientu M(x 0 ). Wynik: x 1 bierzemy jako następne przybliżenie i poszukujemy dalej w kierunku M(x 1 ). Jest to metoda największego spadku dla przypadku wielowymiarowego. x i x k x=x0 4
Procedury n-wymiarowe c.d. Krok o zadanej długości w kierunku gradientu Oblicza się wartość wektora: przy zadanej dodatniej liczbie c. Jest to więc krok w kierunku maksymalnego spadku, ale bez wyznaczania minimum w tym kierunku. Wykorzystanie gradientu i drugich pochodnych Korzystamy ze wzoru: x 1 =x 0 c b, b= M x 0 x mp =x 0 A 1 b Następnie rozwiązanie przyjmujemy jako następne przybliżenie, liczymy w tym punkcie gradienty i drugie pochodne i powtarzamy procedurę. 5
Min. w n-wymiarowej przestrzeni Procedury minimalizacyjne poznane na poprzednim wykładzie można prosto uogólnić na problem minimalizacji wzdłuż prostej w przestrzeni n-wymiarowej x 0 d x = x 0 +ad Mamy funkcję M zależną od wektora zmiennych x Przyjmujemy punkt x 0 i wektor d określające prostą w przestrzeni n- wymiarowej Problem sprowadzamy do minimalizacji funkcji jednej zmiennej: f a=m x 0 a d 6
Min. funkcji wielowymiarowych Aby dokonać minimalizacji w wielu wymiarach należy wybrać strategię postępowania. Nie można podać ogólnej procedury poszukującej obszaru zawierającego minimum Sprowadzamy problem do minimalizacji w jednym kierunku, podczas której posługujemy się procedurami poznanymi na poprzednim wykładzie w połączeniu z metodą minimalizacji wzdłuż prostej w przestrzeni n-wymiarowej W zależności od wyboru prostych wzdłuż których przeprowadzamy kolejne kroki mimimalizacji otrzymujemy metody o różnym stopniu komplikacji i zbieżności 7
Wzdłuż osi współrzędnych Najprostszą metodą jest minimalizacja kolejno wzdłuż poszczególnych osi współrzędnych Procedura posuwa się naprzemiennie wzdłuż osi współrzędnych Metoda ta jest stosunkowo wolno zbieżna ale niezawodna Nie wymaga liczenia pochodnych 8
Kierunki sprzężone Załóżmy iż minimalizowana funkcja jest formą kwadratową. W punkcie x jej gradient wynosi: M= ba x Jego zmiana przy przesunięciu o Δx to: M = M x x M x=a xa x A x=a x Jeżeli przeprowadziliśmy minimalizację w kierunku p, to aby nie zatracić minimalizacji w tym kierunku kolejną minimalizację przeprowadzamy w kierunku q takim, aby gradient zmieniał się jedynie w kierunku prostopadłym do p, czyli: p A q= p T A q=0 Wektory p i q to wektory sprzężone względem dodatnio określonej macierzy A 9
Wyznaczanie kierunków sprzężonych Wybieramy dowolny zbiór kierunków p i, np. wzdłuż wektorów jednostkowych p i =ε i. Startując z x 0 posuwamy się kolejno wzdłuż p i wyznaczając minima funkcji. Wyniki zapisujemy jako: a 1 = 1 p 1 2 p 2 n p n, a 2 = 2 p 2 n p n, a n = n p n gdzie a 1 to wektor otrzymany po wszystkich krokach minimalizacji. Punkt x 0 zastępujemy punktem x 1 : x 1 =x 0 a 1 10
Wyznaczanie kierunków sprzężonych Kierunek a 1 to średni kierunek otrzymany w wyniku wykonania pierwszych n kroków etapu. Wyznaczamy nowy zbiór kierunków: q 1 = p 2 q 2 = p 3 q n 1 = p n q n =a 1 / a 1 i w kolejnych krokach postępujemy analogicznie. Można wykazać, że po wykonaniu n kroków (czyli n(n+1) minimalizacjach) otrzymane kierunki są wzajemnie sprzężone. 11
Minimalizacja wzdłuż gradientu Śledzimy wartość wektora największego spadku (przeciwnego do gradientu) w punkcie x 0 : b x= M x W kolejnym punkcie znów obliczamy gradient funkcji i kontynuujemy poszukiwanie kolejnego minimum wzdłuż tego kierunku. W tej procedurze kolejne kroki są do siebie prostopadłe, gdyż w minimum gradient w kierunku minimalizacji znika. Nie można więc dostosować kierunku minimalizacji do kształtu funkcji. Metoda jest przez to wolno zbieżna, tak jak metoda kierunków jednostkowych. 12
Kierunki sprzężone do gradientu Wychodząc z dowolnego wektora g 1 =h 1 konstruujemy dwa ciągi wektorów: g i1 =g i i A h i, h i1 =g i i h i, gdzie współczynniki wynoszą: T g i i = g i g T i A h i i=1,2,, i=1,2,, i = g A h i1 i h T i A h i Otrzymane wektory g są do siebie prostopadłe, a kolejne wektory h są do siebie sprzężone Rozpoczynamy w x 0 i obliczamy gradient: g 1 = M x 0, h 1 = M x 0 Minimalizujemy w kierunku h 1 i wyznaczamy x 1 T g 2 = M x 1, h 2 =g 1 1 h 1, gdzie 1 = g 2 g 1 T g 1 g 1 T g 1 13
Przybliżanie formą kwadratową Gdy funkcja jest formą kwadratową, jej minimum znajdujemy natychmiast Każda funkcja może być przybliżona przez formę kwadratową przez rozwinięcie w szereg Taylora: gdzie M x=m x 0 b x x 0 1/2 x x 0 T A x x 0 i otrzymujemy wartość przybliżoną położenia minimum: W punkcie x 1 znów liczymy pochodne i procedurę powtarzamy b= M x o, x 1 =x 0 A 1 b A ik = 2 M x i x k 14
Metoda Marquardta W poprzedniej metodzie używaliśmy wzoru: x i =x i 1 A 1 b Zaś w metodzie największego spadku: x i =x i 1 I 1 b Zwiększając λ zmniejszamy krok. Gdy krok jest odpowiednio mały, to jesteśmy pewni, że podążamy w stronę minimum. Proponujemy metodę, która łączy szybkość zbieżności metody opartej na formie kwadratowej przy jednoczesnym zapewnieniu zmniejszania się funkcji M w każdym kroku przybliżenia. Obliczamy wyrażenie: x i =x i 1 A I 1 b 15
Metoda Marquardta - warunki Zakładamy pewną wartość początkową stałej λ (0). Zadajemy też liczbę ν>1. W kolejnym kroku rozważamy dwie wartości: λ (i-1) i λ (i-1) /ν. Obliczamy odpowiadające im wektory x i (λ (i-1) ) i x i (λ (i-1) /ν) oraz wartości funkcji M w tych punktach M i (x i (λ (i-1) )) i M i (ν) (x i (λ (i-1) /ν)). Porównujemy je z M i-1 (x i-1 ). I mamy: a. M i M i 1, x i =x i i 1 / i i = i 1 / b. M i M i 1 i M i M i 1, x i =x i i 1 i i = i 1 c. M i M i 1 i M i M i 1 W przypadku c) stałą λ (i-1) zastępujemy λ (i-1) ν i powtarzamy obliczenia wektorów x i wartości M 16
Wybór metody minimalizacji Poszczególne metody minimalizacji mają charakterystyczne właściwości: Minimalizacja wzdłuż wybranego kierunku Metoda sprzężonych gradientów Przybliżanie funkcji formą kwadratową Metoda Marquardta Niezawodność duża duża Szybkość zbieżności mała mała zależna od warunków duża początkowych duża maksymalna Obliczanie pierwszej pochodnej nie tak tak tak Obliczanie drugiej pochodnej nie nie tak tak 17
Sposób wyboru metody Wyboru metody minimalizacji dokonujemy biorąc pod uwagę charakterystyczne właściwości każdej z nich oraz następujące kryteria: Ile razy trzeba będzie powtarzać minimalizację? Jak dobrze znamy punkt początkowy? Czy mamy możliwość implementacji liczenia pierwszej i drugiej pochodnej funkcji analitycznie? Dodatkowo należy pamiętać, że przy metodzie najmniejszych kwadratów, ze względu na specyfikę problemu używamy zawsze metod podanych na odpowiednim wykładzie, a nie metod ogólnych 18
Błędy minimalizacji Rozważamy teraz dokładność otrzymanych w minimalizacji parametrów. Definiujemy wielkości: H ik = 2 M x i x k x= x W specjalnym przypadku gdy M jest sumą kwadratów, mamy mnożnik f QL =1, gdy zaś jest to logarytm funkcji wiarygodności, to f QL =1/2 Macierz kowariancji jest dana wzorem: C x =2 f QL H 1 Błędy symetryczne wynoszą wtedy: x i = c ii 19
Obszar ufności Macierz kowariancji definiuje elipsoidę kowariancji. Przy zadanym poziomie ufności W mamy też macierz ufności C x W = W 2 n f C x Gdzie χ 2 W to kwantyl odpowiedniego rozkładu χ2. Gdy nie można określić elipsoidy ufności, wciąż można mówić o obszarze ufności, czyli hiperpowierzchni na której: M x=m x W 2 n f f QL W takim przypadku mamy niesymetryczne błędy minimalizacji wyznaczane ze wzoru: min {M x; x i =x i± W } =M x W 2 n f f QL 20