poglavlje 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda,...

27
POGLAVLJE 1 NJUTNOVA METODA U prethodnom poglavlju videli smo da gradijentne metode koriste samo prvi izvod (gradijent) kao pravac duˇ z koga se minimizuje zadata funkcija. Me dutim, to nije uvek najefikasniji naˇ cin za bezuslovnu minimizaciju funkcije. Ako se pri konstrukciji iterativnog algoritma koriste izvodi viˇ seg reda, dobijena metoda moˇ ze imati bolje performanse u pored¯enju sa nekom od gradijentnih metoda. Za razliku od gradijentne metode, Njutnova metoda koristi izvode i prvog i drugog reda date funkcije za konstrukciju interativnog niza. Pokazuje se da Njutnova metoda zaista brˇ ze konvergira ka (lokalnom) minimumu funkcije, pod pretpostavkom da je poˇ cetna taˇ cka dovoljno blizu traˇ zenog minimuma. U ovom poglavlju izloˇ zi´ cemo koncept Njutnove metode, a predstavi´ cemo i neke od njenih modifikacija koje su korisne za praktiˇ cnu primenu. Bi´ ce analizirani uslovi kon- vergencije i brzina konvergencije Njutnove metode. Posebno ´ ce biti analiziran sluˇ caj primene Njutnove metode na minimizaciju kvadratne funkcije. 1.1 Njutnova metoda – opˇ ste osobine Ideja Njutnove metode je slede´ ca. Za izabranu poˇ cetnu taˇ cku X (0) konstru- isati kvadratnu aproksimaciju posmatrane funkcije, tako da se vrednost aprok- simacije, kao i vrednosti njenog prvog i drugog izvoda u taˇ cki X (0) poklapaju sa odgovaraju´ cim vrednostima funkcije i prvog i drugog izvoda u istoj taˇ cki. 1

Upload: phamanh

Post on 22-Mar-2019

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

POGLAVLJE 1

NJUTNOVA METODA

U prethodnom poglavlju videli smo da gradijentne metode koriste samo prviizvod (gradijent) kao pravac duz koga se minimizuje zadata funkcija. Medutim,to nije uvek najefikasniji nacin za bezuslovnu minimizaciju funkcije. Ako sepri konstrukciji iterativnog algoritma koriste izvodi viseg reda, dobijena metodamoze imati bolje performanse u poredenju sa nekom od gradijentnih metoda.

Za razliku od gradijentne metode, Njutnova metoda koristi izvode i prvogi drugog reda date funkcije za konstrukciju interativnog niza. Pokazuje se daNjutnova metoda zaista brze konvergira ka (lokalnom) minimumu funkcije, podpretpostavkom da je pocetna tacka dovoljno blizu trazenog minimuma. U ovompoglavlju izlozicemo koncept Njutnove metode, a predstavicemo i neke od njenihmodifikacija koje su korisne za prakticnu primenu. Bice analizirani uslovi kon-vergencije i brzina konvergencije Njutnove metode. Posebno ce biti analiziranslucaj primene Njutnove metode na minimizaciju kvadratne funkcije.

1.1 Njutnova metoda – opste osobine

Ideja Njutnove metode je sledeca. Za izabranu pocetnu tacku X(0) konstru-isati kvadratnu aproksimaciju posmatrane funkcije, tako da se vrednost aprok-simacije, kao i vrednosti njenog prvog i drugog izvoda u tacki X(0) poklapajusa odgovarajucim vrednostima funkcije i prvog i drugog izvoda u istoj tacki.

1

Page 2: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

2 POGLAVLJE 1. NJUTNOVA METODAZatim se, umesto problema minimizacije polazne funkcije, posmatra problemminimizacije dobijene kvadratne aproksimacije. Minimum kvadratne aproksi-macije X(1) (koji se relativno lako nalazi, jer je funkcija kvadratna) predstav-lja polaznu tacka za sledecu iteraciju. Opisana procedura se sprovodi na istinacin i dobijamo novu pocetnu tacku X(2), zatim X(3), itd. Ponavljanjem pro-cedure konstruisemo iterativni niz {X(k)}, koji predstavlja niz aproksimacijaminimuma polazne funkcije. Ukoliko je polazna funkcija kvadratna, tada je kva-dratna aproksimacija identicna polaznoj funkciji i metoda vodi ka minimumufunkcije u jednom koraku. Ako to nije slucaj, tada u svakoj iteraciji minimi-zacijom kvadratne aproksimacije dobijamo po jednu aproksimaciju minimumapolazne funkcije.

Kvadratnu aproksimaciju polazne funkcije f : Rn → R, mozemo dobitikoristeci Tejlorov razvoj, pod uslovom da je funkcija dva puta neprekidno dife-rencijabilna, odnosno f ∈ C2(Rn). Ukoliko u Tejlorovom razvoju funkcije f uokolini tacke X(k) zanemarimo clanove pocevsi od reda 3, dobijamo

f(X) ≈ f(X(k))+1

1!(X−X(k))T∇f(Xk)+

1

2!(X−X(k))T∇2f(X(k))(X−X(k)).

Ako sa q(X) oznacimo izraz na desnoj strani, tada

q(X) = f(X(k)) + (X −X(k))T fk +1

2(X −X(k))TF (X(k))(X −X(k))

predstavlja trazenu kvadratnu aproksimacija funkcije f ∈ C2(Rn). Primetimoda je fk = ∇f(Xk) gradijent, a F (X(k)) = ∇2f(Xk) Hesijan funkcije f u tackiXk.

Kako umesto minimizacije fukcije f resavamo problem minimizacije njenekvadratne aproksimacije q, nadimo najpre tackuX u kojoj su zadovoljeni NUPRza lokalni minimum funkcije q. Resavamo jednacinu

0 = ∇q(X) = fk + F (X(k))(X −X(k)),

odnosno−fk = F (X(k))(X −X(k)),

X −X(k) = −F (X(k))−1fk,

odakle jeX = X(k) − F (X(k))−1fk.

Page 3: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.1. NJUTNOVA METODA – OPSTE OSOBINE3

Ako je F (X(k)) > 0, tada q dostize minimum u tacki X = X(k+1), gde je

X(k+1) = X(k) − F (X(k))−1fk.

Dakle, opsta Njutnova metoda za nalazenje lokalnog minimuma X∗ funkcijef : Rn → R, f ∈ C2(Rn), sastoji se iz sledecih koraka:Algoritam 4.1Korak 0. Izabrati pocetnu tacku X(0) i postaviti k = 0.Korak 1. Odrediti narednu tacku iterativnog niza koristeci formuluX(k+1) = X(k) − F (X(k))−1fk.Korak 2. Nakon dobijanja nove tacke iterativnog niza X(k+1), proveriti dali je ispunjen kriterijum zaustavljanja. Ukoliko jeste, algoritam se zaustav-lja i X∗ ≈ X(k+1). Ukoliko kriterijum zaustavljanja nije zadovoljen, postavitik = k + 1 i ici na Korak 1.

O konvergenciji i kriterijumima zaustavljanja Njutnove metode bice reci unarednoj sekciji. Napomenimo da je Njutnova metoda u literaturi poznata ipod imenom Njutn-Rapsonova metoda1.

Primer 1.1 Posmatrajmo funkciju f : R4 → R definisanu sa

f(X) = (x1+10x2)2+5(x3−x4)

2+(x2−2x3)4+10(x1−x4)

4, X = [x1, x2, x3, x4]T

Primenom Njutnove metode u tri koraka nadimo pribliznu vredost njenog mi-nimuma, odnosno X(3) ≈ X∗. Za pocetnu tacku iterativnog niza uzmimoX(0) = [3,−1, 0, 1]T .

Gradijent funkcije f u proizvoljnoj tacki X = [x1, x2, x3, x4]T ∈ R4 je

∇f(X) =

2(x1 + 10x2) + 40(x1 − x4)

3

20(x1 + 10x2) + 4(x2 − 2x3)3

10(x3 − x4)− 8(x2 − 2x3)3

−10(x3 − x4)− 40(x1 − x4)3

,

a Hesijan F (X) u proizvoljnoj tacki X je odreden sledecom matricom2 + 120(x1 − x4)

2 20 0 −120(x1 − x4)2

20 200 + 12(x2 − 2x3)2 −24(x2 − 2x3)

2 00 −24(x2 − 2x3)

2 10 + 48(x2 − 2x3)2 −10

−120(x1 − x4)2 0 −10 10 + 120(x1 − x4)

2

.

1Isaac Newton (1642–1727), Joseph Raphson (1648–1715)

Page 4: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

4 POGLAVLJE 1. NJUTNOVA METODAU prvoj iteraciji, treba odrediti tacku

X(1) = X(0) − F (X(0))−1f0 = X(0) + d0,

gde je sa d0 oznacen clan −F (X(0))−1f0. Uvrstavanjem koordinata tacke X(0)

dobijamo vektor gradijenta u tacki X(0)

f0 = f(X(0)) = [306,−144,−2, 310]T

i Hesijan matricu

F (X(0)) =

482 20 0 −48020 212 −24 00 −24 −58 −10

−480 0 −10 490

.

Da bismo izracunali vrednost d0 = −F (X(0))−1f0, mozemo postupiti nadva nacina. Prvi nacin je nalazenje inverza matrice F (X(0)), koji zatim trebapomnoziti sa desne strane vektorom f0. Drugi nacin je odrediti d0 kao resenjesistema linearnih jednacina F (X(0))d0 = −f0, zapisanog u matricnom obliku.

Primenjujuci jedan od ova dva nacina, dobijamo resenje

d0 = [−1.4127, 0.8413, 0.2540,−0.746]T ,

odakle je

X(1) = [1.5873,−0.1587, 0.2540, 0.2540]T i f(X(1)) = 31.8.

U drugoj iteraciji, na isti nacin dobijamo

X(2) = X(1) − F (X(1))−1f1 = X(1) + d1,

X(2) = [1.5082,−0.1058, 0.1694, 0.1694]T i f(X(2)) = 6.28.

U trecoj iteraciji,

X(3) = X(2) − F (X(2))−1f2 = X(2) + d2,

X(3) = [0.7037,−0.0704, 0.1121, 0.1111]T i f(X(2)) = 1.24.

Page 5: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.1. NJUTNOVA METODA – OPSTE OSOBINE5

Iz Primera 1.1 mozemo videti da u k-toj iteraciji Njutnove metode na-rednu tacku iterativnog niza racunamo kao X(k+1) = X(k) + dk, gde je dk =−F (X(k))−1fk, odnosno resenje sistema jednacina F (X(k))dk = −fk. Dakle,Njutnova metoda moze se zapisati i na sledeci nacin, koji je pogodan za imple-mentaciju.Algoritam 4.2Korak 0. Izabrati pocetnu tacku X(0). Postaviti k = 0.Korak 1. Resiti jednacinu F (X(k))dk = −fk po nepoznatom vektoru dk.Korak 2. Izracunati novu tacku iterativnog niza po formuliX(k+1) = X(k)+dk.Korak 3. Nakon dobijanja nove tacke iterativnog niza X(k+1), proveriti dali je ispunjen kriterijum zaustavljanja. Ukoliko jeste, stajemo sa procesom iX∗ ≈ X(k+1), gde je X∗ tacka lokalnog minimuma funkcije f . Ukoliko nije,staviti da je k = k + 1 i ici na Korak 1.

Primetimo da resavanje jednacine F (X(k))dk = −fk po nepoznatom dk po-drazumeva koriscenje neke metode za resavanje sistema linearnih jednacina. Toznaci da nam je za efikasnu implementaciju Njutnove metode neophodna nekanumericki efikasna i stabilna metoda za resavanje sistema linearnih jednacina.

Izlozenu Njutnovu metodu za minimizaciju funkcije f : Rn → R, f ∈ C2(Rn)mozemo koristiti i kao metodu za resavanje jednacine g(X) = 0, gde je g : Rn →Rn vektorska funkcija definisana sa

∇f(X) = g(X) = [g1(X), g2(X), ..., gn(X)],

gi(X) =∂f

∂xi(X), i = 1, 2, ..., n.

Kako je f ∈ C2(Rn), vazi g ∈ C1(Rn). Dalje, F (X) je Jakobijan funkcije gu tacki X = [x1, ..., xn]

T , odnosno

F (X) = ∇g(X) =

[∂gi∂xj

(X)

], i, j = 1, 2, .., n.

Njutnova metoda za resavanje jednacine g(X) = 0 se sastoji iz sledecih ko-raka.Algoritam 4.3Korak 0. Izabrati pocetnu tacku X(0). Postaviti k = 0.Korak 1. Resiti jednacinu F (X(k))dk = −Gk po nepoznatom vektoru dk, gde

je Gk = g(X(k)) a F (X(k)) =[∂gi∂xj

(X(k))].

Korak 2. Izracunati novu tacku iterativnog niza po formuliX(k+1) = X(k)+dk.

Page 6: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

6 POGLAVLJE 1. NJUTNOVA METODAKorak 3. Nakon dobijanja nove tacke iterativnog niza X(k+1), proveriti dali je ispunjen kriterijum zaustavljanja. Ukoliko jeste, stajemo sa procesom iX∗ ≈ X(k+1), gde je X∗ tacka lokalnog minimuma funkcije f . Ukoliko nije,postaviti k = k + 1 i ici na Korak 1.

Razmatrajuci efikasnost Njutnove metode, mozemo primetiti da postoje tritipa “troskova”, u smislu broja operacija koje je potrebno izvesti: nalazenjeprvog i drugog izvoda, izvodenje aritmetickih operacija i cuvanje rezultata imedurezultata. Klasicna Njutnova metoda koju smo izlozili zahteva odredivanjeprvog i drugog izvoda, racunanje gradijenta i Hesijana u tacki, resavanje sis-tema linearnih jednacina (ili, alternativno, racunanje inverza Hesijan matrice) icuvanje matrica i vektora.

Prilikom resavanja problema minimizacije funkcije n promenljivih, odredujemoHesijan matricu dimenzije n× n, koja sadrzi n2, odnosno O(n2) elemenata. Toznaci da treba izracunati vrednost O(n2) izraza u zadatoj tacki da bismo odre-dili sve elemente Hesijan matrice, pod uslovom da su racunanja korektna. Kadaizracunamo Hesijan matricu u zadatoj tacki, dalje nam je potrebno O(n3) arit-metickih operacija da bismo resili sistem linearnih jednacina ili odredili inverzmatrice. Kako n raste, ovi racunski troskovi se znacajno uvecavaju i neretkodovode do toga da se resenje ne moze naci usled ogranicenja memorije, vremenaili racunarskih resursa, iako ono teorijski postoji.

U nekim slucajevima, moguce je automatizovati proces nalazenja izvodafunkcije, sto dalje omogucava aumatizovanje racunanja izvoda u zadatoj tacki.Podsetimo da problemi velikih dimenzija cesto imaju retku Hesijan matricu, tekoriscenjem tehnika za rad sa retkim matricama mozemo smanjiti broj operacijai memorijske resurse potrebne za njihovo cuvanje.

Racunski troskovi se mogu redukovati i koriscenjem razlicitih modifikacijaNjutnove metode koje u izvesnoj meri pojednostavljuju klasicni oblik metode iistovremeno redukuju proces racunanja. Vecina ovih modifikacija koriste samoprvi izvod ili izbegavaju resavanje sistema lineranih jednacina (odnosno, racunanjeinverza Hesijan matrice), cime se racunski troskovi primene Njutnove metodesmanjuju na O(n2). Modifikacije koje su dizajnirane za resavanje problema ve-likih dimenzija koriste tehnike za redukciju potrebnog memorijskog prostora naO(n).

Medutim, pojednostavljenje Njutnove metode uglavnom vodi ka losijim per-formansama dobijenih modifikacija u odnosu na klasicnu metodu. Modifika-cije uglavnom imaju sporiju brzinu konvergencije, jer koriste vise pojednos-tavljenih iteracija da bi dovele do resenja problema sa zadatom tacnoscu. Upraksi se klasicna Njutnova metoda ne koristi cesto, upravo zbog svoje racunske

Page 7: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.2. OPSTI USLOVI KONVERGENCIJE NJUTNOVEMETODE7

slozenosti, iako ona predstavlja idealnu metodu za resavanje problema minimi-zacije koji brzo konvergira. Zato se u praksi tezi konstrukciji jednostavnijihalgoritama koji u sto vecoj meri zadrzavaju dobre osobine klasicne Njutnovemetode, a posebno brzine konvergencije.

1.2 Opsti uslovi konvergencije Njutnove metode

Ukoliko je Hesijan matrica F (X) funkcije f : Rn → R pozitivno definitna zasvako X ∈ Rn, Njutnova metoda za minimizaciju funkcije f konvergira za bilokoji izbor pocetne tacke iterativnog niza. Medutim, ukoliko Hesijan matrica nijepozitivno definitna u nekoj tacki X ∈ Rn, Njutnov algotitam se ne mora oba-vezno kretati u pravcu opadanja vrednosti funkcije, odnosno moze se desiti danejednakost f(X(k+1)) < f(X(k)) ne vazi za svako k. U tom slucaju, Njutnovametoda cesto ne konvergira ka lokalnom minimumu. Na Slici 1.1 ilustrovan jejednodimenzioni slucaj, pri cemu je Hesijan matrica pozitivno definitna za svakoX(k). Slika 1.2 ilustruje slucaj kada Hesijan matrica nije pozitivno definitna,te niz tacaka dobijen Njutnovom metodom ne konvergira lokalnom minimumu.Ipak, treba napomenuti da cak i u slucaju da je Hesijan matrica pozitivno defi-

Slika 1.1: Njutnova metoda: f ′′(X(k)) > 0 (iterativni niz konvergira lokalnomminimumu)

nitna, moze se desiti da f(X(k+1)) < f(X(k)) ne vazi za neko k. Na primer, to

Page 8: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

8 POGLAVLJE 1. NJUTNOVA METODAse moze dogoditi u nekim od prvih koraka iteracije, kada je pocetna tacka X(0)

daleko od lokalnog minimuma. U slucaju da se pocetna tacka nalazi dovoljnoblizu lokalnog minimuma, vrednost funkcije kroz iteracije Njutnove metode brzoopada i dobijeni niz tacaka brzo konvergira trazenom minimumu.Analiza konvergencije Njutnove metode je jednostavna ukoliko je f : Rn → R

Slika 1.2: Njutnova metoda: f ′′(X(k)) < 0 (iterativni niz ne konvergira lokalnomminimumu)

kvadratna funkcija. Stavise, Njutnov iterativni niz konvergira ka tacki X∗ zakoju je ∇f(X∗) = 0 u samo jednom koraku.

Zaista, neka je kvadratna funkciju oblika f(X) = 12X

TQX − bTX, gde jeQ simetricna, pozitivno definitna matrica reda n i b ∈ Rn dati vektor. Tada jegradijent∇f(X) = QX−b i Hesijan F (X) = Q. Kako je matrica Q invertibilna,vazi ∇f(X∗) = 0 ako i samo ako je QX∗ = b, odnosno X∗ = Q−1b. Imajuci tou vidu, primenom Njutnove metode dobijamo prvu tacku iterativnog niza

X(1) = X(0) − F (X(0))−1∇f(X(0))

= X(0) −Q−1(QX(0) − b)

= Q−1b.

Primetimo da je X(1) = X∗ i da za tacku X∗ vaze NUPR, jer je Hesijanmatrica F (X) = Q pozitivno definitna za svakoX, te je tacka X(1) = X∗ lokalniminimum funkcije f . Dakle, u slucaju kvadratne funkcije, red konvergencijeNjutnove metode je ∞ za proizvoljni izbor pocetne tacke X(0).

Page 9: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.2. OPSTI USLOVI KONVERGENCIJE NJUTNOVEMETODE9

Analizirajmo sada konvergenciju Njutnove metode u opstem slucaju i pokazimoda je red konvergencije iterativnog niza {X(k)} dobijenog Njutnovom metodomnajmanje 2, pod pretpostavkom da {X(k)} konvergira tacki lokalnog minimimaX∗. Pre formulacije teoreme koja govori o konvergenciji Njutnove metode, na-vodimo lemu koja ce nam biti potrebna za dokaz te teoreme.

Lema 1.1 Neka je F : Rn → Rn ×Rn matricna funkcija koja je neprekidna utacki X∗ ∈ Rn. Ako postoji F (X∗)−1, tada postoji F (X)−1 za svaku tacku Xkoja je dovoljno blizu X∗ i funkcija F (·)−1 je neprekidna u tacki X∗.

Dokaz Leme 1.1 moze se pronaci u [?] i [?].

Teorema 1.1 Data je funkcija f : Rn → R, f ∈ C3(Rn). Neka je X∗ ∈ Rn

tacka za koju je ∇f(X∗) = 0 i pretpostavimo da je matrica F (X∗) invertibilna.Pod navedenim pretpostavkama, za svaku pocetnu tacku X(0) koja je dovoljno

blizu X∗, iterativni niz {X(k)}, konstruisan Njutnovom metodom pri minimi-zaciji funkcije f , je dobro definisan i konvergira ka X∗ sa redom konvergencijekoji je najmanje 2.

Dokaz. Razvijmo funkciju ∇f u Tejlorov red u okolini tacke X(0).

∇f(X) = ∇f(X(0)) + F (X(0))(X −X(0)) +O(∥X −X(0)∥2),

∇f(X)−∇f(X(0))− F (X(0))(X −X(0)) = O(∥X −X(0)∥2).

Kako je po pretpostavci teoreme f ∈ C3(Rn) i Hesijan matrica F (X∗) inver-tibilna, tada mozemo naci konstante ε > 0, c1 > 0 i c2 > 0 za koje vazi sledece:

a) Ako tacke X(0) i X pripadaju zatvorenoj ε okolini tacke X∗, odnosno

X(0), X ∈ U(X∗, ε), gde je U(X∗, ε) = {X| ∥X −X∗∥ ≤ ε},

tada X(0) i X zadovoljavaju sledecu nejednakost

∥∇f(X)−∇f(X(0))− F (X(0))(X −X(0))∥ ≤ c1∥X −X(0)∥2;

b) Za svaku tacku X ∈ U(X∗, ε) vazi

∥F (X)−1∥ ≤ c2.

Page 10: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

10 POGLAVLJE 1. NJUTNOVA METODANejednakost pod a) sledi iz cinjenice da ostatak Tejlorovog razvoja funkcije

∇f sadrzi trece izvode funcije f , koji su neprekidni (jer f ∈ C3(Rn)), a prematome i ograniceni u zatvorenoj okolini U(X∗, ε).

Kako je funkcija F (X) neprekidna za svako X ∈ Rn (jer je f ∈ C3(Rn)) iHesijan matrica F (X∗) invertibilna, imajuci u vidu Lemu 1.1, zakljucujemo dapostoji F (X)−1 za svako X ∈ U(X∗, ε). Funkcija F (·)−1 je neprekidna u tackiX∗, pa postoji c2 > 0 tako da nejednakost pod b)

∥F (X)−1∥ ≤ c2

vazi za svako X ∈ U(X∗, ε).Pretpostavimo da se pocetna tacka nalazi dovoljno blizuX∗, odnosno X(0) ∈

U(X∗, ε). Tada, zamenjujuci X = X∗ u prvoj od dobijenih nejednakosti ikoristeci pretpostavku da je ∇f(X∗) = 0, dobijamo

∥F (X(0))(X(0) −X∗)−∇f(X(0))∥ ≤ c1∥X(0) −X∗∥2.

Kako je prva tacka iterativnog niza X(1) dobijena Njutnovim algoritmom

X(1) = X(0) − F (X(0))−1∇f(X(0)),

oduzimajuci X∗ sa obe strane gornje jednakosti i uzimajuci normu, dobijamo

∥X(1) −X∗∥ = ∥X(0) −X∗ − F (X(0))−1∇f(X(0))∥= ∥F (X(0))−1[F (X(0))(X(0) −X∗)−∇f(X(0))]∥≤ ∥F (X(0))−1∥ ∥F (X(0))(X(0) −X∗)−∇f(X(0))∥.

Odavde se lako dobija da je

∥X(1) −X∗∥ ≤ c1c2∥X(0) −X∗∥2.

Pretpostavimo da smo pocetnu tacku X(0) izabrali tako da vazi

∥X(0) −X∗∥ ≤ α

c1c2< ε,

gde je α ∈ (0, 1). Tada je

∥X(1) −X∗∥ ≤ α∥X(0) −X∗∥.

Koristeci princip matematicke indukcije, moze se pokazati da za svako k vazi

Page 11: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.2. OPSTI USLOVI KONVERGENCIJE NJUTNOVEMETODE11

∥X(k+1) −X∗∥ ≤ c1c2∥X(k) −X∗∥2,

odnosno∥X(k+1) −X∗∥ ≤ α∥X(k) −X∗∥.

Odavde zakljucujemo da je limk→∞ ∥X(k) −X∗∥ = 0, sto znaci da niz {X(k)}konvergira ka X∗ kad k → ∞. Red konvergencije je najmanje 2 jer je

∥X(k+1) −X∗∥ = O(∥X(k) −X∗∥2).

Teorema 1.1 implicitno podrazumeva da je Hesijan matrica ∇2f(X(k)) regu-larna za svako k i zakljucci Teoreme 1.1 vaze samo ukoliko se dovoljno priblizimotacki X∗. Kako je po pretpostavci Hesijan matrica ∇2f(X∗) pozitivno defi-nitna, neprekidnost Hesijana povlaci da ce ∇2f(X(k)) biti pozitivno definitnaza dovoljno veliko k.

Naredne teorema se odnose na brzinu konvergencije Njutnovog iterativnogniza, koji je konstruisan pri minimizaciji funkcije definisane na konveksnomskupu.

Teorema 1.2 Neka je f : S → R realna funkcija definisana na otvorenomkonveksnom skupu S ⊂ Rn i neka vaze sledece pretpostavke.a) Funkcija ∇2f je Lipsicova2 na skupu S, sto znaci da postoji konstanta L <∞, takva da za svako X,Y ∈ S vazi

∥∇2f(X)−∇2f(Y )∥ ≤ L∥X − Y ∥.

b) Neka je {X(k)} ⊂ S iterativni niz definisan sa

X(k+1) = X(k) + pk, k = 0, 1, 2, ...

koji konvergira ka tacki X∗ ∈ S, tj. limk→∞ X(k) = X∗ i pri tom je X(k) = X∗

za svako k.c) Hesijan matrica ∇2f(X∗) funkcije f u tacki X∗ je pozitivno definitna.

Pod navedenim pretpostavkama a)–c) vazi sledece: niz {X(k)} konvergirasuperlinearno ka X∗ kad k → ∞ i ∇f(X∗) = 0 ako i samo ako je

limk→∞

∥pk − dk∥∥pk∥

= 0,

gde je dk = F (X(k))−1fk Njutnov pravac u tacki X(k).

2Rudolf Otto Sigismund Lipschitz (1832–1903)

Page 12: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

12 POGLAVLJE 1. NJUTNOVA METODADokaz. ⇐: Pretpostavimo da vazi limk→∞

∥pk−dk∥∥pk∥ = 0. Dokaz cemo izvesti

iz dva dela. Najpre cemo pokazati da je ∇f(X∗) = 0, a zatim da niz {X(k)}konvergira ka X∗ superlinearno, kad k → ∞.

1) Dokazimo prvo da je ∇f(X∗) = 0.Kako je −fk = F (X(k))dk i X(k+1) −X(k) = pk, imamo

∇f(X(k+1)) =[∇f(X(k+1))−∇f(X(k))− F (X(k))(X(k+1) −X(k))

]+ F (X(k))(pk − dk).

Normiranjem gornje jednakosti i deljenjem sa ∥pk∥, uz pretpostavku da je∥pk∥ > 0, dobijamo

∥∇f(X(k+1))∥∥pk∥

≤∥∇f(X(k+1))−∇f(X(k))− F (X(k))(X(k+1) −X(k))∥∥pk∥

+ ∥F (X(k))∥∥pk − dk∥∥pk∥

.

Sa druge strane, moze se pokazati da vazi

∥∇f(X(k+1))−∇f(X(k))− F (X(k))(X(k+1) −X(k))∥ = O(∥pk∥2).

Dakle, postoji konstanta γ > 0 takva da je

limk→∞

∥∇f(X(k+1))∥∥pk∥

≤ limk→∞

γ∥pk∥2

∥pk∥+ lim

k→∞∥F (X(k))∥∥pk − dk∥

∥pk∥= 0.

Primetimo da je limk→∞ ∥F (X(k))∥ < ∞, imajuci u vidu pretpostavke teoreme.Kako je limk→∞ ∥pk∥ = 0, vazi

∇f(X∗) = limk→∞

∇f(X(k)) = 0.

2) Dokazimo da niz {X(k)} konvergira superlinearno ka X∗ kad k → ∞. Premapretpostavkama teoreme o funkciji f i njenim izvodima, moze se pokazati dapostoji pozitivna konstanta α takva da

∥∇f(X(k+1))∥ = ∥∇f(X(k+1))−∇f(X∗)∥ ≥ α∥X(k+1) −X∗∥,

Page 13: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.2. OPSTI USLOVI KONVERGENCIJE NJUTNOVEMETODE13

za dovoljno veliko k. Prema tome, imamo

∥∇f(X(k+1))∥∥pk∥

≥ α∥X(k+1) −X∗∥∥pk∥

≥ α∥X(k+1) −X∗∥∥X(k+1) −X∗∥+ ∥X(k) −X∗∥

=α∥X(k+1) −X∗∥/∥X(k) −X∗∥

∥X(k+1) −X∗∥/∥X(k) −X∗∥+ 1.

Imajuci u vidu limk→∞∥∇f(X(k+1))∥

∥pk∥ = 0, zakljucujemo da je

limk→∞

∥X(k+1) −X∗∥∥X(k) −X∗∥

= 0,

sto upravo znaci da niz {X(k)} konvergira superlinearno ka X∗ kad k → ∞.⇒: Pretpostavimo da niz {X(k)} konvergira superlinearno ka X∗ i da je

∇f(X∗) = 0. Dokazimo da vazi limk→∞∥pk−dk∥

∥pk∥ = 0. Iz polaznih pretpostavki,

sledi da postoji konstanta β > 0 takva da je

∥∇f(X(k+1))∥ = ∥∇f(X(k+1))−∇f(X∗)∥ ≤ β∥X(k+1) −X∗∥,

za dovoljno veliko k. Na osnovu pretpostavke o superlinearnoj konvergenci niza{X(k)} ka X∗ i prethodno dobijene nejednakosti, imamo da je

0 = limk→∞

∥X(k+1) −X∗∥∥X(k) −X∗∥

≥ limk→∞

1

β

∥∇f(X(k+1))∥∥X(k) −X∗∥

= limk→∞

1

β

∥∇f(X(k+1))∥∥pk∥

∥pk∥∥X(k) −X∗∥

= limk→∞

1

β

∥∇f(X(k+1))∥∥pk∥

∥X(k+1) −X(k)∥∥X(k) −X∗∥

.

Kako je limk→∞∥X(k+1)−X∗∥∥X(k)−X∗∥ = 1, zakljucujemo da je

limk→∞

∥∇f(X(k+1))∥∥pk∥

= 0.

Page 14: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

14 POGLAVLJE 1. NJUTNOVA METODASlicno postupku u delu 1) u dokazu suprotnog smera, moze se pokazati

∥F (X(k))(pk − dk)∥∥pk∥

≤ ∥∇f(X(k+1))−∇f(X(k))− F (X(k))(X(k+1) −X(k))∥∥pk∥

+∥∇f(X(k+1))∥

∥pk∥.

Kako je granicna vrednost desne strane gornje jednakosti jednaka nuli, za-kljucujemo da vazi

limk→∞

∥F (X(k))(pk − dk)∥∥pk∥

= 0.

Konacno, imajuci u vidu pretpostavku da je matrica F (X∗) pozitivno definitna,i matrica F (X(k)) ce biti pozitivno definitna za dovoljno veliko k. Dakle, vazi

limk→∞

∥pk − dk∥∥pk∥

= 0,

sto je i trebalo dokazati. �

Teorema 4.2’ Neka je f : S → R realna funkcija definisana na otvorenomkonveksnom skupu S ⊂ Rn, pri cemu je ∇2f Lipsicova funkcija na skupu S.Neka je {X(k)} ⊂ S iterativni niz definisan sa

X(k+1) = X(k) +∇2f(X(k))−1∇f(X(k)), k = 0, 1, 2, ...

Pretpostavimo da je X∗ ∈ S lokalni minimum funkcije f na skupu S, pricemu je Hesijan matrica ∇2f(X∗) pozitivno definitna. Pod navedenim pret-postavkama, za svaku pocetnu tacku {X(0)} koja je dovoljno blizu tacki X∗,iterativni niz {X(k)} je dobro definisan i konvergira ka tacki X∗ kad k → ∞ saredom konvergencije najmanje 2.

Dokaz teoreme prepustamo citaocu.

1.3 Modifikacija Njutnove metode sa svojstvomspusta

Kao sto smo videli u prethodnoj sekciji, Njutnova metoda brzo konvergiraukoliko je pocetna tacka iterativnog niza dovoljno blizu lokalnog minimuma.

Page 15: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.3. MODIFIKACIJA NJUTNOVEMETODE SA SVOJSTVOM SPUSTA15

Medutim, ne postoje garancije da ce metoda konvergirati ka tacki lokalnog mi-nimuma ukoliko zapocinjemo pretragu daleko od nje. Cak se moze desiti daje Hesijan matrica singularna u tackama koje se nalaze daleko od lokalnog mi-nimuma, pa Njutnov iterativni niz nece biti dobro definisan. Takode, mozese desiti da Njutnova metoda nema uvek svojstvo spusta, tj. moguce je daf(X(k+1)) > f(X(k)) za neko k. U ovoj sekciji pokazacemo da je moguce mo-difikovati klasican Njutnov algoritam tako da svojstvo spusta uvek vazi, tj daje f(X(k+1)) < f(X(k)) za svako k. Da bismo konstruisali ovu modifikaciju,neophodna nam je sledeca teorema.

Teorema 1.3 Neka je {X(k)} iterativni niz dobijen Njutnovom metodom priminimizaciji funkcije f : Rn → R, f ∈ C2(Rn) Ukoliko je Hesijan F (X(k)) > 0i fk = ∇f(X(k)) = 0 za svako k, tada je

dk = −F (X(k))−1fk

pravac spusta od tacke X(k) do X(k+1), odnosno dk = X(k+1) −X(k) < 0.Drugim recima, postoji konstanta α0 ∈ R, α0 > 0 takva da za svako α ∈ (0, α0)vazi nejednakost

f(X(k) + αdk) < f(X(k)).

Dokaz. Oznacimo sa g(α) = f(X(k) + αdk), α ≥ 0. Primetimo da je funkcijag dva puta neprekidno diferencijabilna, jer je f ∈ C2(Rn). Tada je

g′(α) = ∇f(X(k) + αdk)T dk .

Imajuci u vidu da je F (X(k)) > 0 i fk = 0, iz gornje jednakosti dobijamo

g′(0) = ∇f(X(k))T dk = −fTk F (X(k))−1fk < 0 .

Prema tome, mozemo naci realnu konstantu α0 > 0 takvu da za svako α ∈(0, α0) vazi

g(α) < g(0),

sto dalje povlaci da za svako α ∈ (0, α0) vazi

f(X(k) + αdk) < f(X(k)),

sto je i trebalo dokazati.

Page 16: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

16 POGLAVLJE 1. NJUTNOVA METODATeorema 1.3 predstavlja osnov za modifikaciju Njutnove metode sa svojstvom

spusta. Iterativni niz {X(k)} se prema modifikovanom algoritmu konstruise nasledeci nacin

X(k+1) = X(k) − αkF (X(k))−1∇f(X(k)),

gde je αk minimum funkcije

g(α) = f(X(k) − αF (X(k))−1∇f(X(k))), za α ≥ 0.

Drugim recima, u svakoj iteraciji modifikovane Njutnove metode vrsimopretragu u pravcu vektora −F (X(k))−1∇f(X(k)). Na osnovu Teoreme 1.3,zakljucujemo da niz tacaka {X(k)} dobijen ovom modifikacijom ima svojstvospusta, odnosno vazi

f(X(k+1)) < f(X(k)),

ukoliko je ∇f(X(k)) = 0. Stavise, s obzirom na izbor konstante αk, niz {X(k)}ima svojstvo najbrzeg spusta pri prelasku iz tacke X(k) u tacku X(k+1).

1.4 Levenberg-Markardova modifikacija

Ako prilikom konstrukcije Njutnovog iterativnog niza {X(k)}, Hesijan ma-trica funkcije F (X(k)) nije pozitivno definitna, tada pravac dk = −F (X(k))−1fkne mora voditi ka tacki X(k+1) u kojoj je vrednost funkcije manja u odnosu navrednost u tacki X(k). Klasicna Njutnova metoda se moze modifikovati, kakobi obezbedili da je pravac pretrage istovremeno i pravac opadanja vrednostifunkcije.

Ideja Levenberg-Markardove3 modifikacije je sledeca. Posmatrajmo sime-tricnu matricu F , koja ne mora biti pozitivno definitna. Neka su λ1, λ2, ..., λn

sopstvene vrednosti matrice F , a v1, v2, ..., vn odgovarajuci sopstveni vektori.Pretpostavimo da su sve sopstvene vrednosti matrice F realne, pri cemu nemoraju biti sve pozitivne. Uocimo zatim matricu G = F + µI, gde je µ ≥ 0.Primetimo da su sopstvene vrednosti matrice G upravo λ1+µ, λ2+µ, ..., λn+µ.Kako je

Gvi = (F + µI)vi = Fvi + µIvi

= λivi + µIvi = (λi + µ)vi,

3Kenneth Levenberg, Donald W. Marquardt (1929–1997)

Page 17: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.5. METODA GARANTOVANOG SPUSTA 17

sledi da je vi istovremeno i sopstveni vektor matrice G, koji odgovara sopstvenojvrednosti λi+µ, za svako i = 1, 2, ..., n. Ukoliko je µ dovoljno veliko, tada su svesopstvene vrednosti matrice G pozitivne, te je matrica G pozitivno definitna.

Imajuci u vidu gore izlozeno, iterativni niz Levenberg-Markardove modifika-cije Njutnove metode mozemo definisati na sledeci nacin

X(k+1) = X(k) − (F (X(k)) + µkI)−1fk,

pri cemu je µk ≥ 0, k = 0, 1, 2, ..Prema prethodnom razmatranju, za dovoljno velike vrednosti µk ≥ 0 pravac

pretrage dk = −F (X(k) +µkI)−1fk uvek vodi ka opadanju vrednosti funkcije f

(videti Teoremu 1.3).Ukoliko uvedemo korak αk, gde je αk minimum funkcije

g(α) = f(X(k) − αF (X(k))−1∇f(X(k))), za α ≥ 0,

za iterativni niz

X(k+1) = X(k) − αk(F (X(k)) + µkI)−1fk, k = 0, 1, 2..

vazi svojstvo najbrzeg spusta, odnosno f(X(k+1)) < f(X(k)), za svako k.Ukoliko u formuli koja definise iterativni niz Levenberg-Markardove modifi-

kacije pustimo da µk → 0 kad k → ∞, ova modifikacija se priblizava klasicnojNjutnovoj metodi. Ukoliko pustimo da µk → ∞ kad k → ∞, tada se algori-tam priblizava gradijentnoj metodi sa malim korakom αk. U praksi, mozemopoceti pretragu koristeci male vrednosti µk, a zatim ih postepeno povecavatidok iterativni algoritam ne postigne svojstvo spusta, tj. f(X(k+1)) < f(X(k)).

1.5 Metoda garantovanog spusta

U opstem slucaju, Njutova metoda za minimizaciju funkcije f : Rn → Rpolazeci od zadate pocetne tacke X(0) generise iterativni niz {X(k)} oblika

X(k+1) = X(k) + αdk, k = 0, 1, 2, ...

gde je α > 0 korak spusta takav da je f(X(k+1)) = f(X(k) + αdk) < f(X(k)).Imajuci u vidu Teoremu 1.3, navedeni uslov ce biti ispunjen ukoliko je dk

pravac spusta funkcije f od X(k) do X(k+1), odnosno ukoliko vazi

dTk∇f(X(k)) < 0.

Page 18: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

18 POGLAVLJE 1. NJUTNOVA METODAPodsetimo se da kod klasicne Njutnove metode imamo

X(k+1) = X(k) + dk,

gde je vektor dk definisan sa

dk = −∇2f(X(k))−1∇f(X(k))

= −F (X(k))−1∇f(X(k)).

Dakle, da bi dk bio pravac spusta pri minimizaciji funkcije f , mora biti zadovo-ljen uslov

dTk∇f(X(k)) = −∇f(X(k))TF (X(k))−1∇f(X(k)) < 0,

odnosno∇f(X(k))TF (X(k))−1∇f(X(k)) > 0.

Ovaj uslov ce biti zadovoljen ukoliko je matrica F (X(k))−1 pozitivno de-finitna, sto je ekvivalentno uslovu da je F (X(k)) pozitivno definitna. Prime-timo da je uslov pozitivne definitnosti matrice F (X(k)) jaci u odnosu na uslovdTk∇f(X(k)) < 0.

U ovoj sekciji predstavicemo modifikaciju Njutnove metode, koja je zasno-vana na matricnoj faktorizaciji, kako bismo obezbedili da uslov dTk∇f(X(k)) < 0bude ispunjen za svako k.

Podsetimo se da se Njutnov iterativni niz konstruise aproksimacijom f(X(k)+dk) kvadratnim izrazom dobijenim iz Tejlorovog razvoja za svako k

f(X(k) + dk) ≈ f(X(k)) + dTk∇f(X(k)) +1

2dTk F (X(k))−1dk,

pri cemu se kvadratna funkcija na desnoj strani gornjeg izraza minimizuje podk. U slucaju da je F (X(k)) pozitivno definitna matrica, moze se pokazati dase minimum dobija za ∇f(X(k)) = 0, sto vodi ka formuli za Njutnov iterativniniz. Medutim, ukoliko F (X(k)) nije pozitivno definitna, kvadratna funkcija nadesnoj strani gornjeg izraza nema konacan minimum.

Jedan od nacina da se prevazide ovaj problem je da zamenimo HesijanF (X(k)) nekom pozitivno definitnom matricom koja je u izvesnom smislu bliskaHesijan matrici F (X(k)). Time cemo obezbediti egzistenciju pravca duz kogafunkcija f opada u odnosu na vrednost funkcije u tacki X(k). Nalazenje pravcaspusta je ekvivalentno minimizaciji kvadratne aproksimacije funkcije f dobijeneiz Tejlorovog razvoja u kome je F (X(k)) zamenjena nekom bliskom, pozitivnodefinitnom matricom.

Page 19: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.5. METODA GARANTOVANOG SPUSTA 19

Da bismo nasli pravac spusta dk, potrebno je resiti sistem linearnih jednacina

∇2f(X(k))dk = −∇f(X(k)).

Ukoliko je ∇2f(X(k)) pozitivno definitna, tada mozemo primeniti faktoriza-ciju matrice

∇2f(X(k)) = LDLT ,

gde je matrica D dijagonalna sa pozitivnim elementima na glavnoj dijagonali,a L donje trougaona matrica.

Ukoliko ∇2f(X(k)) nije pozitivno definitna, tada ce se prilikom njene fakto-rizacije u nekom trenutku racunanja pojaviti element dii na glavnoj dijagonalimatrice D za koji vazi dii ≤ 0. U tom slucaju, element dii treba zameniti sanekom pozitivnom vrednoscu, recimo |dii|, ili nekim drugim (malim) pozitivnimbrojem.

Moze se pokazati da je modifikacija elemenata matrice D prilikom faktori-zacije Hesijana ekvivalentno zameni matrice ∇2f(X(k)) matricom

∇2f(X(k)) + E,

gde je E dijagonalna matrica. Faktorizacijom modifikovane Hesijan matrice∇2f(X(k)) + E dobijamo

∇2f(X(k)) + E = LDLT ,

gde je modifikovana Hesijan matrica sada pozitivno definitna, a matrica D dija-gonalna sa pozitivnim elementima na glavnoj dijagonali. Pomocu novodobijenefaktorizacije mozemo nac pravac spusta dk kao resenje sistema jednacina

(LDLT )dk = −∇f(X(k)).

Dakle, osnovna ideja ove modifikacije Njutnove metode je zamena Hesijanmatice ∇2f(X(k)) pozitivno definitnom matricom ∇2f(X(k))+E, koja se daljerazlaze faktorizacijom na LDLT , gde je D dijagonalna sa pozitivnim elemen-tima na glavnoj dijagonali. Ovaj postupak se naziva modifikovana faktorizacijamatrice. Primetimo da se faktorizacija primenjuje cak i u slucaju da je Hesijanmatrica ∇2f(X(k)) pozitivno definitna za svako k (tada je E = 0).

Primer 1.2 Pretpostavimo da je Hesijan matrica u tacki X zadata sa

∇2f(X) =

−1 2 42 −3 64 6 22

.

Page 20: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

20 POGLAVLJE 1. NJUTNOVA METODAOva matrica je simetricna, ali nije pozitivno definitna, jer je glavni minor

drugog reda negativan. Primenimo na ovu matricu postupak modifikovane fak-torizacije. U prvoj fazi faktorizacije ∇2f(X) = LTDLT , dobijamo dijagonalnumatricu D koja nema sve pozitivne elemente na glavnoj dijagonali. Kako jed11 = −1, zamenicemo ovaj element elementom 4, tj. izabracemo e11 = 5.Uzimajuci da je e11 = 5, dobijamo d11 = 4, l11 = l31 = 1 i l21 = 1

2 .U sledecoj fazi modifikovane faktorizacije, dobijamo da je d22 = −4, pa

zamenjujemo ovaj element elementom sa vrednoscu 8. Dakle, biramo e22 = 12,te dobijamo d22 = 8, l22 = 1 i l32 = 1

2 .U poslednjoj fazi dobijamo d33 = 16, te nije potrebna modifikacija. Napo-

menimo da smo pozitivne elemente e11 i e22 birali tako da postupak faktorizacijematrice bude sto jednostavniji u racunskom smislu. Konacno, dobijamo

∇2f(X) + E =

−1 2 42 −3 64 6 22

+

5 0 00 12 00 0 0

=

1 0 012 1 01 1

2 1

4 0 00 8 00 0 16

1 12 1

0 1 12

0 0 1

= LDLT .

Dobijena modifikovana faktorizacija Hesijan matrice se dalje koristi za racunanjevektora pravca dk, kao sto je gore opisano.

Napomenimo da postoji izvesna fleksibilnost pri modifikaciji dijagonalne ma-trice D, jer ta modifikacija nije jedinstveno odredena. U svakom slucaju, mo-difikacija matrice D mora biti takva da je rezultujuca modifikacija Hesijanapozitivno definitna matrica. Dalje, da bi bili zadovoljeni uslovi konvergencije,modifikacija Hesijana mora biti regularna matrica. Stavise, pozeljno je da mo-difikacija Hesijana ne bude bliska singularnoj matrici. Preciznije, u praksi sezahteva da najmanja sopstvena vrednost matrice bude veca od neke unapredzadate pozitivne vrednosti δ, dok njena norma mora biti ogranicena nekomkonstantom c < ∞ (pokazati!). Navedeni uslovi definisu opseg u kome se krecuelementi modifikovane matrice D.

Sada cemo izloziti algoritam modifikacije Njutnove metode pod nazivom me-toda garantovanog spusta, koja obezbedje konvergenciju konstruisanog iterativ-nog niza X(k), pri cemu Hesijan matrica ∇2f(X(k)) ne mora biti pozitivno de-finitna za svako k. Algoritam metode garantovanog spusta sastoji se iz sledecihkoraka.

Page 21: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.6. GAUS-NJUTNOVA METODA 21

Algoritam 4.4Korak 0. Izabrati pocetnu tacku X(0) i pozitivnu konstantu ε za kriterijumzaustavljanja. Postaviti k = 0.Korak 1. Izracunati ∇f(X0). Ukoliko je ∥∇f(X0)∥ < ε, zaustaviti postupaki X∗ ≈ X0. U suprotnom, preci na Korak 2.Korak 2. Izvrsiti modifikovanu faktorizaciju Hesijana u tacki X(k)

∇2f(X(k)) + E = LDLT .

Ukoliko je Hesijan pozitivno definitna matrica, staviti E = 0. Korak 3. Resitisistem linearnih jednacina (LDLT )dk = −∇f(X(k)).Korak 4. Formirati iterativni niz tacaka po formuli X(k+1) = X(k)+αkdk, gdeje αk minimum funkcije

g(α) = f(X(k) + αdk), za α ≥ 0.

Korak 5. Nakon dobijanja nove tacke iterativnog niza X(k+1), proveriti da lije ispunjen kriterijum zaustavljanja ∥∇f(X(k+1))∥ < ε. Ukoliko jeste, stajemosa procesom i X∗ ≈ X(k+1), gde je X∗ tacka lokalnog minimuma funkcije f . Usuprotnom, postaviti k = k + 1 i preci na korak 2.

Napomenimo da modifikacija Hesijan matrice mora biti izabrana tako dagore navedeni uslovi za konvergenciju metode budu ispunjeni.

1.6 Gaus-Njutnova metoda

Posmatrajmo problem najmanjih kvadrata

minm∑i=1

(ri(X))2,

gde su ri : Rn → R, i = 1, 2, ...,m zadate nelinearne funkcije. Ovaj problemse u literaturi naziva nelinearnim problemom najmanjih kvadrata. Oznacimo sar : Rn → Rm vektorsku funkciju definisanu sa

r(X) = [r1(X), r2(X), ..., rm(X)]T , X ∈ Rn.

Funkciju cilja mozemo zapisati u obliku f(X) = r(X)T r(X). Da bismo primeniliNjutnovu metodu za minimizaciju funkcije f , izracunajmo najpre gradijent i

Page 22: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

22 POGLAVLJE 1. NJUTNOVA METODAHesijan funkcije f u proizvoljnoj tacki. Gradijent je

∇f(X) =

[∂f

∂x1(X),

∂f

∂x2(X), ...,

∂f

∂xn(X)

],

gde je

∂f

∂xj(X) = 2

m∑i=1

ri(X)∂ri∂xj

(X).

Dalje, Jakobijan funkcije r : Rn → Rm je oblika

J(X) =

∂r1∂x1

(X) . . . ∂r1∂xn

(X)

. .

. .

. .∂rm∂x1

(X) . . ∂rm∂xn

(X)

,

te se gradijent funkcije f : Rn → R moze predstaviti na sledeci nacin

∇f(X) = 2J(X)T r(X).

Da bismo odredili Hesijan matricu funkcije f , nadimo najpre njenu (k, j)-tukomponentu:

∂2f

∂xk∂xj(X) =

∂xk

(∂f

∂xj(X)

)=

∂xk

(2

m∑i=1

ri(X)∂ri∂xj

(X)

)

= 2m∑i=1

(∂ri∂xk

(X)∂ri∂xj

(X) + ri(X)∂2ri

∂xk∂xj(X)

).

Ako sa S(X) oznacimo matricu cija je (k, j)-ta komponentam∑i=1

ri(X) ∂2ri∂xk∂xj

(X),

Hesijan matricu funkcije f mozemo zapisati u obliku

F (X) = 2[J(X)TJ(X) + S(X)].

Prema tome, iterativni niz konstruisan Njutnovom metodom za resavanje neli-nearnog problema najmanjih kvadrata je definisan na sledeci nacin

X(k+1) = X(k) − F (X(k))−1∇f(X(k)), k = 0, 1, 2, ...

X(k+1) = X(k)−[J(X(k))TJ(X(k))+S(X(k))]−1J(X(k))T r(X(k)), k = 0, 1, 2, ...

Page 23: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.6. GAUS-NJUTNOVA METODA 23

U nekim primenama, matrica S(X), koja sadrzi druge izvode funkcije r,moze biti izostavljena, jer su ti clanovi uglavnom zanemarljivo mali. U tomslucaju, iterativni niz Njutnove metode se svodi na

X(k+1) = X(k) − [J(X(k))TJ(X(k))]−1J(X(k))T r(X(k)), k = 0, 1, 2, ...

Ovaj algoritam je u literaturi poznat pod imenom Gaus-Njutnov metod4.Primetimo da Gaus-Njunov metoda ne zahteva racunanje drugog izvoda funk-cije r.

Primer 1.3 Tokom jednog eksperimenta posmatramo neki fizicki proces. Pret-postavimo da smo u toku trajanja eksperimenta izvrsili m merenja posmatranogprocesa u m vremenskih tacaka. Neka su t1, t2, ..., tm vremena u kojima smovrsili merenja a y1, y2, ..., ym rezultati merenja. Vrednosti (ti, yi) i = 1, 2, ...,msu prikazane na Slici 1.3 za m = 21. Primetimo da je t1 = 0 i t21 = 10.

Slika 1.3: Rezultati merenja (ti, yi), i = 1, 2, ..., 21

Dalje, zelimo da dobijene rezultate merenja aproksimiramo sinusoidom oblikay = A sin(ωt+ φ), sa odgovarajucim vrednostima parametara A, ω i φ.

4Johann Carl Friedrich Gauss (1777–1855), Sir Isaac Newton (1642–1727)

Page 24: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

24 POGLAVLJE 1. NJUTNOVA METODA

Slika 1.4: Aproksimacija dobijena nelinearnom metodom najmanjih kvadrata

Posmatrajmo funkciju

m∑i=1

(yi −A sin (ωti + φ))2,

koja predstavlja sumu kvadrata odstupanja vrednosti sinusoide y u mernimtackama. Problem je odrediti nepoznate parametare A, ω i φ, tako da gornjasuma kvadrata odstupanja bude minimalna. Oznacimo sa X = [A,ω, φ]T vek-tor nepoznatih parametara. Tada se zadatak moze posmatrati kao nelinearniproblem najmanjih kvadrata

minn∑

i=1

(ri(X))2,

pri cemu je ri(X) = yi −A sin (ωti + φ), X = [A,ω, φ]T , i = 1, 2, ...,m.Jakobijan funkcije r(X) = [r1(X), r2(X), ..., r21(X)] je matrica J(X) dimen-

zija 21× 3 oblika

J(X) = [J(X)i1 J(X)i2 J(X)i3], i = 1, 2, ..., 21,

Page 25: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.7. ZADACI ZA VEZBU 25

ciji su elementi po vrstama

J(X)i1 =∂ri∂A

(X) = − sin (ωti + φ),

J(X)i2 =∂ri∂ω

(X) = −tiA cos (ωti + φ),

J(X)i3 =∂ri∂φ

(X) = −A cos (ωti + φ),

za svako i = 1, 2, ..., 21, pri cemu je X = [A,ω, φ]T nepoznati vektor.Primenjujuci Gaus-Njutnov algoritam, dobijamo da su optimalne vrednosti

za parametre sinusoide A = 2.01, ω = 0.992 i φ = 0.541. Dobijena sinusoida jepredstavljena na Slici 1.4.

1.7 Zadaci za vezbu

Zadatak 1.1 Data je funkcija f : R → R, definisana sa f(x) = x4 − 1.

a) Konstuisati Njutnov iterativni niz za minimizaciju funkcije f , pocevsi odtacke x(0) = 4.

b) Dokazati da dobijeni niz konvergira globalnom minimumu funkcije f .

c) Odrediti red konvergencije dobijenog niza.

Zadatak 1.2 Posmatrajmo funkciju f : R → R, definisanu sa f(x) =x4/3.

Njutnovom metodom minimizovati datu funkciju f . Da li je tacka dobi-jena kao granicna vrednost Njutnovog iterativnog niza lokalni ili globalniminimum?

a)b) Diskutovati konvergenciju Njutnovog iterativnog niza u zavisnosti od pocetnetacke x(0).

Zadatak 1.3 Posmatrajmo Rozenbrokovu5 funkciju f : R2 → R definisanu sa

f(X) = 100(x2 − x21)

2 + (1− x1)2, X = [x1, x2]

T ∈ R2.

5Howard Harry Rosenbrock (1920–2010)

Page 26: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

26 POGLAVLJE 1. NJUTNOVA METODAa) Pokazati da je tacka X∗ = [1, 1]T jedinstveni globalni minimum funkcije

f na R2.

b) Konstruisati Njutnov iterativni niz pocevsi od tacke X(0) = [0, 0]T .

c) Konstruisati iterativni niz gradijentnom metodom sa fiksnim korakomαk = 0.05 i istom pocetnom tackom.

d) Uporediti brzine konvergencije iterativnih nizova dobijenih pod c) i d).

Zadatak 1.4 Konstruisati Njutnov iterativni niza za minimizaciju funkcije f :R2 → R definisane sa

f(X) = 2x21 + x2

2 − 2x1x2 + 2x31 + x4

1, X = [x1, x2]T ∈ R2.

Za pocetnu tacku uzeti X(0) = [0, 1]T i izracunati prve tri iteracije X(i), i =1, 2, 3.

Zadatak 1.5 Posmatrajmo problem minimizacije funkcije iz Zadatka 1.4 i uve-dimo smenu promenjive Y = AX + b, gde je

A =

[3 14 1

], b = [−1,−2]T .

Pokazati da pravac dk iz polaznog Njutnovog iterativnog niza ostaje isti i nakonuvodenja smene promenljivih.

Zadatak 1.6 Posmatrajmo problem minimizacije proizvoljne funkcije f : Rn →R, koji resavamo Njutnovom metodom. Ako uvedemo smenu promeljive oblikaY = AX + b, pokazati da Njutnov pravac ostaje isti ukoliko je A invertibilnamatrica.

Zadatak 1.7 Data je funkcija f : R → R definisana sa f(x) = (x − x0)4, gde

je x0 realna konstanta.

a) Konstruisati Njutnov iterativni niz {x(k)} za minimizaciju funkcije f .

b) Pokazati da x(k) → x0 kad k → ∞ za proizvoljni izbor pocetne tacke x(0).

c) Da li za niz {x(k)} vaze uslovi Teoreme 1.1, koja kaze da je pod odredenimuslovima red konvergencije Njutnovog iterativnog niza najmanje 2?

d) Koji je red konvergencije niza {x(k)}?

Page 27: POGLAVLJE 1 - matf.bg.ac.rs · pri konstrukciji iterativnog algoritma koriste izvodi vi seg reda, dobijena metoda mo ze imati bolje performanse u pored enju sa nekom od gradijentnih

1.7. ZADACI ZA VEZBU 27

Zadatak 1.8 Posmatrajmo funkciju f(x) = (x − x0)4 ciju smo minimizaciju

Njutnovom metodom razmatrali u Zadatku 1.7. Oznacimo sa yk = |x(k) − x0|,k = 0, 1, 2, .., gde je x(k) tacka dobijena u k- toj iteraciji Njutnovom metodom.

a) Pokazati da za niz {yk} vazi yk+1 = 23y

k.

b) Odrediti red konvergencije niza {y(k)}.

Zadatak 1.9 Posmatrajmo modifikovan Njutnov algoritam za minimizacijufunkcije f : Rn → R koji generise iterativni niz definisan sa

X(k+1) = X(k) − αkF (X(k))−1fk,

gde je F (X(k)) Hesijan funkcije f u tacki X(k), fk gradijent funkcije f u tackiX(k) i αk minimum funkcije

g(α) = f(X(k) − αF (X(k))−1fk), α ≥ 0.

Primeniti ovu modifikaciju na problem minimizacije kvadratne funkcije f(X) =12X

TQX, gde je Q simetricna, pozitivno definitna matrica reda n i b ∈ Rn

zadati vektor. Da li i ova modifikacija konvergira u jednom koraku ka tacki X∗,za koju je ∇f(X∗) = 0 za proizvoljan izbor pocetne tacke X(0)?