Metody Obliczeniowe w Nauce i Technice

Podobne dokumenty
Metody Obliczeniowe w Nauce i Technice

KADD Minimalizacja funkcji

WYKŁAD 9 METODY ZMIENNEJ METRYKI

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

KADD Minimalizacja funkcji

Optymalizacja ciągła

Optymalizacja ciągła

Metody Obliczeniowe w Nauce i Technice

Optymalizacja ciągła

Optymalizacja ciągła

Metody Obliczeniowe w Nauce i Technice

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

1 Funkcje dwóch zmiennych podstawowe pojęcia

Metody numeryczne I Równania nieliniowe

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Metody Obliczeniowe w Nauce i Technice

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Definicja pochodnej cząstkowej

Stosowana Analiza Regresji

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Uczenie sieci typu MLP

1.3. Optymalizacja geometrii czasteczki

Metody Obliczeniowe w Nauce i Technice

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

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Ważne rozkłady i twierdzenia c.d.

Iteracyjne rozwiązywanie równań

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.

Metoda największej wiarygodności

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

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

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

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

Macierze. Rozdział Działania na macierzach

Metody Rozmyte i Algorytmy Ewolucyjne

Elementy Modelowania Matematycznego Wykład 4 Regresja i dyskryminacja liniowa

Prawdopodobieństwo i statystyka

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

5. Metody stochastyczne (symulowane wyżarzanie, algorytmy genetyczne) -> metody Monte Carlo

SZTUCZNA INTELIGENCJA

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

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

1 Równania nieliniowe

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Weryfikacja hipotez statystycznych

Metody numeryczne II

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

Metody numeryczne II

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

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

Matematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)

Rozkłady wielu zmiennych

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Statystyka i eksploracja danych

Zaawansowane metody numeryczne

RÓWNANIA NIELINIOWE Maciej Patan

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Metody Obliczeniowe w Nauce i Technice

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

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

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

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

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

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

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

Elementy inteligencji obliczeniowej

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Aproksymacja funkcji a regresja symboliczna

INTERPOLACJA I APROKSYMACJA FUNKCJI

Teoretyczne podstawy programowania liniowego

FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI

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

Całkowanie numeryczne przy użyciu kwadratur

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

STATYSTYKA I DOŚWIADCZALNICTWO Wykład 5

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

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Techniki Optymalizacji: Metody regresji

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

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

Przegląd metod optymalizacji numerycznej. Krzysztof Malczewski

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. 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ą

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Funkcje dwóch zmiennych

8. PODSTAWY ANALIZY NIELINIOWEJ

Programowanie celowe #1

PROGRAMOWANIE KWADRATOWE

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

Transkrypt:

Metody Obliczeniowe w Nauce i Technice 17 - Minimalizacja funkcji Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Anna Bukowska Yurii Vyzhha

Outline I 1 Wstęp 2 Minimalizacja w 1-D 3 Metody krokowe dla n-d (stepping methods in many variables) 4 Przypadki specjalne 5 Minimum lokalne i globalne 6 Literatura

Wstęp Motywacja Motywacja Szeroka klasa zagadnień szukanie najmniejszej wartości przyjmowanej przez funkcję jednej lub wielu zmiennych. Przykład minimalizacja kosztów produkcji... linia geodezyjna w ogólnej teorii względności

Wstęp Motywacja Motywacja Przykład cd. przykład klasyczny: estymacja parametrów modelu teoretycznego przez minimalizację różnicy między danymi teoretycznymi a eksperymentalnymi: min!f (x) = [ ] n Yk T k ( x) 2 k=1 σ Yk k zmierzone wartości, σ k - błąd pomiaru, T k - wartości teoretyczne, zależne od parametrów x i, i = 1,...,n K n, zwykle K n

Wstęp Terminologia Terminologia Terminologia tradycyjnie: minimalizacja maksymalizacja (F = f (x)) optymalizacja kolizja z metodą teorii sterowania, (oparta o rachunek wariacyjny) b. stary termin: programowanie (liniowe, nieliniowe, matematyczne) ekstremalizacja hill-climbing function minimalization!!!

Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Mając daną funkcję F (x) znaleźć wartość zmiennej x, dla której F (x) przyjmuje najmniejszą wartość, przy czym: 1 F (x) nie musi być zadana analitycznie tylko: dla każdego x znamy jej wartość F (x) 2 wartości x mogą być ograniczone do pewnego obszaru constrained minization 3 mogą być dostępne F x 4 f (x) jest obliczana w wielu punktach aż do osiągnięcia minimum. (F (x) to procedura)

Wstęp Zdefiniowanie zagadnienia Zdefiniowanie zagadnienia Najlepsza metoda taka, która: znajduje minimum (z zadaną tolerancją) po najmniejszej liczbie obliczeń funkcji ma małą złożoność obliczeniową (sama metoda) wymaga mało pamięci

Wstęp Gdzie szukać minimum funkcji? (global minimum) Gdzie szukać minimum funkcji? (global minimum) F (x) przyjmuje minimum w jednym z punktów: 1 wszystkie F x = 0 (p. stacjonarny stationary point) 2 niektóre F x nie istnieją (wierzchołek cusp) 3 na krawędzi obszaru (edge point) Gdy nie znamy funkcji analitycznie musimy ograniczyć się do minimum lokalnego x 0 : x otoczenia x 0, F (x) > F (x 0 ) unconstrained local minimization

Wstęp Kształt funkcji F (x) Kształt funkcji F (x) Założenie F (x) ma sens fizyczny w rozpatrywanym obszarze istnieją jej wszystkie pochodne. Wokół x 1 F (x) w szereg Taylora (1-D): F (x) = F (x 1 ) + F x (x x 1 ) + 1 x1 2 2 F x 2 (x x 1 ) 2 +... x1 a priori nie znamy obszaru jego zbieżności im mniejsza (x x 1 ) - tym mniej ważne człony wyższych rzędów dla małych kroków przewidywania oparte na wyrazach niższego rzędu powinny być wystarczające.

Wstęp Kształt funkcji F (x) Kształt funkcji F (x) dla n-d: x x F ( x) = F ( x 1 ) + g T ( x x 1 ) + 1 }{{} 2 ( x x 1) T G ( x x 1 ) +... stały g i = F x gradient; G ij = 2 F x1 x i y j x1 symbole (x i składowa; x i wektor; niekiedy zamiast x samo x)

Wstęp Kształt funkcji F (x) Kształt funkcji F (x) g T ( x x 1 ) proporcjonalny do gradientu, wskazuje kierunek największego spadku funkcji, w pobliżu minimum: g 0, ( x x 1 ) 0 człon liniowy, nie przepowiada minimum, nie można go użyć do określenia wielkości kroku. 1 2 (( x x 1) T ) G ( x x 1 ) kwadratowy, najniższy człon przydatny do przewidywania minimum G stale w małych obszarach Uwaga Ta analiza nie jest słuszna dla F ( x) liniowych od x; Wtedy: programowanie liniowe, rozwiązanie krawędzi obszaru ograniczeń.

Wstęp Kształt funkcji F (x) Kształt funkcji F (x) Optymalne algorytmy minimalizacji Nie ma uniwersalnej metody minimalizacji. Dla b. złego algorytmu można znaleźć F (x), którą minimalizuje on najszybciej i odwrotnie. Zasada: dobór algorytmu do funkcji.

Minimalizacja w 1-D Minimalizacja w 1-D Przydatność metod 1-D dla zag. n-d prosta ilustracja ogólnych problemów metody 1-D często: element składowy metod n-d

Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search)

Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Realizacja Wady przegląd wartości wybór najmniejszej odległości od minimum 0 x 2 nie może być stosowana dla przedziału nieefektywna nie uczy się, własności funkcji

Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) 100 punktów w 1 D Zawężenie obszaru do 1% 100 2 w 2 D 100 10 w 10 D przy czasie obliczeń jednej wartości F (x) 10 5 s czas obliczeń = 1020 10 5 s π 10 7 }{{} sek. w roku 3 10 7 lat! Zadanie: porównaj całki w n-d

Minimalizacja w 1-D Przeglądanie siatki (grid search) Przeglądanie siatki (grid search) Zalety absolutna prostota bezwzględna zbieżność brak czułości na szczegółowe zachowanie się F (x)

Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) F (x) - f. unimodalna

Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Definicja funkcji unimodalnej Funkcję f (x) nazywamy unimodalną na przedziale [a,b] jeżeli: 1 x [a,b] : f (x ) = min x [a,b] f (x) 2 x 1,x 2 : a x 1 < x 2 b zachodzi: x 2 x f (x 1 ) > f (x 2 ) x 1 x f (x 1 ) < f (x 2 ) Minimum w [0,1] Na początek potrzebne 2 punkty: F (x 1 ), F (x 2 ) : F (x 1 ) < F (x 2 ) minf (x) [0,x 2 ] w [0,x 2 ] już jest punkt x 1 dla kolejnej redukcji wyznaczenie F (x) tylko w jednym punkcie.

Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Rozmieszczenie punktów: t współczynnik redukcji po każdym etapie

Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Po wyznaczeniu F (x 3 ) długość przedziału : t 2 5 1 t 2 = 1 t t = 0, 616 złoty podział 2 Dla zadanej ilości kroków optymalna metoda Fibonacciego t zmienne, (1202 króliki)

Minimalizacja w 1-D Metoda złotego podziału (golden section search) Metoda złotego podziału (golden section search) Optymalność W sensie minimax: minimalizuje maksymalną liczbę określeń F (x) Optymalność pesymistyczna Odpowiednik najlepszej strategii w grze przeciwko inteligentnemu przeciwnikowi. Podejście dobre dla patologicznych funkcji. Metoda Bermana x 0 = a+b 2 ; poszukiwanie tam, gdzie maleje ustalony krok, w drugą stronę z mniejszym krokiem.

Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Założenie: F (x) jest parabolą wyznaczamy F (x) w 3 punktach: x 1,x 2,x 3 (interpolacja f. kwadr.) min F (x) min paraboli przechodzącej przez x 1,x 2,x 3 znajduje się w punkcie x 4 : x 4 = 2 F 1 (x 2 +x 3 ) (x 1 x 2 ) (x 1 x 3 ) + F 2 (x 1 +x 3 ) (x 2 x 1 ) (x 2 x 3 ) + F 3 (x 1 +x 2 ) (x 3 x 1 ) (x 3 x 2 ) [ F 1 (x 1 x 2 ) (x 1 x 3 ) + F 2 (x 2 x 1 ) (x 2 x 3 ) + F 3 (x 3 x 1 ) (x 3 x 2 ) ] Zadanie: Sprawdzić ten wzór

Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja A następnie: x 4 zastępuje jeden z x 1,x 2,x 3, wyznaczamy nowy x 4... warunek zakończenia: wartość F (x 4 ) bliska F (x 3 ) z zadaną dokładnością Metoda dobra dla f. zbieżnych od kwadratowych, lecz: 1 na każdym kroku x 1,x 2,x 3 mogą wyznaczać max a nie min rozbieżność 2 gdy x 1,x 2,x 3 prawie na prostej duży krok: trudności numeryczne rozbieżność 3 który z poprzednich punktów odrzucić? 4 możliwe oscylacje wokół minimum zamiast zbieżności

Minimalizacja w 1-D Kwadratowa interpolacja i aproksymacja Kwadratowa interpolacja i aproksymacja Możliwe zabezpieczenia: Zaniechanie metody przy wystąpieniu trudności. Używana: W ostatniej fazie minimizacji (f. fizyczne paraboliczne w pobliżu minimum).

Minimalizacja w 1-D Metoda prób i błędów (success-failure method) Metoda prób i błędów (success-failure method) Kompromis między przeszukiwaniem na siatce kwadratowa interpolacja x 0 start point, d initial step size gdy F (x 0 + d) < F (x 0 ) sukces: x 0 x 0 + d, d α d, α expansion factor (α > 1, α 3.0) gdy F (x 0 + d) > F (x 0 ) niepowodzenie: d β d, β contraction factor (β < 1, β 0.4) Test jest powtarzany aż do uzyskania zmian F (x) < ɛ.

Minimalizacja w 1-D Metoda prób i błędów (success-failure method) Metoda prób i błędów (success-failure method) Minimum jest zlokalizowane (bracketed), gdy po sukcesie niepowodzenie wtedy, mamy trzy punkty typu: są one punktem startowym interpolacji kwadratowej. Uniwersalna, efektywna metoda 1-D dla ogólnych funkcji.

Metody krokowe dla n-d (stepping methods in many variables) Przeszukiwanie losowe Przeszukiwanie losowe szukanie na siatce dla n > 2 - bez sensu (grid search) doświadczenie z całkowania mogą być tu też przydatne metody Monte-Carlo x i - wybierane losowo, zgodnie z rozkładem: równomiernym, normalnym o środku w najlepszym ze znalezionych punktów, przy zadanej szerokości. stosowane, gdy: nic nie wiadomo o F (x), F (x) ma kilka minimów, dla ustalenia rozsądnego punktu startowego

Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (single parameter variation) Zmiana jednego parametru cz.1 Warunek na istnienie minimum - stacjonarny punkt x i, tj. znikanie wszystkich n pochodnych F x i, i = 1, 2, 3,..., n

Metody krokowe dla n-d (stepping methods in many variables) Zmiana jednego parametru (single parameter variation) Zmiana jednego parametru cz.2 Niebezpieczna - przypadki z wąwozem (narrow valley) w tym przypadku - stosowane ulepszone metody

Metody krokowe dla n-d (stepping methods in many variables) Metoda Rosenbrocka Metoda Rosenbrocka Algorytm wykonuje się jeden pełny cykl minimalizacji wzgl. kolejno wszystkich parametrów (współrzędnych), zmiana osi układu współrzędnych - nowy układ ortogonalny: jedna z osi od punktu początkowego do końcowego w ostatnim cyklu minimalizacji, nowy cykl... w nowym układzie współrzędnych Niestety metoda mało efektywna dla dużego n (w połączeniu z metodą aproks. kwadratowej)

Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Simplex - wprowadzenie Definicja Simplex - najprostsza n-wymiarowa figura określona przez (n + 1) wierzchołków (vertex). Nazwa metody - w każdym kroku informacja o funkcji dotyczącej jej wartości w n + 1 punktach

Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.1

Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.2 1 Wybieramy (losowo, min 1-D) 3 punkty P 1, P 2, P 3 i wyznaczamy w nich F (x) : P H F (x) - największa (highest) P L F (x) - najmniejsza (lowest) 2 Wyznaczamy środek masy wszystkich punktów z pominięciem P H P = 1 n [ n+1 i=1 P i P H ] 3 Obliczamy odbicie P H wzgl. P : P* = P + (P P H ) jeżeli F (P*) < F (P L ) nowy P** = P + 2 (P P H ) F (P*) > F (P L ) nowy P** = P 1/2 (P P H )

Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.3 4 Punkt P H zastępujemy przez najlepszy z P* i P** Jeżeli żaden z nowych punktów nie jest lepszy od P H, tworzymy simplex oparty o P L w wymiarach 0.5 poprzednie Inne możliwości: współczynniki 2 oraz 1 2, interpolacja kwadratowa wzdłuż prostej (P H, P) Uwaga! nowy punkt nie może być zbyt blisko P - bo to grozi redukcją (bez powrotu) simpleksów w n do hiperpłaszczyzny

Metody krokowe dla n-d (stepping methods in many variables) Metoda simpleksów Opis metody cz.4 Zalety : nieczuła na płytkie minima (pochodzenia: zaokrąglenia, statystyka... ), mała ilość obliczeń funkcji F (X ) w każdym kroku, największe możliwe kroki, rozsądny kierunek poszukiwań, bezpieczna i szybka daleko od minimum, daje estymaty błędów parametrów Zbieżność EDM }{{} estimated distance to minimum = F (P H ) F (P L ) < EPSI }{{} (ɛ)

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe w oparciu o informacje o funkcji w małych obszarach (używany gradient i ew. wyższe pochodne). Wyznaczanie pochodnych analitycznie kłopotliwe numerycznie (F ) (x) F (x 0 + d) F (x 0 ), δ d x0 d 2 2 F x 3 lepiej: (F ) (x) F (x 0 + d) F (x 0 d), δ d x0 2 d 2 2 F x 3

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Wyznaczanie pochodnych cd. 2 n wywołań F (X ) ( asym. : n 1) ale łatwo przy okazji : (F ) (x) F (x 0 + d) 2 F (x 0 ) + F (x 0 + d) x0 d 2 Z1 - sprawdzić: drugie pochodne są stałe w małych obszarach - nie są potrzebne kroki symetryczne tworzą macierz n n

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Wyznaczanie pochodnych cd. poza p. symetrycznymi potrzeba n(n 1) 2 pkt. (mieszane pochodne)

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda największego spadku podążanie w kierunku wyznaczonym przez - g (gradient) (w tym kierunku funkcja maleje najszybciej) (Cauchy) { - seria minimalizacji 1-D wzdłuż kierunku największego spadku - iteracyjna, bo gradient nie jest stały

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda największego spadku cd. jeżeli minimalizacja w 1-D 7 dokładna w kierunkach ortogonalnych met. uzmienniania 1 parametru Łatwo o przykład hipotetycznej funkcji, dla której minimum jest gradientu

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda Newtona Ogólna funkcja kwadratowa jest określona przez: - wartość, w dowolnym punkcie x - pierwsze i 0 - drugie pochodne tymi informacjami Minimalizacja w pierwszym kroku. F ( x) = F ( x 0 ) + g T ( x x 0 ) + 1 2 ( x x 0) T G ( x x 0 ) g w x 0 Minimum: G - stała macierz x m = x 0 G 1 g = x 0 V g

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda Newtona cd. Z1 - sprawdzić: V = G 1 macierz kowariancji (covariance) jest to n-d odpowiednik 1-D interpolacji kwadratowej te same wady! niestabilna rozbieżna, gdy V nie jest dodatnio określona Zalety: krok nie jest dowolny określony przez metodę kierunek gradientu brana pod uwagę korelacja parametrów

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda Newtona cd. Używana: blisko minimum funkcja dodatnia kwadratowa (liniowe najmniejsze kwadraty) Ponadto - podstawa wielu metod

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Dygresja: dodatnio określone formy kwadratowe 1-D forma kwadratowa: F (x) = a + g x + 1 2 G x 2 g = F x, 0 G = 2 F x 2 F (x) ma min. wtedy i tylko wtedy, gdy G 0. 0 G = 0 min ; x m = g/g Dla ogólnej funkcji nieliniowej: krok do x = g G gdy G > 0 (w przeciwnym przypadku: lub maximum)

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Dodatnio określone formy kwadratowe cd.

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Dodatnio określone formy kwadratowe cd. gdy G 0 krok = g kierunek - dobry, wartość - dowolna W x 0 F (x) nie jest wypukła (dodatnio określona) Uogólnienie na n-d: g g, G - macierz 2-ich poch.; F ( X ) = a + g T x + 1 2 x T G tylko dla G dod. określonej ma sens krok do: x = G 1 g

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Badanie czy G jest dodatnio określona brak prostych sposobów Dla macierzy kwadratowych, symetrycznych - 2 warunki konieczne 1 o elementy diagonalne > 0 (wyst. 1 1) 2 o elementy pozadiagonalne: G 2 ij < G ii G jj

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Badanie czy G jest dodatnio określona cd. Ogólne warunki konieczne i wystarczające wszystkie wartości własne > 0 (b. trudne i przybliżone) wyznacznik wszystkich macierzy > 0 (najprościej sprawdzić) skalar E T G e > 0 dla e (zwykłe def.), wyjaśnia dlaczego G dod. okr. daje formę F (x) z minimum: F (x) rośnie we wszystkich kierunkach od e = 0 V = G 1 jest dodatnio określona

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Postępowanie w przypadku G - nie jest dod. określone a) analogicznie do 1-D : G = I Ale: b) lepiej: gdy elementy diagonalne G > 0, wtedy pozadiag. = 0 (scale - invariant step), gdy tylko niektóre el. pozadiag. Gij 2 G ii G jj G ij = 0, zamiast G 1 bierzemy (G + λ I ) 1 ; λ największa (bezwzgl.) ujemna wartość własna: dużo obliczeń, krok pośredni pomiędzy m. Newtona a największego spadku (duże λ : krok krótki, w kierunku g) gdy jedna lub więcej diagonalnych 2-ich poch. < 0 informacja o kierunku wzrostu ujemnej 1-szej poch. w tym kierunku - szukanie met. zmiany 1 param.

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Gdy G - nie jest dodatnio określone cd. Metody oparte na powyższych regułach - quasi-newton m. Podstawowa wada tych metod - obliczanie i odwracanie w każdym kroku macierzy drugich pochodnych obliczanie 2-ich poch. n 2 (długie) odwracanie

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda sprzężonych kierunków conjugate directions Wektory d i i d j są sprzężone ze względu na dodatnio określoną macierz, jeżeli: T d i Adj = 0 dla i j; gdy A = I, d i ortogonalne (sprzężenie - uogólnienie ortogonalności) n sprzężonych wektorów rozpina n-d przestrzeń. A - nie określa jednoznacznie zbioru wektorów sprzężonych można zastosować uogólnienie procedury ortogonalizacji Grama-Schmidta: d 1 - dowolny wektor d 2 = A d 1 dt 1 AAd 1 d1 T Ad d 1 sprzężony do d 1 1 d 3 =... sprawdzić

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. W minimalizacji - użyteczne wektory sprzężone ze względu na hesjan G Twierdzenie Sekwencja liniowych minimalizacji w każdym z n sprzężonych kierunków minimalizuje ogólną funkcję kwadratową n zmiennych. Dowód: { funkcja: F ( x) = F ( 0) + g T x + 1 2 x T G x kierunki sprzężone: gdzie: G jest macierzą di di T G dj = 0 i j

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. x, g - jako kombinacje liniowe: w układzie o wektorach jednostkowych x = y idi, g = c idi i i wtedy: F (x) = F (0) + ( i T c idi ) ( y jdj ) + 1 2 ( T y idi ) G ( y jdj ) j i j }{{} ( )

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. ( ) wynik przegrupowania podwójna suma i j równe zero (warunek sprzężenia) F (x) = F (0) + c i di T d j y j + 1 yj 2 dj T Gd j = 2 i i j gdzie: F (0) + j (b jy j + b j y 2 j ) b j = i c id T i d j, b j = 1 2 d T j Gd j - stałe zamiast x - mamy y, przy czym F (x) stała się sumą niezależnych jednoparametrowych funkcji kwadratowych. Minimalizacja ze względu na y i (wzdłuż kierunku d i ) jest niezależna od minimalizacji względem pozostałych sprzężonych kierunków.

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Wnioski: minimalizacja nie wzdłuż osi ortogonalnych, ale wzdłuż kierunków sprzężonych Ale szukać innej konstrukcji d i (gdy znamy G - m. Newtona - w 1 kroku!) Można wyznaczyć d i bez G! Twierdzenie Jeżeli x 0, x 1 - punkty min. w 2 równoległych podprzestrzeniach, to ( x 1 x 0 ) jest sprzężony do każdego wektora w tych dwóch podprzestrzeniach.

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód x 0 - min. wzdłuż d i ; to gradient F w x 0 musi być d 1 T d 1 ( g + G x0 ) = 0 T ( g grad. w x = 0) d 1 ( g + G x1 ) = 0 d 1 T G( x1 x 0 ) = 0 ( x 1 x 0 ) sprzężony do d 1

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda sprzężonych kierunków cd. Dowód cd. w przestrzeni: 3-D 3 dodatkowe minimalizacje (3-ci kier. sprzężenia do 2 pierwszych) n-d n(n+1) 2 minimalizacje - ile elem. w G - ale: met. b. stabilna dla F (x) kwadratowych i nie wymaga znajomości pochodnych Uwaga: asymetria: n minimal. w d 1 1 minimal. w d n

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metody gradientowe Metoda gradientów sprzężonych (conjugate gradients) wykorzystuje tylko 1-sze pochodne. F ( x) i g( x) wyznaczone w x 0 i x 1, z nich: x = x 1 x 0, g = g1 g 0 Dla F ( x) kwadratowej, z hesjanem G: g = G x, zatem dowolny d 1 g będzie dodany do x: d 1 T g = d1 G x = 0 metoda uzyskiwania kierunków sprzężonych bez znajomości G: Pierwszy kierunek: d 0 = g 0 min. wzdłuż d 0 : w x 1, gradient: g 1 Drugi kierunek: d 1 = g 1 + b d 0 (liniowa kombinacja znanych kierunków)

Metody krokowe dla n-d (stepping methods in many variables) Metody gradientowe Metoda gradientów sprzężonych cd. Warunek sprzężenia: d 1 T G d0 = d 1 T G ( g1 g 0 ) = 0, czyli: ( g 1 + b d 0 ) G d 0 = ( g 1 b g 0 ) ( g 1 g 0 ) = 0 x 1 - to min. wzdłuż d 0 = g 0 g 0 g 1 : g 1T g 0 = 0 b = g 1 T g 1, czyli nowy sprzężony kierunek g 0T g ( 0 ) d 1 = g 1 + g1t g 1 d g 0T g 0 0 i ten proces kontynuujemy generując n kierunków wzajemnie sprzężonych. Można pokazać, że dla wszystkich sprzężonych kierunków zachodzi: d i+1 = g i+1 + g i+1 T g i+1 g T i g i d i

Przypadki specjalne Liniowy model Liniowy model Minimalizacja χ 2 (chisquare minimization, least squares fitting) k [ ] Yk T k ( x) 2 k min!f ( x) = = fk 2 ( x) σ k=1 k k=1 gdzie: Y k wartości zamierzone, σ k błąd, T k wartości teoretyczne; k n, zwykle k n minf ( x) najlepsze estymaty parametrów x (modelu teoretycznego)

Przypadki specjalne Liniowy model Liniowy model ( ) 2 F x i x j = x i x j k f 2 k = x i 2 f k f k + 2 f k 2 f k x k i x j x k i x j }{{} ( ) k 2 f k f k x j = ( ) - zwykle uznajemy ten człon za mały w porównaniu z poprzednim linearyzacja (modelu! T k (x) liniowe)

Przypadki specjalne Liniowy model Liniowy model gdy drugi człon w ( ) = 0 linear least squares F (x) quadratic i cały problem minimalizacji znalezienie [ ] macierzy 2 1 F x i x j a znalezienie min!f (x) w pojedynczym kroku newtonowskim gdy drugi człon w ( ) 0 non-linear least squares 2 F x i x j łatwe do policzenia (positive defined) kilka kroków iteracyjnie macierz [ 2 F x i x j ] 1 nie zbiega się do macierzy kowariancji

Przypadki specjalne Likelihood maximization Likelihood maximization k min!f (x) = ln f k (x), f k (x) = 1 σ k=1 k 2 }{{} ( ) ( ) - logarytmiczna funkcja wiarygodności [Y k T k (x)] 2 2 F = x i x j x i = x j x i k 1 f k f k x j = k 1 f k f k fk 2 1 2 f k x i x j f k k x i x j }{{} ( ) ( ) jeżeli można pominąć...

Przypadki specjalne Model with separable computing Model with separable computing znaczna część obliczeń zależy tylko od kilku składowych x nie ulega zmianie, gdy one również bez zmiany podział na n-części a każda zależy tylko od jednego parametru Z tego wynika efektywne niektóre proste metody (np. single parameter variation).

Przypadki specjalne Podobne zagadnienia Podobne zagadnienia Na przykład znajdowanie krzywej p(y) = min x!f (x, y), np. przy określaniu przedziału ufności podobny eksperyment, seria eksperymentów Z tego wynika użycie poprzedniego wyniku jako punktu startowego macierz kowariancji nie powinna się istotnie zmienić

Minimum lokalne i globalne Wprowadzenie Wprowadzenie Przedstawione powyżej metody działają przy założeniu: F (x) unimodalna (w badanym obszarze) Zwykle F (x) ma wiele minimów wtedy 4 możliwości: 1 wystarcza znajomość dowolnego minimum lokalnego rzadko; najprościej 2 szukamy minimum globalnego najczęściej zwłaszcza w optymalizacji; brak ogólnych pewnych metod

Minimum lokalne i globalne Wprowadzenie Wprowadzenie 3 interesuje nas jedno ( fizyczne ) minimum (niekoniecznie) globalne w badaniach naukowych; z góry znana przybliżona lokalizacja minimum dobra dolina. Poszukiwanie: od ustalenia przybliżonych, przewidywanych wartości części parametrów, znalezienie minimum ze względu na wszystkie parametry. 4 szukamy wszystkich lokalnych minimów (w tym globalnego) najtrudniej, brak ogólnej metody

Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.)

Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.) 1 z x 0 lokalna minimalizacja min. w a 0 2 z x 0 długi, losowy krok do x 1 3 z x 1 lokalna minimalizacja min. w a 1 4 długi krok (precipitous step) wzdłuż a 1 a 0 do x 2 5 z x 2 lokalna minimalizacja min. w a 2 6 długi krok wzdłuż a 2 a 1... itd.

Minimum lokalne i globalne Algorytm Gelfanda-Cetlina (stepping m.) Algorytm Gelfanda-Cetlina (stepping m.) Metoda jest nielokalna Przeszukiwanie zarówno w kierunku rosnących jak i malejących wartości F (x), z preferencją w kierunku malejących (przewaga szukania nad zbieżnością). O jakości decyduje wybór precipitous step zwykle met. prób i błędów. Wada - brak kryterium zatrzymania. Zwykle jest to czas obliczeń liczba wywołań F (x) uzyskanie F (x) mniejszej od pewnej zadanej wartości zatoczenie koła (trudne stwierdzenie)

Minimum lokalne i globalne Metoda Goldstein a-price a Metoda Goldstein a-price a ładna i prosta oparta na własnościach analitycznych F (x) W pobliżu lokalnego minimum x 1,, F (x): 1 F ( x) = F ( x 1 ) }{{} + 2 ( x x 1) T G ( x x 1 ) + }{{} h.t. (!) higher therms (!) zanikły pierwsze pochodne! Człony z 3-cią i wyższymi pochodnymi zawierają informacje o pozostałych minimach.

Minimum lokalne i globalne Metoda Goldstein a-price a Usunięcie minimum w x 1 przez transformację: F ( x 1, x) = 2 [F ( x) F ( x 1 )] ( x x 1 ) T G ( x x 1 ) = 1 + h.t. G dodatnio określona (bo w minimum) w mianowniku forma kwadratowa zawsze dodatnia, czyli po znalezieniu min F 1 (x) mamy: Uwaga gdy F 1 (x) < 0 znaleziono lepsze (głębsze) minimum gdy F 1 (x) > 0 znaleziono inne minimum lokalne, nie lepsze od tego w x 1 ; z tego punktu (x 2 ) F 2 (związane z F 1 tak, jak F 1 z F ) Metoda ta grozi zapętleniem stąd, powtarzać ja nie więcej niż kilka razy.

Minimum lokalne i globalne Uwagi końcowe Uwagi końcowe nie ma uniwersalnych metod minimalizacji tj.: wszystkie funkcje wszystkie obszary danej funkcji zalecane: używanie różnych metod stopniowe zbliżanie się do minimum kolejno: metody Monte Carlo metody simplex / metoda Rosebrocka (bezgradientowa) metody gradientowe wykorzystać dostępną informację o F (x) ważna: zadania z ograniczeniami (funkcje kary)

Minimum lokalne i globalne Uwagi końcowe Uwagi końcowe powszechnie używany pakiet minimalizacyjny: F. James, M. Roos: MINUIT, CERN Program Library long write up D506 (516) zapoznać się! głębsze wprowadzenie w zagadnienia minimalizacji R. Wit: Metody programowania nieliniowego WNT, Warszawa 1986 alternatywne Simulated annealing Genetic algorithms

Literatura Literatura I Romuald Wit Wstęp do metod optymalizacji nieliniowej skrypt UJ, 1983 Romuald Wit Metody programowania nieliniowego WNT, Biblioteka Inżynierii Oprogramowania F. Jarnes MINUIT Function Minimization and Error Analysis http://consult.cern.ch/writeups/minuit Metody optymalizacji http://aquarium.ia.agh.edu.pl/labs/opt/metopt.htm

Literatura Literatura II John Smith Przykłady ciekawych wielowymiarowych funkcji http://www.maths.adelaide.edu.au/applied/llazausk/ alife/realopt.htm H. H. Rosenbrock An automatic method for finding the greatest or least value of a function Comput J. 3 (1960) 175 Math Works Inc. Metoda Rosenbrocka http://www.mathworks.com/products/optimization/ example1.shtml

Literatura Literatura III J. A. Nelder, R. Mead A simplex method for function minimization Comput. J. 7 (1965) 308 R. Fletcher, C. M. Reeves Function minimalization by conjugate gradients Comput. J. 7 (1964) 149 Chris Flatters The Least-Squares Fitting Tool http: //www.nrao.edu/cflatter/slime-man/node105.html Bernard Rupp The Linear Least Squares Minimization Problem http://www.structure.llnl.gov/xray/comp/lsq.htm

Literatura Literatura IV Biblioteki CERN-u CERN Program Library http://www.cmd2.inp.nsk.su/cernlib/shortwrups/ crnfinal.html Constrained and Unconstrained Linear Least Squares Fitting http://www.cmd2.inp.nsk.su/cernlib/shortwrups/ node118.html