Optymalizacja ciągła

Podobne dokumenty
Optymalizacja ciągła

Optymalizacja ciągła

Optymalizacja ciągła

WYKŁAD 9 METODY ZMIENNEJ METRYKI

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji

5. Metody Newtona. 5.1 Wzór Taylora

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

Techniki Optymalizacji: Optymalizacja wypukła

Metody numeryczne I Równania nieliniowe

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

1 Równania nieliniowe

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

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

1 Pochodne wyższych rzędów

Formy kwadratowe. Rozdział 10

Metoda Karusha-Kuhna-Tuckera

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

Zaawansowane metody numeryczne

RÓWNANIA NIELINIOWE Maciej Patan

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

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Matematyka stosowana i metody numeryczne

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

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

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

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

II. FUNKCJE WIELU ZMIENNYCH

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

Metody systemowe i decyzyjne w informatyce

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

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

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

1 Wartości własne oraz wektory własne macierzy

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

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

Metody optymalizacji. notatki dla studentów matematyki semestr zimowy 2015/2016

2. Definicja pochodnej w R n

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

3. Funkcje wielu zmiennych

Wykład 12 i 13 Macierz w postaci kanonicznej Jordana , 0 A 2

ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Algebra liniowa z geometrią

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

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

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Iteracyjne rozwiązywanie równań

Zaawansowane metody numeryczne

Metody systemowe i decyzyjne w informatyce

Teoretyczne podstawy programowania liniowego

Programowanie celowe #1

Przekształcenia liniowe

Elementy metod numerycznych

Metoda gradientu prostego

1.3. Optymalizacja geometrii czasteczki

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

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

PROGRAMOWANIE KWADRATOWE

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Przestrzenie wektorowe

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

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

Macierze. Rozdział Działania na macierzach

Programowanie liniowe

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

Układy równań liniowych. Krzysztof Patan

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

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Metody Obliczeniowe w Nauce i Technice

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

Iloczyn skalarny. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 10. wykład z algebry liniowej Warszawa, grudzień 2013

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Metody numeryczne Wykład 7

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

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

Rozwiązywanie równań nieliniowych

Algebra liniowa. 1. Macierze.

Materiały wykładowe (fragmenty)

Modyfikacja schematu SCPF obliczeń energii polaryzacji

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Metody numeryczne II

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Wykład 3 Równania rózniczkowe cd

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Stabilność II Metody Lapunowa badania stabilności

2.1. Postać algebraiczna liczb zespolonych Postać trygonometryczna liczb zespolonych... 26

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

Układy równań liniowych

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

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

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

Podstawowe struktury algebraiczne

Transkrypt:

Optymalizacja ciągła 5. Metody kierunków poparwy (metoda Newtona-Raphsona, metoda gradientów sprzężonych) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.03.2019 1 / 56

Plan wykładu Minimalizacja różniczkowalnej funkcji f(x) bez ograniczeń: min f(x) x R n Często będziemy zakładać wypukłość f(x) 1. Wprowadzenie (poprzedni wykład) 2. Metoda spadku wzdłuż gradientu (poprzedni wykład) 3. Metoda Newtona-Raphsona 4. Modyfikacje metody Newtona-Rapshona 5. Metoda gradientów sprzężonych 2 / 56

Przypomnienie: metody kierunków poprawy Iteracyjne metody generujące punkty x 1, x 2,... zgodnie z: x k+1 = x k + α k v k, Kierunek v k jest kierunkiem poprawy: gwarantuje, że przy dostatecznie małych α R: f(x k + αv k ) < f(x k ) Równoważnie, pochodna kierunkowa wzdłuż v k musi być ujemna: f(x k ) v k = f(x k ) v k < 0 Długość kroku α k dobierana jest aby zapewnić odpowiednio duży spadek funkcji celu 3 / 56

Metoda Newtona-Raphsona 4 / 56

Przypomnienie: metoda Newtona x k+1 = x k f (x k ) f (x k ) f(x) f(x k ) + f (x k )(x x k ) + f (x k ) 2 (x x k ) 2 x k x k+1 5 / 56

Metoda Newtona-Raphsona Wielowymiarowa wersja metody Newtona Generujemy iteracyjnie ciąg punktów x 1, x 2,... W każdej iteracji k = 1, 2,..., przybliżamy funkcję f(x) wielomianem Taylora drugiego rzędu w aktualnym punkcie x k : P 2 (x; x k ) = f(x k ) + f(x k ) (x x k ) + 1 2 (x x k) 2 f(x k )(x x k ) Założenie: hesjan 2 f(x k ) jest dodatnio określony Jako kolejny punkt x k+1 bierzemy punkt minimalizujący P 2 (x; x k ) 6 / 56

Metoda Newtona-Raphsona Przypomnienie: Minimum funkcji kwadratowej x Ax + b x + c z dodatnio określoną macierzą A ma postać x = 1 2 A 1 b 7 / 56

Metoda Newtona-Raphsona Przypomnienie: Minimum funkcji kwadratowej x Ax + b x + c z dodatnio określoną macierzą A ma postać x = 1 2 A 1 b Wniosek: Minimum funkcji kwadratowej: F (v) = 1 2 v 2 f(x k )v + f(x k ) v + f(x k ) jest w punkcie v = ( 2 f(x k )) 1 f(x k ) 7 / 56

Metoda Newtona-Raphsona Przypomnienie: Minimum funkcji kwadratowej x Ax + b x + c z dodatnio określoną macierzą A ma postać x = 1 2 A 1 b Wniosek: Minimum funkcji kwadratowej: F (v) = 1 2 v 2 f(x k )v + f(x k ) v + f(x k ) jest w punkcie v = ( 2 f(x k )) 1 f(x k ) Wniosek: Biorąc v = x x k, minimum wielomianu: P 2 (x; x k ) = f(x k ) + f(x k ) (x x k ) + 1 2 (x x k) 2 f(x k )(x x k ) jest w punkcie x spełniającym: x x k = ( 2 f(x k )) 1 f(x k ) 7 / 56

Metoda Newtona-Raphsona Przypomnienie: Minimum funkcji kwadratowej x Ax + b x + c z dodatnio określoną macierzą A ma postać x = 1 2 A 1 b Wniosek: Minimum funkcji kwadratowej: F (v) = 1 2 v 2 f(x k )v + f(x k ) v + f(x k ) jest w punkcie v = ( 2 f(x k )) 1 f(x k ) Wniosek: Biorąc v = x x k, minimum wielomianu: P 2 (x; x k ) = f(x k ) + f(x k ) (x x k ) + 1 2 (x x k) 2 f(x k )(x x k ) jest w punkcie x spełniającym: x x k = ( 2 f(x k )) 1 f(x k ) Metoda Newtona-Raphsona: x k+1 = x k ( 2 f(x k )) 1 f(x k ) 7 / 56

Metoda Newtona-Raphsona 2 1 x2 0 1 x 1 2 2 1 0 1 2 x 1 8 / 56

Metoda Newtona-Raphsona 2 1 x2 0 1 x 1 2 2 1 0 1 2 x 1 8 / 56

Metoda Newtona-Raphsona 2 1 x 2 x2 0 1 x 1 2 2 1 0 1 2 x 1 8 / 56

Metoda Newtona-Raphsona Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k ( 2 f(x k )) 1 f(x k ) 9 / 56

Metoda Newtona-Raphsona Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k ( 2 f(x k )) 1 f(x k ) Porównaj z metodą Newtona dla jednej zmiennej: x k+1 = x k f (x k ) f (x k ) 9 / 56

Metoda Newtona-Raphsona Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k ( 2 f(x k )) 1 f(x k ) Porównaj z metodą Newtona dla jednej zmiennej: x k+1 = x k f (x k ) f (x k ) Metoda obliczeniowo wolniejsza od spadku wzdłuż gradientu: wymaga odwrócenia macierzy w każdej iteracji (w praktyce zamiast odwracać macierz rozwiązuje się układ równań liniowych Ax = b z A = 2 f(x k ) i b = f(x k )) 9 / 56

Metoda Newtona-Raphsona Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k ( 2 f(x k )) 1 f(x k ) Porównaj z metodą Newtona dla jednej zmiennej: x k+1 = x k f (x k ) f (x k ) Metoda obliczeniowo wolniejsza od spadku wzdłuż gradientu: wymaga odwrócenia macierzy w każdej iteracji (w praktyce zamiast odwracać macierz rozwiązuje się układ równań liniowych Ax = b z A = 2 f(x k ) i b = f(x k )) Zainicjalizowana dostatecznie blisko minimum zbiega bardzo szybko, ale źle zainicjalizowana może się rozbiec! 9 / 56

Metoda Newtona-Raphsona: przykład 1 0.5 x2 0 x 2 f(x 1, x 2 ) = x 2 1 + 2x 2 2 0.5 1 x 1 1 0.5 0 0.5 1 x 1 10 / 56

Metoda Newtona-Raphsona: przykład 1 0.5 x2 0 x 2 f(x 1, x 2 ) = x 2 1 + 2x 2 2 0.5 1 x 1 1 0.5 0 0.5 1 x 1 Metoda Newtona-Rapshona znajduje minimum funkcji kwadratowej: f(x) = x Ax + b x + c w jednym kroku, niezależnie od punktu inicjalizacji! 10 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 Rozpoczynamy od dowolnego punktu x 1 i wybieramy punkt x 2 jako: x 2 = x 1 ( 2 f(x 1 )) 1 f(x 1 ) 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 Rozpoczynamy od dowolnego punktu x 1 i wybieramy punkt x 2 jako: x 2 = x 1 1 2 A 1 (2Ax 1 + b) 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 Rozpoczynamy od dowolnego punktu x 1 i wybieramy punkt x 2 jako: x 2 = x 1 A } 1 {{ A } x 1 1 2 A 1 b I 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 Rozpoczynamy od dowolnego punktu x 1 i wybieramy punkt x 2 jako: x 2 = x 1 x 1 1 2 A 1 b 11 / 56

Metoda Newtona-Raphsona dla funkcji kwadratowej Rozważmy minimalizację funkcji funkcji kwadratowej z dodatnio określoną macierzą A: f(x) = x Ax + x b + c, f(x) = 2Ax + b, 2 f(x) = 2A, ( 2 f(x)) 1 = 1 2 A 1 Rozpoczynamy od dowolnego punktu x 1 i wybieramy punkt x 2 jako: x 2 = 1 2 A 1 b Ale jest to punkt minimum x funkcji kwadratowej! 11 / 56

Metoda Newtona-Raphsona: przykład f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 1 x 2 x2 0 1 x 1 2 x 3 2 1 0 1 2 x 1 12 / 56

Metoda Newtona-Raphsona: przykład f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2 1 x2 0 1 x 3 2 2 1 0 1 2 x 1 12 / 56

Metoda Newtona-Raphsona jako metoda spadkowa Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + v k, v k = ( 2 f(x k )) 1 f(x k ) Z założenia 2 f(x k ) jest dodatnio określona, czyli ma wszystkie wartości własne dodatnie 13 / 56

Metoda Newtona-Raphsona jako metoda spadkowa Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + v k, v k = ( 2 f(x k )) 1 f(x k ) Z założenia 2 f(x k ) jest dodatnio określona, czyli ma wszystkie wartości własne dodatnie Wtedy ( 2 f(x k )) 1 jest też dodatnio określona, gdyż wartości własne A 1 są odwrotnościami wartości własnych A 13 / 56

Metoda Newtona-Raphsona jako metoda spadkowa Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + v k, v k = ( 2 f(x k )) 1 f(x k ) Z założenia 2 f(x k ) jest dodatnio określona, czyli ma wszystkie wartości własne dodatnie Wtedy ( 2 f(x k )) 1 jest też dodatnio określona, gdyż wartości własne A 1 są odwrotnościami wartości własnych A Czyli x ( 2 f(x k )) 1 x > 0 dla dowolnego niezerowego x 13 / 56

Metoda Newtona-Raphsona jako metoda spadkowa Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + v k, v k = ( 2 f(x k )) 1 f(x k ) Z założenia 2 f(x k ) jest dodatnio określona, czyli ma wszystkie wartości własne dodatnie Wtedy ( 2 f(x k )) 1 jest też dodatnio określona, gdyż wartości własne A 1 są odwrotnościami wartości własnych A Czyli x ( 2 f(x k )) 1 x > 0 dla dowolnego niezerowego x Wniosek: v k = ( 2 f(x k )) 1 f(x k ) jest kierunkiem poprawy f(x k ) v k = f(x k )( 2 f(x k )) 1 f(x k ) < 0 13 / 56

Metoda Newtona-Raphsona jako metoda spadkowa Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + v k, v k = ( 2 f(x k )) 1 f(x k ) Z założenia 2 f(x k ) jest dodatnio określona, czyli ma wszystkie wartości własne dodatnie Wtedy ( 2 f(x k )) 1 jest też dodatnio określona, gdyż wartości własne A 1 są odwrotnościami wartości własnych A Czyli x ( 2 f(x k )) 1 x > 0 dla dowolnego niezerowego x Wniosek: v k = ( 2 f(x k )) 1 f(x k ) jest kierunkiem poprawy f(x k ) v k = f(x k )( 2 f(x k )) 1 f(x k ) < 0 Uwaga: Długość kroku α k jest stała i równa 1 13 / 56

Zbieżność metody Newtona-Raphsona Jeśli funkcja f(x) jest trzykrotnie różniczkowalna w sposób ciągły, algorytm Newtona zainicjalizowany odpowiednio blisko minimum lokalnego x z dodatnio określonym hesjanem 2 f(x ) zbiega z kwadratowym rzędem zbieżności Dowód koncepcyjnie bardzo podobny jak w przypadku jednowymiarowym, ale skomplikowany przez wektorowo-macierzowe przybliżenie Taylora 14 / 56

Zbieżność metody Newtona-Raphsona Jeśli funkcja f(x) jest trzykrotnie różniczkowalna w sposób ciągły, algorytm Newtona zainicjalizowany odpowiednio blisko minimum lokalnego x z dodatnio określonym hesjanem 2 f(x ) zbiega z kwadratowym rzędem zbieżności Dowód koncepcyjnie bardzo podobny jak w przypadku jednowymiarowym, ale skomplikowany przez wektorowo-macierzowe przybliżenie Taylora Źle zainicjalizowana metoda Newtona-Raphsona może się nawet rozbiec! Z tego powodu stosuje się modyfikacje metody, które mają zapobiec problemom ze zbieżnością 14 / 56

Modyfikacje metody Newtona-Raphsona 15 / 56

Zmienna długość kroku (damped Newton-Raphson) Metoda Newtona-Raphsona (oryginalna): Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + α k v k, v k = ( 2 f(x k )) 1 f(x k ), α k = 1 Metoda nie gwarantuje spadku wartości funkcji f(x k+1 ) < f(x k )! 16 / 56

Zmienna długość kroku (damped Newton-Raphson) Metoda Newtona-Raphsona (oryginalna): Rozpocznij od punktu x 1 i powtarzaj dla k = 1, 2,...: x k+1 = x k + α k v k, v k = ( 2 f(x k )) 1 f(x k ), α k = 1 Metoda nie gwarantuje spadku wartości funkcji f(x k+1 ) < f(x k )! Jeśli hesjan 2 f(x k ) jest dodatnio określony, v k jest kierunkiem poprawy i możemy zmodyfikować metodę dobierając α k : optymalnie: α k = argmin α 0 f(x k + α k v k ), za pomocą algorytmu backtracking, co zagwarantuje nam f(x k+1 ) < f(x k ) 16 / 56

Metoda Newtona Raphsona z optymalnym doborem kroku f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 1 x 2 x2 0 x 3 1 x 1 2 2 1 0 1 2 x 1 17 / 56

Dla porównania: klasyczna metoda Newtona Raphsona f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 1 x 2 x2 0 1 x 1 2 x 3 2 1 0 1 2 x 1 18 / 56

Metoda Newtona Raphsona z optymalnym doborem kroku f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2, x 3, x 4,... 1 x2 0 1 2 2 1 0 1 2 x 1 19 / 56

Metoda Newtona Raphsona z optymalnym doborem kroku f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2, x 3, x 4,... 1 x2 0 1 2 2 1 0 1 2 x 1 Dlaczego algorytm utknął w x 2? 19 / 56

x 2 = (0.99, 1.46) f(x 2 ) = (0.77, 2.4) [ ] 2 16.8 9.9 f(x 2 ) = 9.9 5.0 Analiza v 2 = ( 2 (x 2 )) 1 (x 2 ) = ( 1.42, 2.33) f(x 2 ) v 2 = 4.5 > 0 x2 3 2 1 0 v 2 x 2 f(x 2 ) 1 2 1 0 1 2 x 1 20 / 56

x 2 = (0.99, 1.46) f(x 2 ) = (0.77, 2.4) [ ] 2 16.8 9.9 f(x 2 ) = 9.9 5.0 Analiza v 2 = ( 2 (x 2 )) 1 (x 2 ) = ( 1.42, 2.33) f(x 2 ) v 2 = 4.5 > 0 Kierunek v 2 nie jest kierunkiem poprawy x2 3 2 1 0 v 2 x 2 f(x 2 ) 1 2 1 0 1 2 x 1 20 / 56

x 2 = (0.99, 1.46) f(x 2 ) = (0.77, 2.4) [ ] 2 16.8 9.9 f(x 2 ) = 9.9 5.0 Analiza v 2 = ( 2 (x 2 )) 1 (x 2 ) = ( 1.42, 2.33) f(x 2 ) v 2 = 4.5 > 0 Kierunek v 2 nie jest kierunkiem poprawy x2 3 2 1 0 v 2 x 2 f(x 2 ) 1 2 1 0 1 2 Wartości własne hesjanu: (22.4, 0.62) = nie jest dodatnio określony Optymalna długość kroku to α 2 = 0, ponieważ nie możemy polepszyć funkcji celu wzdłuż kierunku v 2 x 1 20 / 56

x 2 = (0.99, 1.46) f(x 2 ) = (0.77, 2.4) [ ] 2 16.8 9.9 f(x 2 ) = 9.9 5.0 Analiza v 2 = ( 2 (x 2 )) 1 (x 2 ) = ( 1.42, 2.33) f(x 2 ) v 2 = 4.5 > 0 Kierunek v 2 nie jest kierunkiem poprawy x2 3 2 1 0 v 2 x 2 f(x 2 ) 1 2 1 0 1 2 Wartości własne hesjanu: (22.4, 0.62) = nie jest dodatnio określony Optymalna długość kroku to α 2 = 0, ponieważ nie możemy polepszyć funkcji celu wzdłuż kierunku v 2 Wniosek: Optymalizacja długości kroku może zawieść, jeśli hesjan nie jest dodatnio określony! x 1 20 / 56

Wartości własne hesjanu Dotychczas zakładaliśmy, że hesjan 2 f(x k ) jest dodatnio określony, czyli ma wszystkie wartości własne dodatnie i stąd jest odwracalny. W praktyce: Nawet dla funkcji wypukłych, hesjan może być tylko dodatnio półokreślony i jedna lub więcej wartości własnych może być równa zero; wtedy odwrotność ( 2 f(x k )) 1 nie istnieje Dla funkcji niewypukłych, wartości własne mogą być ujemne, a wtedy kierunek v k = ( 2 f(x k )) 1 f(x k ) nie musi być już kierunkiem poprawy! 21 / 56

Przykład Rozważmy minimalizację funkcji postaci: f(x) = x 4 1 + x 2 2 x 1 x 2 22 / 56

Przykład Rozważmy minimalizację funkcji postaci: f(x) = x 4 1 + x 2 2 x 1 x 2 f x 1 = 4x 3 1 1, f x 2 = 2x 2 1 22 / 56

Przykład Rozważmy minimalizację funkcji postaci: f(x) = x 4 1 + x 2 2 x 1 x 2 2 f x 2 1 = 12x 2 1, f x 1 = 4x 3 1 1, 2 f x 2 2 = 2, f x 2 = 2x 2 1 2 f x 1 x 2 = 0, 2 f(x) = [ ] 12x 2 1 0 0 2 22 / 56

Przykład Rozważmy minimalizację funkcji postaci: 2 f x 2 1 = 12x 2 1, f(x) = x 4 1 + x 2 2 x 1 x 2 f x 1 = 4x 3 1 1, 2 f x 2 2 = 2, f x 2 = 2x 2 1 2 f x 1 x 2 = 0, 2 f(x) = [ ] 12x 2 1 0 0 2 Ponieważ hesjan w x ma wartości własne (12x 2 1, 2), nieujemne dla dowolnego x 1, jest macierzą dodatnio półokreśloną dla każdego x, a więc f(x) jest funkcją wypukłą 22 / 56

Przykład Rozważmy minimalizację funkcji postaci: 2 f x 2 1 = 12x 2 1, f(x) = x 4 1 + x 2 2 x 1 x 2 f x 1 = 4x 3 1 1, 2 f x 2 2 = 2, f x 2 = 2x 2 1 2 f x 1 x 2 = 0, 2 f(x) = [ ] 12x 2 1 0 0 2 Ponieważ hesjan w x ma wartości własne (12x 2 1, 2), nieujemne dla dowolnego x 1, jest macierzą dodatnio półokreśloną dla każdego x, a więc f(x) jest funkcją wypukłą Rozpoczynając metodę Newtona-Raphsona od x 1 = 0 mamy hesjan: [ ] 2 0 0 f(x 1 ) =, 0 2 o wartościach własnych (0, 2), nie dający się odwrócić! 22 / 56

Rozważmy minimalizację funkcji: Przykład 2 1 f(x) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 f(x) = [ 30x 2 1 10x 2 + 2 ] 10x 1 10x 1 5 x2 0 1 2 2 1 0 1 2 x 1 23 / 56

Rozważmy minimalizację funkcji: Przykład 2 1 f(x) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 f(x) = [ 30x 2 1 10x 2 + 2 ] 10x 1 10x 1 5 x2 0 1 2 2 1 0 1 2 x 1 Rozpoczynając metodę Newtona-Raphsona od x 1 = (0, 0.3) dostajemy: 2 f(x 1 ) = [ ] 1 0 0 5 o wartościach własnych ( 1, 5) 23 / 56

Rozważmy minimalizację funkcji: Przykład 2 1 f(x) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 f(x) = [ 30x 2 1 10x 2 + 2 ] 10x 1 10x 1 5 x2 0 1 2 2 1 0 1 2 x 1 Rozpoczynając metodę Newtona-Raphsona od x 1 = (0, 0.3) dostajemy: 2 f(x 1 ) = [ ] 1 0 0 5 o wartościach własnych ( 1, 5) Wielomian Taylora w x 1 nie jest funkcją wypukłą, a kolejny punkt x 2 jest jego punktem siodłowym, a nie minimum! Kierunek ( 2 f(x 1 )) 1 f(x 1 ) nie jest kierunkiem poprawy! 23 / 56

Przykład f(x) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2, x 1 = (0, 0.3) 2 1 x 1 x2 0 x 2 1 2 2 1 0 1 2 x 1 24 / 56

Przesunięcie wartości własnych Fakt: jeśli symetryczna macierz A ma wartości własne (λ 1,..., λ n ) to macierz A + ɛi ma wartości własne (λ 1 + ɛ,..., λ n + ɛ) 25 / 56

Przesunięcie wartości własnych Fakt: jeśli symetryczna macierz A ma wartości własne (λ 1,..., λ n ) to macierz A + ɛi ma wartości własne (λ 1 + ɛ,..., λ n + ɛ) Dowód: Jeśli v k jest wektorem własnym A z wartością własną λ k : Av k = λ k v k, to v k jest też wektorem własnym A + ɛi z wartością własną λ k + ɛ: (A + ɛi)v k = Av k + ɛiv k = λ k v k + ɛv k = (λ k + ɛ)v k 25 / 56

Przesunięcie wartości własnych Fakt: jeśli symetryczna macierz A ma wartości własne (λ 1,..., λ n ) to macierz A + ɛi ma wartości własne (λ 1 + ɛ,..., λ n + ɛ) Dowód: Jeśli v k jest wektorem własnym A z wartością własną λ k : Av k = λ k v k, to v k jest też wektorem własnym A + ɛi z wartością własną λ k + ɛ: (A + ɛi)v k = Av k + ɛiv k = λ k v k + ɛv k = (λ k + ɛ)v k Wniosek: Przy odpowiednim doborze ɛ, możemy zagwarantować, że wszystkie wartości własne macierzy A + ɛi będą dodatnie (tzn. macierz będzie dodatnio określona 25 / 56

Przykład f(x) = 3x 2 1 8x 1 x 2 + 2x 2 2, x = (x 1, x 2 ) 10 5 0 5 1 0.5 v 2 0.5 v 1 0 0 0.5 0.5 x 2 x 1 1 1 1 26 / 56

f(x) = x Ax, A = Przykład [ ] 3 4, λ 4 2 1 = 6.53, λ 2 = 1.53 10 5 0 5 1 0.5 v 2 1 0.5 v 1 0 0 0.5 0.5 x 2 x 1 1 1 26 / 56

f(x) = x (A + I)x, A + I = Przykład [ ] 4 4, λ 4 3 1 = 7.53, λ 2 = 0.53 15 10 5 0 5 1 0.5 v 2 1 0.5 v 1 0 0 0.5 0.5 x 2 x 1 1 1 27 / 56

Przykład f(x) = x (A + 2I)x, A + 2I = [ ] 5 4, λ 4 4 1 = 8.53, λ 2 = 0.47 15 10 5 0 5 1 0.5 v 2 1 0.5 v 1 0 0 0.5 0.5 x 2 x 1 1 1 28 / 56

Metoda Levenberga-Marquardta W każdej iteracji k = 1, 2,... dodajemy do hesjanu macierz ɛ k I aby zapewnić jego dodatnią określoność: x k+1 = x k + α k v k, v k = ( 2 f(x k ) + ɛ k I) 1 f(x k ) 29 / 56

Metoda Levenberga-Marquardta W każdej iteracji k = 1, 2,... dodajemy do hesjanu macierz ɛ k I aby zapewnić jego dodatnią określoność: x k+1 = x k + α k v k, v k = ( 2 f(x k ) + ɛ k I) 1 f(x k ) Dobór współczynnika ɛ k : Dla funkcji wypukłych wystarczy stała, niewielka wartość ɛ, np. ɛ = 10 5. Długość kroku można dobrać jako α k = 1 (jak w metodzie Newtona-Raphsona) lub optymalizować Dla funkcji niewypukłych, w każdej iteracji trzeba wyznaczyć wartości własne hesjanu i wybrać ɛ k tak, aby wszystkie przesunąć powyżej zera W tym przypadku zaleca się zawsze używanie zmiennej (optymalizowanej) długości kroku α k! 29 / 56

Metoda Levenberga-Marquardta: interpretacja Rozważmy ogólną metodę spadkową postaci x k+1 = x k + α k v k 30 / 56

Metoda Levenberga-Marquardta: interpretacja Rozważmy ogólną metodę spadkową postaci x k+1 = x k + α k v k W metodzie Newtona-Rapshona v k = ( 2 f(x k )) 1 f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji kwadratowej: g(v) = f(x k ) v+ 1 2 v 2 f(x k )v 30 / 56

Metoda Levenberga-Marquardta: interpretacja Rozważmy Minimum ogólną funkcji metodę kwadratowej spadkową x b postaci + 1 2 x Ax x k+1 = x k + α k v k to x = A 1 b W metodzie Newtona-Rapshona v k = ( 2 f(x k )) 1 f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji kwadratowej: g(v) = f(x k ) v+ 1 2 v 2 f(x k )v 30 / 56

Metoda Levenberga-Marquardta: interpretacja Rozważmy ogólną metodę spadkową postaci x k+1 = x k + α k v k W metodzie Newtona-Rapshona v k = ( 2 f(x k )) 1 f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji kwadratowej: g(v) = f(x k ) v+ 1 2 v 2 f(x k )v W metodzie spadku wzdłuż gradientu v k = f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji: g(v) = f(x k ) v + 1 2 v Iv 30 / 56

Metoda Levenberga-Marquardta: interpretacja Rozważmy ogólną metodę spadkową postaci x k+1 = x k + α k v k W metodzie Newtona-Rapshona v k = ( 2 f(x k )) 1 f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji kwadratowej: g(v) = f(x k ) v+ 1 2 v 2 f(x k )v W metodzie spadku wzdłuż gradientu v k = f(x k ) możemy przedstawić jako rozwiązanie problemu minimalizacji funkcji: g(v) = f(x k ) v + 1 2 v Iv Metoda Levenberga-Marquardta jest interpolacją obu metod dobierając kierunek spadku jako rozwiązanie problemu minimalizacji funkcji: g(v) = f(x k ) v + 1 ) 2 v ( ɛ k I + 2 f(x k ) v Jest to szczególny przypadek metod quasi-newtonowskich, gdzie w funkcji kwadratowej dobiera się dowolną macierz dodatnio określoną A k 30 / 56

Metoda Newtona Raphsona z optymalnym doborem kroku f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2, x 3, x 4,... 1 x2 0 1 2 2 1 0 1 2 x 1 31 / 56

M. Levenberga-Marquardta z optymalnym doborem kroku f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2 1 x2 0 x 3 1 2 2 1 0 1 2 x 1 32 / 56

Dla porównania: klasyczna metoda Newtona Raphsona f(x 1, x 2 ) = 2.5(x 2 1 x 2 ) 2 + (1 x 1 ) 2 2 x 1 x 2 1 x2 0 1 x 3 2 2 1 0 1 2 x 1 33 / 56

Podsumowanie Dwie modyfikacje: 1. Optymalizacja długości kroku α k 2. Zapewnienie dodatniej określoności hesjanu (Levenberg-Marquardt) 34 / 56

Podsumowanie Dwie modyfikacje: 1. Optymalizacja długości kroku α k 2. Zapewnienie dodatniej określoności hesjanu (Levenberg-Marquardt) Jeśli stosujemy (1), powinniśmy również stosować (2), inaczej algorytm może się zatrzymać w nieoptymalnym rozwiązaniu! 34 / 56

Podsumowanie Dwie modyfikacje: 1. Optymalizacja długości kroku α k 2. Zapewnienie dodatniej określoności hesjanu (Levenberg-Marquardt) Jeśli stosujemy (1), powinniśmy również stosować (2), inaczej algorytm może się zatrzymać w nieoptymalnym rozwiązaniu! Optymalizacja długości kroku zapewnia zbieżność algortymu, ale niekoniecznie polepsza szybkość jego działania, a równocześnie zwiększa złożoność obliczeniową 34 / 56

Podsumowanie Dwie modyfikacje: 1. Optymalizacja długości kroku α k 2. Zapewnienie dodatniej określoności hesjanu (Levenberg-Marquardt) Jeśli stosujemy (1), powinniśmy również stosować (2), inaczej algorytm może się zatrzymać w nieoptymalnym rozwiązaniu! Optymalizacja długości kroku zapewnia zbieżność algortymu, ale niekoniecznie polepsza szybkość jego działania, a równocześnie zwiększa złożoność obliczeniową Dobry kompromis: Stosuj klasyczną metodę Newtona-Raphsona (z α k = 1), ale jeśli jej krok nie daje spadku funkcji celu (lub hesjan jest nieodwracalny), zastosuj krok Levenberga-Marquardta z optymalizacją α k. 34 / 56

Metoda gradientów sprzężonych 35 / 56

Przypomnienie z algebry: baza przestrzeni wektorowej Zbiór wektorów {v 1,..., v m } nazywamy liniowo niezależnym, jeśli żaden wektor z tego zbioru nie da się przedstawić w postaci kombinacji liniowej pozostałych W przestrzeni R n zbiór wektorów liniowo niezależnych może składać się maksymalnie z n wektorów, i zbiór taki nazywamy bazą przestrzeni wektorowej Wniosek: Jeśli {v 1,..., v n } jest bazą to dowolny inny wektor x R n musi być kombinacją liniową wektorów z bazy, tzn. dla pewnych współczynników c 1,..., c n R n x = c k v k k=1 36 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą Dowód: Wystarczy pokazać ich liniową niezależność. Załóżmy przeciwnie, że istnieje wektor v k liniowo zależny od pozostałych, tzn. v k = i k α i v i 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą Dowód: Wystarczy pokazać ich liniową niezależność. Załóżmy przeciwnie, że istnieje wektor v k liniowo zależny od pozostałych, tzn. v k = i k α i v i Ale oznacza to, że: Av k = i k α i Av i 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą Dowód: Wystarczy pokazać ich liniową niezależność. Załóżmy przeciwnie, że istnieje wektor v k liniowo zależny od pozostałych, tzn. v k = i k α i v i Ale oznacza to, że: v k Av k = i k α i v k Av i 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą Dowód: Wystarczy pokazać ich liniową niezależność. Załóżmy przeciwnie, że istnieje wektor v k liniowo zależny od pozostałych, tzn. v k = i k α i v i Ale oznacza to, że: v k Av k = i k α i v k Av i }{{} =0 37 / 56

Wektory sprzężone Niech A będzie macierzą dodatnio określoną Zbiór niezerowych wektorów {v 1,..., v n } nazywamy sprzężonymi (ze względu na macierz A), jeśli v i Av j = 0, dla dowolnych i j Fakt: Zbiór wektorów sprzężonych jest bazą Dowód: Wystarczy pokazać ich liniową niezależność. Załóżmy przeciwnie, że istnieje wektor v k liniowo zależny od pozostałych, tzn. v k = i k α i v i Ale oznacza to, że: v k Av k = 0 co prowadzi do sprzeczności, ponieważ A jest dodatnio określona, a v k jest niezerowy, więc v k Av k > 0 37 / 56

Funkcja kwadratowa Będziemy rozważali minimalizację funkcji kwadratowej: f(x) = 1 2 x Ax x b, A dodatnio określona Pomijamy współczynnik c (nie wpływa na optymalizację) Pozostałe współczynniki dobieramy w ten sposób, aby: f(x) = 0 Ax = b, tzn. minimum x = A 1 b jest rozwiązaniem układu równań Ax = b 38 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) i=1 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) i=1 g(α) = 1 2 (x k + αv k ) A(x k + αv k ) (x k + αv k ) b 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) i=1 g(α) = α2 2 v k Av k + α ( v k Ax k v k b ) + const 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, gradient: Ax k b = f(x k ) i=1 natomiast współczynniki oznaczamyα przez k wyznaczamy g k rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) g(α) = α2 2 v k Av k + αvk ( Axk b ) + const 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) g(α) = α2 2 v k Av k + αv k g k + const i=1 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) g (α) = αv k Av k + v k g k i=1 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) g (α) = 0 αv k Av k = v k g k i=1 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) α k = v k g k v k Av k i=1 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) α k = v k g k v k Av k i=1 = v k (Ax k b) v k Av k 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = v k g k v k Av k α k = argmin f(x k + α k v k ) α }{{} g(α) i=1 = v k (Ax k Ax 1 + Ax 1 b) v k Av k 39 / 56

Metoda gradientów sprzężonych: wprowadzenie k 1 f(x) = 1 Ponieważ x k x 1 = 2 x Ax α i v i, xotrzymujemy b, A dodatnio określona i=1 Niech {v 1,..., v n } będzie k 1 zbiorem wektorów sprzężonych ze względu na A v k A(x k x 1 ) = α i vk Av i = 0 Będziemy rozważali metodę } spadkową {{} minimalizacji funkcji kwadratowej, i=1 =0 w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = v k g k v k Av k α k = argmin f(x k + α k v k ) α }{{} g(α) i=1 = v k (Ax 1 b) + v k A(x k x 1 ) v k Av k 39 / 56

Metoda gradientów sprzężonych: wprowadzenie f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } będzie zbiorem wektorów sprzężonych ze względu na A Będziemy rozważali metodę spadkową minimalizacji funkcji kwadratowej, w której kolejne kierunki poprawy to kolejne wektory sprzężone, tzn.: k x k+1 = x k + α k v k, tzn. x k+1 = x 1 + α i v i, natomiast współczynniki α k wyznaczamy rozwiązując: α k = argmin f(x k + α k v k ) α }{{} g(α) α k = v k g k v k Av k = v k (b Ax 1) v k Av k Optymalna wartość α k zależy tylko od punktu startowego x 1! Możemy wyznaczyć α k niezależne od pozostałych współczynników i wcześniejszych kroków algorytmu 39 / 56 i=1

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i Wyznaczmy optymalne współczynniki α k i=1 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i i=1 Wyznaczmy optymalne współczynniki α k n Ax Ax 1 = α i Av i i=1 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i i=1 Wyznaczmy optymalne współczynniki α k n b Ax 1 = α i Av i i=1 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i i=1 Wyznaczmy optymalne współczynniki α k n vk (b Ax 1 ) = α k vk Av i }{{} i=1 =0 dla k i 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i i=1 Wyznaczmy optymalne współczynniki α k vk (b Ax 1 ) = α k vk Av k 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i Wyznaczmy optymalne współczynniki α k i=1 α k = v k (b Ax 1) vk Av, k 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i Wyznaczmy optymalne współczynniki α k α k = v k (b Ax 1) vk Av, k Ale są to te same współczynniki, które dobiera w kolejnych krokach metoda gradientów sprzężonych, tzn. n x n+1 = x 1 + α k v k = x k=1 i=1 40 / 56

Funkcja kwadratowa a wektory sprzężone f(x) = 1 2 x Ax x b, A dodatnio określona Niech {v 1,..., v n } zbiór wektorów sprzężonych. Ponieważ jest to baza, n x x 1 = α i v i Wyznaczmy optymalne współczynniki α k α k = v k (b Ax 1) vk Av, k Ale są to te same współczynniki, które dobiera w kolejnych krokach metoda gradientów sprzężonych, tzn. n x n+1 = x 1 + α k v k = x Wniosek: Metoda gradientów sprzężonych w każdym kroku optymalnie dobiera współczynnik α k, a rozwiązanie x otrzymujemy po n iteracjach! k=1 i=1 40 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. v i g k = 0, dla i = 1,..., k 1 41 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. Dowód: v i g k = 0, dla i = 1,..., k 1 v i g k = v i (Ax k b) 41 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. Dowód: v i g k = 0, dla i = 1,..., k 1 vi g k = vi (Ax k b) ( = vi Ax 1 + A ( k 1 j=1 ) ) α j v j b 41 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. Dowód: v i g k = 0, dla i = 1,..., k 1 vi g k = vi (Ax k b) ( = vi Ax 1 + A ( k 1 j=1 k 1 = vi (Ax 1 b) + α j j=1 ) ) α j v j b v i Av j }{{} =0 dla i j 41 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. Dowód: v i g k = 0, dla i = 1,..., k 1 vi g k = vi (Ax k b) ( = vi Ax 1 + A ( k 1 j=1 k 1 = vi (Ax 1 b) + α j j=1 ) ) α j v j b = v i (Ax 1 b) + α i v i Av i v i Av j }{{} =0 dla i j 41 / 56

Ortogonalność gradientów Gradient w danej iteracji g k = f(x k ) jest ortogonalny do wszystkich poprzednich kierunków poprawy v 1,..., v k 1, tzn. Dowód: v i g k = 0, dla i = 1,..., k 1 vi g k = vi (Ax k b) ( = vi Ax 1 + A ( k 1 j=1 k 1 = vi (Ax 1 b) + α j j=1 ) ) α j v j b = v i (Ax 1 b) + α i v i Av i v i Av j }{{} =0 dla i j = vi (Ax 1 b) + v i (b Ax 1) vi Av vi Av i = 0 i 41 / 56

Jak znaleźć kierunki sprzężone? 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: v k+1 = k g k+1 + β k,i v i i=1 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: Av k+1 = k Ag k+1 + β k,i Av i i=1 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: vj Av k+1 = k vj Ag k+1 + β k,i vj Av i i=1 }{{} =0 dla j i 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: v j Av k+1 }{{} =0 = v j Ag k+1 + β k,j v j Av j 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: v j Ag k+1 = β k,j v j Av j 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: β k,j = v j Ag k+1 v j Av j 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: β k,j = g k+1 Av j v j Av j Problem: w danej iteracji trzeba wyznaczyć k współczynników β k,1,..., β k,k i zapamiętać poprzednie kierunku poprawy v 1,..., v k 42 / 56

Jak znaleźć kierunki sprzężone? Jako pierwszy kierunek sprzężony możemy obrać negatywny gradient: v 1 = f(x 1 ) = g 1 Załóżmy, że dobraliśmy już kierunki sprzężone v 1,..., v k i chcemy dobrać kierunek v k+1. Ponownie, sensownym kandydatem jest g k+1, ale niekoniecznie jest on sprzężony do {v 1,..., v k } Pomysł: dodajmy do gradientu kombinację liniową poprzednich kierunków aby stał się sprzężony, tzn. aby v j Av k+1 = 0 dla j k v k+1 = k g k+1 + β k,i v i i=1 Wyznaczmy te współczynniki: β k,j = g k+1 Av j v j Av j Problem: Magia w danej gradientów iteracji trzeba sprzężonych: wyznaczyć k współczynników β k,1,..., Zachodzi β k,k i zapamiętać β k,j = 0 dla poprzednie j = 1,.. kierunku., k 1, czyli poprawy pozostaje v 1,..., v k tylko jeden niezerowy współczynnik β k,k 42 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Najpierw pokazujemy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1g j = 0, dla j = 1,..., k 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Najpierw pokazujemy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1g j = 0, dla j = 1,..., k Pokazaliśmy już, że gradient jest ortogonalny do poprzednich kierunków poprawy, tzn. dla j k mamy g k+1 v j = 0 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Najpierw pokazujemy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1g j = 0, dla j = 1,..., k Pokazaliśmy już, że gradient jest ortogonalny do poprzednich kierunków poprawy, tzn. dla j k mamy g k+1 v j = 0 Z zasady doboru kierunku poprawy: j 1 j 1 v j = g j + β j 1,i v i = g j = v j + β j 1,i v i i=1 i=1 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Najpierw pokazujemy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1g j = 0, dla j = 1,..., k Pokazaliśmy już, że gradient jest ortogonalny do poprzednich kierunków poprawy, tzn. dla j k mamy g k+1 v j = 0 Z zasady doboru kierunku poprawy: j 1 j 1 v j = g j + β j 1,i v i = g j = v j + β j 1,i v i i=1 i=1 Czyli dla j k: gk+1g j = gk+1v j }{{} =0 j 1 + i=1 β j 1,i g k+1v i }{{} =0 = 0 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Pokazaliśmy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1 g j = 0 dla j = 1,..., k 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Pokazaliśmy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1 g j = 0 dla j = 1,..., k Teraz wykorzystamy fakt, że: g k+1 = Ax k+1 b = A(x k + α k v k ) b = Ax k b }{{} =g k +Aα k v k, 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Pokazaliśmy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1 g j = 0 dla j = 1,..., k Teraz wykorzystamy fakt, że: g k+1 = Ax k+1 b = A(x k + α k v k ) b = Ax k b }{{} =g k +Aα k v k, Jeśli α k = 0, to g k+1 = g k, a ponieważ g k+1 g k = 0, wnioskujemy, że g k+1 = f(x k+1 ) = 0, czyli jesteśmy w optimum. 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Pokazaliśmy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1 g j = 0 dla j = 1,..., k Teraz wykorzystamy fakt, że: g k+1 = Ax k+1 b = A(x k + α k v k ) b = Ax k b }{{} =g k +Aα k v k, Jeśli α k = 0, to g k+1 = g k, a ponieważ g k+1 g k = 0, wnioskujemy, że g k+1 = f(x k+1 ) = 0, czyli jesteśmy w optimum. Jeśli α k 0, mamy: Av k = 1 α k (g k+1 g k ) 43 / 56

Kluczowy punkt konstrukcji algorytmu Zachodzi g k+1 Av j = 0 dla j = 1,..., k 1 Dowód: Pokazaliśmy, że gradient g k+1 jest ortogonalny do wszystkich poprzednich gradientów, tzn. g k+1 g j = 0 dla j = 1,..., k Teraz wykorzystamy fakt, że: g k+1 = Ax k+1 b = A(x k + α k v k ) b = Ax k b }{{} =g k +Aα k v k, Jeśli α k = 0, to g k+1 = g k, a ponieważ g k+1 g k = 0, wnioskujemy, że g k+1 = f(x k+1 ) = 0, czyli jesteśmy w optimum. Jeśli α k 0, mamy: Av k = 1 α k (g k+1 g k ) Stąd otrzymujemy dla j k 1: gk+1av j = 1 g α k+1(g j+1 g j ) = 1 ( g k α k+1g j+1 gk+1g j k }{{}}{{} =0 =0 ) = 0 43 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : α k = v k g k v k Av k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można Zgodnie otrzymać z v k = jako: g k + β k 1 v k 1 v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : α k = (g k β k 1 v k 1 ) g k v k Av k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone gradient {vortogonalny 1,..., v n } można do poprzednich otrzymaćkierunków: jako: v 1 = gv 1 j g k = 0 dla j < k v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : α k = g k g k β k 1 v k 1 g k v k Av k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : α k = g k g k v k Av k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 Av k v k Av k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 (α kav k ) v k (α kav k ) 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: W dowodzie v 1 = na gpoprzednim 1 slajdzie pokazaliśmy, że: v k+1 = g α k+1 + β k v k, β = g k+1 Av k Av k = g k+1 g k k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 (α kav k ) v k (α kav k ) 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 (g k+1 g k ) v k (g k+1 g k ) 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: gradient v 1 = ortogonalny g 1 do poprzednich gradientów: g v k+1 = g k+1 + β k v k, β k = g k+1 Av k+1 g j = 0 dla j k k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 g k+1 g k+1 g k v k g k+1 v k g k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k gradient ortogonalny do poprzednich kierunków: vk Av, k vj Uwaga: Zwykle stosuje się inną g k+1 = 0 dla j k postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 g k+1 v k g k+1 v k g k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 Pokazaliśmy przy przekształceniu α k, że v k+1 = g k+1 + β k v k, β v k = g k+1 Av k g vk k = g Av k, g k k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 g k+1 v k g k 44 / 56

Dobór kierunków sprzężonych Wniosek: W algorytmie gradientów sprzężonych: x k+1 = x k + α k v k, α k = v k g k v k Av k kierunki sprzężone {v 1,..., v n } można otrzymać jako: v 1 = g 1 v k+1 = g k+1 + β k v k, β k = g k+1 Av k vk Av, k Uwaga: Zwykle stosuje się inną postać współczynników α k : Podobnie, dla współczynnika β k : α k = g k g k v k Av k β k = g k+1 g k+1 g k g k 44 / 56