Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H...

41
Quasi-Newton methods Optymalizacja Quasi-Newton methods – p.1/20

Transcript of Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H...

Page 1: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Quasi-Newton methodsOptymalizacja

Quasi-Newton methods – p.1/20

Page 2: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona

Dla danego punktu startowego x(k) konstruujemy kwadratowa aproksymacje funkcji celuf : Rn → R klasy C2.

f(x) ≈ f(x(k)) + (x − x(k))T g(k) + 1/2(x − x(k))T F (x(k))(x − x(k)) = q(x),

gdzie g(k) = ∇f(x(k)).

Quasi-Newton methods – p.2/20

Page 3: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona

Dla danego punktu startowego x(k) konstruujemy kwadratowa aproksymacje funkcji celuf : Rn → R klasy C2.

f(x) ≈ f(x(k)) + (x − x(k))T g(k) + 1/2(x − x(k))T F (x(k))(x − x(k)) = q(x),

gdzie g(k) = ∇f(x(k)).Poszukujemy minimum aproksymacji funkcji celu. Korzystajac z warunku koniecznegoistnienia ekstremum funkcji dla q(x) otrzymujemy

∇q(x) = g(k) + F (x(k))(x − x(k)) = 0.

Jesli F (x(k)) > 0, wówczas q(x) osiaga minimum w punkcie x = x(k) − F (x(k))−1g(k).

Quasi-Newton methods – p.2/20

Page 4: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona

Dla danego punktu startowego x(k) konstruujemy kwadratowa aproksymacje funkcji celuf : Rn → R klasy C2.

f(x) ≈ f(x(k)) + (x − x(k))T g(k) + 1/2(x − x(k))T F (x(k))(x − x(k)) = q(x),

gdzie g(k) = ∇f(x(k)).Poszukujemy minimum aproksymacji funkcji celu. Korzystajac z warunku koniecznegoistnienia ekstremum funkcji dla q(x) otrzymujemy

∇q(x) = g(k) + F (x(k))(x − x(k)) = 0.

Jesli F (x(k)) > 0, wówczas q(x) osiaga minimum w punkcie x = x(k) − F (x(k))−1g(k).

Otrzymany punkt przyjmujemy jako punkt startowy kolejnej iteracji. Ponizsza formułaobrazuje metode Newtona:

x(k+1) = x(k) − F (x(k))−1g(k).

Quasi-Newton methods – p.2/20

Page 5: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona (2)

Metoda Newtona jest jednym z najbardziej popularnych algorytmów optymalizacji.

Quasi-Newton methods – p.3/20

Page 6: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona (2)

Metoda Newtona jest jednym z najbardziej popularnych algorytmów optymalizacji.

W przypadku, gdy wybrany punkt startowy zapewnia zbieznosc dorozwiazania, metoda Newtona osiaga rzad zbieznosci co najmniej 2.

Quasi-Newton methods – p.3/20

Page 7: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Newtona (2)

Metoda Newtona jest jednym z najbardziej popularnych algorytmów optymalizacji.

W przypadku, gdy wybrany punkt startowy zapewnia zbieznosc dorozwiazania, metoda Newtona osiaga rzad zbieznosci co najmniej 2.

Jednak w ogólnym przypadku zbieznosc do rozwiazania z dowolniewybranego punktu startowego x(0) nie moze byc zagwarantowana[f(x(k+1)) ≮ f(x(k))].

Quasi-Newton methods – p.3/20

Page 8: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Quasi-Newton

’Spadek’ algorytmu w kolejnych krokach, mozna uzyskac poprzez modyfikacjealgorytmu Newtona:

x(k+1) = x(k) − αkF (x(k))−1g(k),

gdzie αk jest parametrem, który zapewnia f(x(k+1)) < f(x(k)).

Quasi-Newton methods – p.4/20

Page 9: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Quasi-Newton

’Spadek’ algorytmu w kolejnych krokach, mozna uzyskac poprzez modyfikacjealgorytmu Newtona:

x(k+1) = x(k) − αkF (x(k))−1g(k),

gdzie αk jest parametrem, który zapewnia f(x(k+1)) < f(x(k)).Niech

αk = argminα>0f(x(k) − αF (x(k))−1g(k)).

Quasi-Newton methods – p.4/20

Page 10: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Quasi-Newton

’Spadek’ algorytmu w kolejnych krokach, mozna uzyskac poprzez modyfikacjealgorytmu Newtona:

x(k+1) = x(k) − αkF (x(k))−1g(k),

gdzie αk jest parametrem, który zapewnia f(x(k+1)) < f(x(k)).Niech

αk = argminα>0f(x(k) − αF (x(k))−1g(k)).

Wartosc αk mozna wyznaczyc w wyniku przeszukiwania liniowego w kierunku

d(k) = −F (x(k))−1g(k).

Quasi-Newton methods – p.4/20

Page 11: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Metoda Quasi-Newton

’Spadek’ algorytmu w kolejnych krokach, mozna uzyskac poprzez modyfikacjealgorytmu Newtona:

x(k+1) = x(k) − αkF (x(k))−1g(k),

gdzie αk jest parametrem, który zapewnia f(x(k+1)) < f(x(k)).Niech

αk = argminα>0f(x(k) − αF (x(k))−1g(k)).

Wartosc αk mozna wyznaczyc w wyniku przeszukiwania liniowego w kierunku

d(k) = −F (x(k))−1g(k).

Wada metody Newtona jest koniecznosc wyliczenia F (x(k)) oraz F (x(k))−1. W

metodzie quasi-Newton wykorzystuje sie aproksymacje F (x(k))−1 zamiast odwracaniamacierzy. Aproksymacja ta jest uaktualniana w kazdym kroku iteracji, aby zapewnic conajmniej niektóre własnosci F (x(k))−1.

Quasi-Newton methods – p.4/20

Page 12: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Własnosci aproksymacjiF (x(k))−1

Aby przyblizyc własnosci, które powinna spełniac ta aproksymacja, rozwazmy:

x(k+1) = x(k) − αHkg(k),

gdzie Hk ∈ Rn×n, a α ∈ R+ – parametr przeszukiwania.

Quasi-Newton methods – p.5/20

Page 13: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Własnosci aproksymacjiF (x(k))−1

Aby przyblizyc własnosci, które powinna spełniac ta aproksymacja, rozwazmy:

x(k+1) = x(k) − αHkg(k),

gdzie Hk ∈ Rn×n, a α ∈ R+ – parametr przeszukiwania.

Wykorzystujac rozwiniecie funkcji f wokół punktu x(0) otrzymujemy:

f(x(k+1)) = f(x(k)) + g(k)T (x(k+1) − x(k)) + o(||x(k+1) − x(k)||)

= f(x(k)) − αg(k)T Hkg(k) + o(||Hkg(k)||α)

Quasi-Newton methods – p.5/20

Page 14: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Własnosci aproksymacjiF (x(k))−1

Aby przyblizyc własnosci, które powinna spełniac ta aproksymacja, rozwazmy:

x(k+1) = x(k) − αHkg(k),

gdzie Hk ∈ Rn×n, a α ∈ R+ – parametr przeszukiwania.

Wykorzystujac rozwiniecie funkcji f wokół punktu x(0) otrzymujemy:

f(x(k+1)) = f(x(k)) + g(k)T (x(k+1) − x(k)) + o(||x(k+1) − x(k)||)

= f(x(k)) − αg(k)T Hkg(k) + o(||Hkg(k)||α)

Dla α dazacego do 0 αg(k)T Hkg(k) jest wieksze niz o(||Hkg(k)||α). Wiec funkcja f jestmalejaca dla małych α, jesli zachodzi zachodzi

g(k)T Hkg(k) > 0.

Najprostszym sposobem, aby zapewnic spełnialnosc powyzszej nierównosci jestzapewnienie, aby Hk była dodatnio okreslona.

Quasi-Newton methods – p.5/20

Page 15: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Własnosci aproksymacjiF (x(k))−1 (2)

Wniosek 1 Niech f ∈ C1, x(k) ∈ Rn, g(k) = ∇f(x(k)) 6= 0 i Hk ∈ Rn×n – macierzsymetryczna, dodatnio okreslona.Jesli przyjmiemy

x(k+1) = x(k) − αkHkg(k),

gdzie

αk = argminα>0f(x(k) − αHkg(k)),

to

αk > 0 oraz f(x(k+1)) < f(x(k)).

Quasi-Newton methods – p.6/20

Page 16: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Aproksymacja odwrotnosci Hesjanu

Niech H0, H1, H2, . . . beda kolejnymi aproksymacjami odwrotnosci Hesjanu F (x(k))−1.Poniewaz w przyjetych wczesniej rozwazaniach korzystalismy z aproksymacjikwadratowej funcji celu f , załózmy, ze Hesjan F (x) jest stały (niezalezny od x), wiecF (x) = Q dla kazdego x, gdzie Q = QT .Wtedy

g(k+1) − g(k) = Q(x(k+1) − x(k)).

Oznaczmy dodatkowo:

∆g(k) = g(k+1) − g(k)

∆x(k) = x(k+1) − x(k).

Mozemy wiec napisac:

∆g(k) = Q∆x(k).

Warto równiez zauwazyc, ze dla danego k, Q−1 spełnia:

Q−1∆g(i) = ∆x(i), dla 0 ≤ i ≤ k.

Quasi-Newton methods – p.7/20

Page 17: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Aproksymacja odwrotnosci Hesjanu (2)

Dodatkowo zakładamy, ze aproksymacja odwrotnosci Hesjanu Hk+1 spełnia:

Hk+1∆g(i) = ∆x(i), dla 0 ≤ i ≤ k.

Jesli iteracja obejmuje n kroków, wtedy poruszanie sie w n kierunkach∆x(0), ∆x(1), . . . , ∆x(n−1) daje:

Hn∆g(0) = ∆x(0),

Hn∆g(1) = ∆x(1),

...

Hn∆g(n−1) = ∆x(n−1).

Mozemy wiec napisac:

Hn[∆g(0), ∆g(1), . . . , ∆g(n−1)] = [∆x(0), ∆x(1), . . . , ∆x(n−1)].

Quasi-Newton methods – p.8/20

Page 18: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Aproksymacja odwrotnosci Hesjanu (3)

Tak wiec, jesli [∆g(0), ∆g(1), . . . , ∆g(n−1)] jest macierza nieosobliwa, to Hn = Q−1

jest wyznaczona jednoznacznie po n krokach:

Hn = Q−1 = [∆x(0), ∆x(1), . . . , ∆x(n−1)][∆g(0), ∆g(1), . . . , ∆g(n−1)]−1.

Quasi-Newton methods – p.9/20

Page 19: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Aproksymacja odwrotnosci Hesjanu (3)

Tak wiec, jesli [∆g(0), ∆g(1), . . . , ∆g(n−1)] jest macierza nieosobliwa, to Hn = Q−1

jest wyznaczona jednoznacznie po n krokach:

Hn = Q−1 = [∆x(0), ∆x(1), . . . , ∆x(n−1)][∆g(0), ∆g(1), . . . , ∆g(n−1)]−1.

Aby zilustrowac idee stojaca za ta metoda, mozna spojrzec na algorytm w nastepujacysposób:

d(k) = −Hkg(k)

αk = argminα≥0f(x(k) + αd(k))

x(k+1) = x(k) + αd(k),

gdzie H0, H1, . . . sa symetryczne.

Quasi-Newton methods – p.9/20

Page 20: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Zwiazek z metoda kierunku sprzezonego

Twierdzenie 1 Rozwazmy algorytm quasi-Newtona zastosowany do kwadratowejfunkcji celu. Niech Q = QT bedzie Hesjanem tej funkcji takim, ze dla 0 ≤ k ≤ n − 1zachodzi

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k,

gdzie Hk+1 = HT

k+1.

Jesli d(i) 6= 0, 0 ≤ i ≤ k, to d(0), . . . , d(k) sa Q-sprzezone.

Quasi-Newton methods – p.10/20

Page 21: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION

Formuła rank one correction zakłada wyliczenie Hk+1 przez poprawienie Hk.

Składnik korekcyjny ma postac

akz(k)z(k)T ,

gdzie ak ∈ R, z(k) ∈ Rn.

Aproksymacja Hesjanu w kazdym kroku iteracji bazuje na równaniu:

Hk+1 = Hk + akz(k)z(k)T .

Quasi-Newton methods – p.11/20

Page 22: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION

Formuła rank one correction zakłada wyliczenie Hk+1 przez poprawienie Hk.

Składnik korekcyjny ma postac

akz(k)z(k)T ,

gdzie ak ∈ R, z(k) ∈ Rn.

Aproksymacja Hesjanu w kazdym kroku iteracji bazuje na równaniu:

Hk+1 = Hk + akz(k)z(k)T .

Warto zauwazyc, ze

rank z(k)z(k)T = rank

0

@

2

4

z(k)1

...

z(k)n

3

5

»

z(k)1 . . . z

(k)n

1

A = 1.

Wniosek: Hk jest symetryczna, stad równiez Hk+1 jest symetryczna.

Quasi-Newton methods – p.11/20

Page 23: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION (2)

Nalezy wyznaczyc ak i z(k), majac dane Hk, ∆g(k) i ∆x(k) w taki sposób, aby zostałozachowane:

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k.

Quasi-Newton methods – p.12/20

Page 24: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION (2)

Nalezy wyznaczyc ak i z(k), majac dane Hk, ∆g(k) i ∆x(k) w taki sposób, aby zostałozachowane:

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k.

W efekcie otrzymujemy:

Hk+1 = Hk +(∆x(k) − Hk∆g(k))(∆x(k) − Hk∆g(k))T

∆g(k)T (∆x(k) − Hk∆g(k)).

Quasi-Newton methods – p.12/20

Page 25: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm RANK ONE

• k := 0, wybierz x(0) oraz H(0) –macierz symetryczna, dodatnio okreslona.

• if g(k) = 0, STOPelse d(k) = −Hkg(k).

• Oblicz

αk = argminα≥0f(x(k) + αd(k))

x(k+1) = x(k) + αkd(k)

• Oblicz

∆x(k) = αkd(k)

∆g(k) = g(k+1) − g(k)

Hk+1 = Hk +(∆x(k) − Hk∆g(k))(∆x(k) − Hk∆g(k))T

∆g(k)T (∆x(k) − Hk∆g(k)).

• k := k + 1, GO TO 2.

Quasi-Newton methods – p.13/20

Page 26: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład

Niechf(x1, x2) = x2

1 + 1/2x22 + 3

Wykorzystujemy algorytm Rank one correction do minimalizacji funkcji f . Niechx(0) = [1, 2]T i H0 = I2. Funkcje f mozna zapisac nastepujaco:

f(x) = 1/2xT

»

2 0

0 1

x + 3.

Quasi-Newton methods – p.14/20

Page 27: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład

Niechf(x1, x2) = x2

1 + 1/2x22 + 3

Wykorzystujemy algorytm Rank one correction do minimalizacji funkcji f . Niechx(0) = [1, 2]T i H0 = I2. Funkcje f mozna zapisac nastepujaco:

f(x) = 1/2xT

»

2 0

0 1

x + 3.

g(k) =

»

2 0

0 1

x(k).

Skoro H0 = I2

d(0) = −g(0) = [−2,−2]T .

Quasi-Newton methods – p.14/20

Page 28: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (2)

Poniewaz rozwazana funkcja celu jest kwadratowa, wtedy

αk = argminα≥0f(x(k) + αd(k)) = −g(0)T d(0)

d(0)T Qd(0)=

2

3

Quasi-Newton methods – p.15/20

Page 29: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (2)

Poniewaz rozwazana funkcja celu jest kwadratowa, wtedy

αk = argminα≥0f(x(k) + αd(k)) = −g(0)T d(0)

d(0)T Qd(0)=

2

3

Wtedy

x(1) = x(0) + α0d(0) =

»

−1

3,2

3

–T

Quasi-Newton methods – p.15/20

Page 30: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (2)

Poniewaz rozwazana funkcja celu jest kwadratowa, wtedy

αk = argminα≥0f(x(k) + αd(k)) = −g(0)T d(0)

d(0)T Qd(0)=

2

3

Wtedy

x(1) = x(0) + α0d(0) =

»

−1

3,2

3

–T

Nastepnie obliczamy

∆x(0) = α0d(0) =

»

−4

3,−

4

3

–T

, g(1) = Qx(1) =

»

−2

3,2

3

–T

, ∆g(0) =

»

−8

3,−

4

3

–T

Ostatecznie

H1 =

»

1/2 0

0 1

Quasi-Newton methods – p.15/20

Page 31: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (3)

d(1) = −H1g(1) =

»

1

3,−

2

3

T

,

α1 = −g(1)T d(1)

d(1)T Qd(1)= 1.

Quasi-Newton methods – p.16/20

Page 32: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (3)

d(1) = −H1g(1) =

»

1

3,−

2

3

T

,

α1 = −g(1)T d(1)

d(1)T Qd(1)= 1.

Wtedy

x(2) = x(1) + α1d(1) = [0, 0]T .

Quasi-Newton methods – p.16/20

Page 33: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

RANK ONE CORRECTION - Przykład (3)

d(1) = −H1g(1) =

»

1

3,−

2

3

T

,

α1 = −g(1)T d(1)

d(1)T Qd(1)= 1.

Wtedy

x(2) = x(1) + α1d(1) = [0, 0]T .

Ostatecznie g(2) = 0, wiec x(2) = x∗.

Quasi-Newton methods – p.16/20

Page 34: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm DFP /Davidon, Fletcher, Powell/

Rozwazany algorytm rank one nie jest jednak wystarczajacy w przypadku, gdyanalizowana funkcja celu nie jest kwadratowa. W takim przypadku Hk+1 moze nie

byc dodatnio okreslona, a wtedy d(k+1) moze nie byc kierunkiem ’spadkowym’.

Alternatywnym algorytmem umozliwiajacym aktualizacje Hk jest DFP wykorzystujacymetode rank two.

Quasi-Newton methods – p.17/20

Page 35: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm DFP /Davidon, Fletcher, Powell/

Rozwazany algorytm rank one nie jest jednak wystarczajacy w przypadku, gdyanalizowana funkcja celu nie jest kwadratowa. W takim przypadku Hk+1 moze nie

byc dodatnio okreslona, a wtedy d(k+1) moze nie byc kierunkiem ’spadkowym’.

Alternatywnym algorytmem umozliwiajacym aktualizacje Hk jest DFP wykorzystujacymetode rank two.

Twierdzenie 2 W algorytmie DFP zastosowanym do kwadratowej funkcji celu, gdzieHesjan Q = QT , otrzymujemy Hk+1∆g(i) = ∆x(i), dla 0 ≤ i ≤ k.

Quasi-Newton methods – p.17/20

Page 36: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm DFP /Davidon, Fletcher, Powell/

Rozwazany algorytm rank one nie jest jednak wystarczajacy w przypadku, gdyanalizowana funkcja celu nie jest kwadratowa. W takim przypadku Hk+1 moze nie

byc dodatnio okreslona, a wtedy d(k+1) moze nie byc kierunkiem ’spadkowym’.

Alternatywnym algorytmem umozliwiajacym aktualizacje Hk jest DFP wykorzystujacymetode rank two.

Twierdzenie 3 W algorytmie DFP zastosowanym do kwadratowej funkcji celu, gdzieHesjan Q = QT , otrzymujemy Hk+1∆g(i) = ∆x(i), dla 0 ≤ i ≤ k.

Twierdzenie 4 Załózmy, ze g(k) 6= 0. W algorytmie DFP, jesli Hk jest dodatniookreslona, to Hk+1 rowniez.

Quasi-Newton methods – p.17/20

Page 37: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm DFP

• k := 0, wybierz x(0) oraz H(0) – macierz symetryczna, dodatnio okreslona.

• if g(k) = 0, STOPelse d(k) = −Hkg(k).

• Oblicz

αk = argminα≥0f(x(k) + αd(k))

x(k+1) = x(k) + αkd(k)

• Oblicz

∆x(k) = αkd(k)

∆g(k) = g(k+1) − g(k)

Hk+1 = Hk +∆x(k)∆x(k)T

∆x(k)T ∆g(k)−

[Hk∆g(k)][Hk∆g(k)]T

∆g(k)T Hk∆g(k).

• k := k + 1, GO TO 2.

Quasi-Newton methods – p.18/20

Page 38: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm BFGS /Brodyen, Fletcher, Goldfarb, Shanno/

Algorytm BFGS opera sie na pojeciu komplementarnosci. Punktem wyjscia w metodziequasi-Newton było równanie:

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k.

Natomiast algorytmy polegały na znalezieniu aproksymacji macierzy odwrotnej doHesjanu Q−1.

Quasi-Newton methods – p.19/20

Page 39: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm BFGS /Brodyen, Fletcher, Goldfarb, Shanno/

Algorytm BFGS opera sie na pojeciu komplementarnosci. Punktem wyjscia w metodziequasi-Newton było równanie:

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k.

Natomiast algorytmy polegały na znalezieniu aproksymacji macierzy odwrotnej doHesjanu Q−1.Innym rozwiazaniem jest aproksymacja samej macierzy Q. Niech Bk bedzieestymowało Q w k-tym kroku. Wiec Bk+1 spełnia

∆g(i) = Bk+1∆x(i), 0 ≤ i ≤ k.

Quasi-Newton methods – p.19/20

Page 40: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm BFGS /Brodyen, Fletcher, Goldfarb, Shanno/

Algorytm BFGS opera sie na pojeciu komplementarnosci. Punktem wyjscia w metodziequasi-Newton było równanie:

Hk+1∆g(i) = ∆x(i), 0 ≤ i ≤ k.

Natomiast algorytmy polegały na znalezieniu aproksymacji macierzy odwrotnej doHesjanu Q−1.Innym rozwiazaniem jest aproksymacja samej macierzy Q. Niech Bk bedzieestymowało Q w k-tym kroku. Wiec Bk+1 spełnia

∆g(i) = Bk+1∆x(i), 0 ≤ i ≤ k.

Aproksymacja Hesjanu Bk wyraza sie wzorem:

Bk+1 = Bk +∆g(k)∆g(k)T

∆g(k)T ∆x(k)−

Bk∆x(k)∆x(k)T Bk

∆x(k)T Bk∆x(k)

Quasi-Newton methods – p.19/20

Page 41: Quasi-Newton methods · 2005-03-29 · maleja˛ca dla małych α, jesli zachodzi zachodzi´ g(k)T H kg (k) > 0. Najprostszym sposobem, aby zapewnic spełnialno´ s´c powyz˙szej

Algorytm BFGS

Macierz odwrotna Hesjanu wyznaczona na podstawie Bk+1 w algorytmie BFGS wyrazasie wzorem:

Hk+1 = (Bk+1)−1 = Hk +

1 +∆g(k)T Hk∆g(k)

∆g(k)T ∆x(k)

«

∆x(k)∆x(k)T

∆x(k)T ∆g(k)−

−Hk∆g(k)∆x(k)T + (Hk∆g(k)∆x(k)T )T

∆g(k)T ∆x(k).

Quasi-Newton methods – p.20/20