Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego minimum metodą złotego podziału Metoda interpolacji kwadratowej 1
Pomiary zależne Pomiary nie muszą być całkowicie niezależne. Np. mierząc 3 kąty w trójkącie musimy uzyskać sumę równą 180. Szukamy estymatorów wielkości η j : y j = j j, j=1, 2,, n E { j }=0 E { j 2 }= j 2 Oprócz tego mamy też równania więzów: f k =0, k=1, 2,,q Najprostszy przypadek to równania liniowe: lub w notacji macierzowej b 10 b 11 1 b 12 2 b 1 n n =0 b q0 b q1 1 b q2 2 b qn n =0 B b 0 =0 2
Metoda mnożników Lagrange'a Metoda elementów wymaga wyboru zmiennych α. Metoda mnożników Lagrange'a podchodzi inaczej do problemu. Przepiszmy równanie więzów: B y B b 0 =0 Wprowadzamy wektor c i otrzymujemy równanie: c=b yb 0 c B =0 Wprowadzamy wektor mnożników Lagrange'a: T = 1 2 q i z jego pomocą rozszerzamy funkcję M do L: L=M2 T c B = T G y 2 T c B Jest to funkcja Lagrange'a. Teraz rozwiązujemy problem minimalizacji M przy jednoczesnym spełnieniu równań więzów. 3
Mnożniki Lagrange'a rozwiązanie Pochodna zupełna funkcji L musi znikać: dl=2 T G y d 2 T B d =0 T G y T B=0 Przekształcając otrzymujemy rozwiązanie na μ: T G y = T B =G y B T c B G y B T =0 =B G y B T c I możemy wyliczyć estymatory błędów pomiarowych =G y B T B G y B T c oraz najlepszy estymator dla wektora η: = y = y G y B T B G y B T c I ostatecznie piszemy macierze kowariancji: G =B G y B T G B G =G y G y B T G B B G y 4
Wartości ekstremalne Bardzo ważnym zagadnieniem jest poszukiwanie wartości ekstremalnych funkcji. Poszukiwanie maksimum można zawsze zamienić na poszukiwanie minimum przez przemnożenie funkcji przez -1. Stąd mówimy o minimalizacji funkcji. Jeśli jest to możliwe, to zawsze używamy analitycznych metod minimalizacji. Jednak w większości przypadków nie są one dostępne. Dlatego przedstawimy teraz numeryczne metody minimalizacji. Należy pamiętać, że dają one zawsze wyniki z ograniczoną dokładnością. 5
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 6
Forma kwadratowa omówienie Podane wzory są słuszne tylko w pobliżu minimum gdzie usprawiedliwione jest obcięcie szeregu Taylora na dwóch wyrazach. Na rysunku mamy funkcję x M x s x m x s x M o minimum w x m i maksimach w x M oraz punktach przegięcia w x s. M(x) Drugie pochodne funkcji dają: M''(x 0 )>0 dla x<x s x oraz M''(x 0 )<0 dla x>x s. Stąd x mp jest bliżej x m niż x 0 tylko dla x 0 <x s. Widzimy, że duże znaczenie ma wybór x 0. 7
Procedury przybliżania Wykorzystanie wartości funkcji M oraz jej pierwszej i drugiej pochodnej w punkcie x 0. Obliczamy xmp jako pierwsze przybliżenie x m. Zastępujemy x 0 przez x mp i powtarzamy dopóki otrzymana w kolejnym kroku wielkość różni się od poprzedniej o więcej niż ε. Wykorzystanie wartości M oraz jej pierwszej pochodnej w punkcie x 0. Posuwamy się w kierunku wskazywanym przez znak pochodnej M'(x 0 )=-b. Przechodzimy do punktu x 1 = x 0 + b, lub x 1 = x 0 + cb, dobierając dowolną stałą c. 8
Przybliżanie c.d. Wykorzystanie wartości funkcji w kilku punktach Przez trzy punkty, przez które przechodzi funkcja można poprowadzić parabolę i jej wartość ekstremalną przyjąć jako kolejne przybliżenie. Jest to interpolacja kwadratowa. Stopniowe zmniejszanie przedziału otaczającego minimum. Jeśli znamy z pewnością przedział, w którym leży minimum, to możemy ten przedział dzielić na coraz mniejsze podprzedziały i sprawdzać, w którym z nich ono leży. Ta metoda pozwala na wyznaczenie minimum z dowolną dokładnością. 9
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 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 10
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 11
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 b Następnie rozwiązanie przyjmujemy jako następne przybliżenie, liczymy w tym punkcie gradienty i drugie pochodne i powtarzamy procedurę. 12
Dokładność numeryczna W kolejnych krokach przybliżenia porównujemy wartości funkcji w blisko położonych punktach: = 2 [ M x M x m ] x x m A Obliczenia prowadzimy z dokładnością δ: x x 2 m A Musimy podać warunek, przy którym kończymy procedurę minimalizacji. Rozważmy wzór: x k x k x k t ε jest ograniczone przez dokładność obliczeń. Do zapisu mantysy stosuje się n=24 bity, stąd: 2 n/2 2 10 4 13
Parabola przechodząca przez trzy punkty Mamy zadane trzy punkty (x a, y a ), (x b, y b ), (x c, y c ). Stosujemy następujące równanie paraboli: y=c 0 c 1 x x b c 2 x x b 2 Stosując je w trzech danych punktach otrzymujemy c 0 =y b c 1 =C [ x c x b 2 y a y b x a x b 2 y c y b ] c 2 =C [ x c x b y a y b x a x b y c y b ] C=1.0/[ x 1 x b x c x b 2 x c x b x a x b 2 ] Dostajemy też położenie ekstremum paraboli: x mp =x b c 1 /2 c 2 14
Parabola ekstremum Parabola ma minimum, gdy c 2 <0. Grupujemy punkty tak, aby x a <x b <x c i możemy napisać: sign c 2 =sign[ x c x b y a y b x b x a y c y b ] Warunkiem wystarczającym istnienia minimum jest więc: y a y b, y c y b Gdy minimalizowana funkcja jest określona na prostej w przestrzeni n-wymiarowej: f a=m x 0 a d gzie x 0 to pewien punkt, a d wektor w tej przestrzeni, to problem sprowadzamy do przypadku jednowymiarowego przez wzięcie: n=1, x 0 =0, d=1 15
Otaczanie minimum Poszukujemy przedziału, w którym z pewnością znajduje się minimum funkcji. Rozpoczynamy od dwóch punktów początkowych x 1 i x 2. Nazywamy je a i b tak, aby M(x a )>M(x b ). Z dowolną stałą p dobieramy: x c =x b +p(x b -x a ) Nasz cel jest osiągnięty, gdy y c >y b. Gdy to nie zachodzi, wyznaczamy x m z równania elipsy w trzech punktach i realizujemy algorytm: a. x m x b, x c a.1 y m y c bierzemy x b, x m, x c a.2 y b y m bierzemy x a, x b, x m a.3 y m y c y m y b dalej b. x m x c, x end, gdzie x end =x b f x c x b b.1 y m y c bierzemy x b, x c, x m b.2 y m y c dalej c. x end x m dalej 16
Otaczanie minimum kolejna iteracja Krok 1 Krok 2 Krok 3 Krok 4 m m c b b c a a c m m b c a b a W kolejnym kroku bierzemy: x a n =x b n x b n =x c n x c n =x m n Procedurę przerywamy, gdy znajdujemy przedział, zawierający minimum, czyli gdy y a y b, y c y b 17
Reguła złotego podziału Jako wejście mamy 3 punkty spełniające warunki Wyliczamy położenie punktu x w większym z przedziałów (x a,x b ), (x b,x c ). Stosujemy regułę złotego podziału, tzn. g= l L = l = 5 2 Sprawdzamy warunek: M xm x b 0,618034 y a y b, y c y b I mamy cztery możliwości wyznaczenia nowego przedziału zawierającego minimum: λ x a x x b x c l x b x a x c x b M xm x b x a, x, x b, w przeciwnym razie x, x b, x c x b x a x c x b M xm x b x b, x, x c, w przeciwnym razie x a, x b, x L λ 18
Przykład metody złotego podziału Stosujemy kolejne podziały i zawężamy przedział, gdzie znajduje się minimum, aż do spełnienia warunku x c x a 19
Minimalizacja interpolacją kwadratową Procedura redukcji przedziału poprzez złoty podział jest dość wolno zbieżna. Można ją przyspieszyć poprzez jej połączenie z metodą interpolacji kwadratowej: Wychodzimy od granic przedziału, w których znajduje się minimum (x a,x c ). Następnie dzielimy ten przedział regułą złotego przedziału otrzymując x b. Opierając się na tych trzech punktach przeprowadzamy interpolację kwadratową uzyskując minimum x m. Korzystając z identycznych warunków jak poprzednio zawężamy przedział. 20
Interpolacja kwadratowa przykład Kolejne przedziały są coraz mniejsze i zawierają w sobie minimum. Porównanie szybkości zbieżności: Złoty podział: 21 kroków Interpolacja: 13 kroków 21
Metoda elementów Rozwiązujemy q równań więzów aby wyeliminować z równań q z n wielkości η. Pozostałe n-q wielkości α i (i=1,2,...,n-q) nazywamy elementami. Mogą to być pierwotne pomiary n lub ich kombinacje liniowe: j = f j0 f j1 1 f j2 2 f j, n q n q, j=1, 2,, n lub =F f 0 Rozwiązanie znajdujemy podobnie jak wcześniej: =F T G y F F T G y y f 0 Macierz kowariancji wynosi wtedy: G =F T G y F zaś poprawione wyniki pomiarów i ich macierz kowariancji wynoszą: =F f 0 =F F T G y F F T G y y f 0 f 0 G =F G F T 22