4 Přednáša: Kvazi-Newtonovsé metody: Metody s proměnnou metriou, modifiace Newtonovy metody Efetivní pro menší úlohy s hustou Hessovou maticí Newtonova metoda (opaování): f aproximujeme loálně vadraticou funcí, minimum je další aproximace Taylorův polynom v bodě x : f(x) q(x) = f(x ) + f(x ) T (x x ) + 1 2 (x x ) T H(x )(x x ) Stacionární bod: q(x) = f(x ) + H(x )(x x ) = 0, x = x +1 = x H(x ) 1 f(x ) Vyřešit H(x )d = g, x +1 = x + d - čistá Newtonova metoda V aždém rou se řeší soustava lineárních algebraicých rovnic V blízosti řešení, nebo poud je f(x) ostře onvexní, potom H(x ) je pozitivně definitní Prilady6 Newtonm Věta: Nechť f(x) C 2 (R n ) a 2 f(x) = H(x) je Lipschitzovsy spojitá v oolí řešení x Předpoládejme Newtonovu iterační metodu x +1 = x + p, de p = H 1 (x )g, potom a) poud je x 0 blízo řešení x, potom posloupnost Newtonových iterací onverguje řešení, b) rychlost onvergence posloupnosti {x } je vadraticá, c) posloupnost { f } onverguje nule vadraticy Záladní Newtonova metoda není vhodná pro praticé výpočty H nemusí být symetricá pozitivně definitní a i poud je, nemusí iterace onvergovat (x 0 je daleo od x ) 1
Modifiace Newtonovy metody: x +1 = x α S g, g = f(x ) Poud je x blízo řešení, potom α 1 Modifiovaná Newtonova metoda: S = H(x ) 1 Metoda největšího spádu: S = I Modifiovaná Newtonova metoda: S = [βi +H(x )] 1, β > 0 volíme ta, aby matice byla pozitivně definitní Pro β malé, je metoda blíže Newtonově metodě Pro β velé, se metoda blíží největšímu spádu Modifiovaná Newtonova metoda: S = H(x 0 ), resp S H(x 0 ) Hessova matice se napočítá pouze na začátu Prilady6 Modif Newtonm Analogie x +1 = x + α p, aby byl směr p spádový, tj f(x ) T p < 0, musí platit f(x ) T S f(x ) > 0 Zajistit S pozitivně definitní Kvazi-Newtonovsé metody: vhodně najít S H(x ) 1 Kvadraticá úloha: f(x) = 1 2 xt Ax b T x, A symetricá pozitivně definitní matice x +1 = x α S g, g = Ax b, α = gt S g g T S AS g T Lemma: Pro výše popsanou metodu platí e +1 2 A e 2 A ( ) 2 λn λ 1, λ n + λ 1 de λ 1 je minimalní a λ n je maximální vlastní číslo matice S A 2
Aproximace pomocí ran-one updatu: Pro vadraticou funci platí H(x ) = A: g +1 g }{{} = Ax +1 b Ax +b = A (x +1 x ) }{{} q Pro nevadraticou funci: g +1 g H(x )(x +1 x ) Konstantní Hessova matice: H(x ) = H: q = Hp, p = Sq ro : Mám S, spočtu p, q potřebuji S +1 : Up-date pomocí matice hodnosti 1: S +1 = S + z z T, ta, aby platilo p = S +1 q (vazi-newtonovsá podmína) p z z T = (p S q )(p S q ) T q T (p S q ) p = S +1 q S +1 = S + z z T p = S q + z z T q z = p S q z T q z z T z z T = (p S q )(p S q ) T (z T q ) 2 p = S q + z z T q / q T q T p = q T S q + q T z z T q (z T q ) 2 = q T (p S q ) = (p S q )(p S q ) T q T (p S q ) / z T Musím zadat S 0 Zachovává symterii Hessovy matice, nemusí zachovávat pozitivní definitnosti Ve jmenovateli může být velmi malé číslo numericý problém Pro vadraticou funci platí, že pro libovolnou S 0 a symetricou matici bude fungovat Jsou lepší možnosti Prilady6 Kvazi Newton Ran1m 3
Algoritmus: Dáno: x 0, S 0, spočítat g 0, pro = 1, 1 d = S g 2 α 0, minimalizace f(x + α d ) 3 x +1 = x + α d 4 Spočti g +1 5 p = α d 6 q = g +1 g 7 Update S +1 Věta: Uvažujme vadraticý funcionál f(x) = 1 2 xt Ax b T x pro symtericou pozitivně definitní matici A Nechť S 0 je libovolná symetricá matice a x 0 libovolný bod Je-li ran-one update v aždém rou dobře definován (q T (p S q ) 0) a jsou-li vetory p 0,, p n 1 lineárně nezávislé, potom S n = A 1 a vazi-newtonova metoda nalezne stacionární bod nejvýše po n rocích Aproximace pomocí ran-two updatu: DFP (Davidon, Fletcher, Powell) metoda: ro : Mám S, spočtu p, q potřebuji S +1 : Up-date pomocí matice hodnosti 2: ta, aby p = S +1 q S +1 = S + z z T + v v T, S +1 = S + p p T q T p S q q T ST q T S q p = S +1 q S +1 = S + z z T + v v T p = S q + z z T q + v v T q z a v nejsou jednoznačné (1 rovnice a 2 neznámé) p S q = z z T q +v v T q Napřílad: 1 p = z z T q 2 S q = v v T q 4
ad 1 z = p z T q /zt z z T = p p T (z T q ) 2 p = z z T q /q T qt p = q T z z T q (z T q ) 2 = q T p z z T = p p T q T p ad 2 v = S q v T q /vt v v T = (S q )(S q ) T (v T q ) 2 S q = v v T q /q T qt S q = q T v v T q q T S q = (v T q ) 2 v v T = (S q )(S q ) T q T S q Metoda sdružených směrů, při volbě S 0 = I metoda sdružených gradientů (pro vadraticou funci) Zachovává pozitivní definitnost Citlivá na přesnost 1D minimalizace, neboť předpolad věty p T q > 0 je splněn při dostatečně přesném Line-search Prilady6 Ran2 DFPm Věta: Je-li p T q > 0 a je-li S symetricá pozitivně definitní, potom je i matice S +1 = S + p p T q T p S q q T ST q T S q pozitivně definitní BFGS (Broyden, Fletcher, Goldfarb, Shanno) metoda: Pomocí ran-two updatu aproximuji Hessovu matici H inverzi a teprve poté najdu její ta, aby q = H +1 p H +1 = H + z z T + v v T, H +1 = H + q q T q T p H p p T HT p T H p Najít S +1 = H 1 +1 5
Sherman-Morrisova formule: [H + uv T ] 1 = H 1 H 1 uv T H 1 1+v T H 1 u, de H Rn n, u, v R n Důaz: XY = Y X = I X = [H + uv T ] Y = [H + uv T ] 1 = H 1 H 1 uv T H 1 1 + v T H 1 u XY = ( H + uv ) ( ) T H 1 H 1 uv T H 1 = HH 1 +uv T H 1 HH 1 uv T H 1 H 1 uv T H 1 1 + v T H 1 u 1 + v T H 1 u uvt = 1 + v T H 1 u Y X analogicy = I + uv T H 1 u(1 + vt H 1 u)v T H 1 1 + v T H 1 u Po apliaci Sherman-Morrisovy formule (2x) platí: Odvození: S +1 = H 1 +1 = S +1 = S + 1 apliace formule: S +1 = H + 1 q T p q q T }{{} B ( 1 + qt S ) q p T p q T p p T q 1 p T H p H p } {{ } u = I p q T S + S q p T q T p p T H T }{{} v T [ ] 1 ( [ H + 1 ] 1 H + 1 q q T p q q T q q T T p 1 2 apliace formule: [ H }{{} B + 1 q T p q }{{} u Zachovává pozitivní definitnost q T }{{} v T 1 1 + (H p ) T [ H + 1 q T p q q T ] 1 = H 1 Obvyle má lepší výsledy než DFP metoda Prilady6 Ran2 BFGSm 6 ( H 1 = [B+uv T ] 1 = B 1 B 1 uv T B 1 1 + v T B 1 u ) [ p T H p H p (H p ) T H + 1 q q q T T p ] 1 ( ) 1 p T H p H p 1 q q T p 1 + q T H 1 ( ) q T H 1 1 q T p q ) ] 1
Věta: Nechť f(x) je dvarát spojitě diferencovatelná funce, nechť x 0 je počáteční přiblížení, pro teré je vrstevnicová oblast Γ f(x0 ) {x : f(x) f(x 0 )} onvexní množina, Hessova matice je na Γ f(x0 ) pozitivně definitní a f má na Γ f(x0 ) jednoznačné minimum Nechť S 0 je libovolná symetricá pozitivně definitní matice, potom posloupnost {x } generovaná BFGS algoritmem onverguje minimu x funce f(x) Věta: Nechť je Hessova matice H(x )Lipschitzovsy spojitá, f(x) je dvarát spojitě diferencovatelná a nechť posloupnost {x } generovaná BFGS algoritmem onverguje minimu x Dále nechť x x < Potom x onverguje x superlineární rychlostí =1 7
Broydenovy metody: Vážená ombinace S DF P a S BF GS, obě používají ran-two update de θ nemusí být onstatní S θ = (1 θ)s DF P + θs BF GS, Platí S+1 θ = SDF +1 P + θv v T, de vt = ( q T S q Pro vadraticý funcionál je jedno jaé θ volíme Zachovává pozitivní definitnost pro θ 0 p p T q ) S q q T H q Rozdíly v chování jsou podstatné pouze u nepřesného Line search Prilady6 Broydenm Věta: Předpoládejme Broydenovu metodu apliovanou na vadraticý funcionál f(x) = 1 2 xt Ax b T x se symetricou pozitivně definitní matici A, s počátečním přiblížením x 0 a libovolnou symetricou pozitivně definitní maticí S 0 Dále předpoládejme, že α je nalezeno exatně Potom tato metoda najde řešení po nejvýše m n rocích a navíc pro = 0,, m 1 platí: S θ +1 q j = p j, j = 0,, p T j Ap j = 0, j = 0,, 1, tj směry jsou sdružené Poud zvolíme S 0 = I, potom jde o metodu sdružených gradientů Poud m = n platí S θ n = A 1 8
Metoda nejmenších čtverců: Úloha najít x R n ta, aby min f(x), de f(x) má speciální tvar: x R f(x) = 1 2 m rj 2 = 1 2 r(x) 2, j=1 de r j : R n R jsou hladé funce, tzv rezidua Předpoládáme m n Matematicé modely mohou být formulovány parametricy (chemicé, fyziální, eonomicé parametry) a funce f(x) měří rozdíl mezi chováním modelu (teorií) a naměřenými hodnotami (praxí) Minimalizací vybereme taové hodnoty parametrů, teré nejvíce odpovídají měřeným datům Zdroj velého množství úloh nepodmíněné optimalizace Algoritmy využívají speciální struturu funce f(x) Přílad: Pacient dostane léy a v čase t se změří oncentrace léu v rvi, tj zísám naměřená data t j - čas a y j oncentrace Předchozí měření a pozorování vedou funci (model závislosti oncentrace léu na čase): φ(x; t) = x 1 + x 2 t + x 3 t 2 + x 4 e x 5t, de x = [x 1, x 2, x 3, x 4, x 5 ] T je vetor hledaných parametrů Chceme tyto parametry nalézt ta, aby se co nejvíce shodla sutečnost s modelem, tj 1 min x R 5 2 m [φ(x; t j ) y j ] 2, m 5 LSm Jiná možnost měření rozdílu mezi modelem a pozorováním: j=1 Jacobiho matice: max φ(x; t j) y j min r(x) j=1,,m x R j=1,,m J(x) = φ(x; t j ) y j min x R r(x) 1 r 1 r 1 x 1 r 2 r 2 x 1 r m x 1 r x 2 1 x n r x 2 2 x n = r m r x 2 m x n r 1 (x) T r 2 (x) T r m (x) T 9
Gradient a Hessova matice: Za předpoladu, že r (x) : R n R dostatečně hladé, potom f(x) = J(x)r(x), H(x) = J(x) T J(x) + de 2 r j (x) je Hessova matice funce r j (x) Lineární nejmenší čtverce: m r j (x) 2 r j (x), Část modelů jsou lineární funce, tj r j (x) jsou taé lineární: f(x) = 1 2 Jx y 2, r(x) = Jx y, f(x) = J T (Jx y), H(x) = J T J, 2 r j = 0 Stacionární bod: f(x) = J T (Jx y) = 0 J T Jx = J T y - soustava normálních rovnic Metody: Line search Modifiace Newtonovy metoda, vazi-newtonovy metody Gauss-Newtonova metoda: Modifiovaná Newtonova metoda: x +1 = x α H(x ) 1 g, tj řešíme j=1 H(x )d = g, α = min α R f(x + αd ), x +1 = x + α d Gauss-Newtonova metoda: H(x ) J T J a f(x ) = g = J T r tj řešíme J T J d = J T r, α = min α R f(x + αd ), x +1 = x + α d Nepotřebuji počítat (aproximace) druhé derivace Aproximace Hessovy matice H J T J je dobrá, poud veliost druhého členu, tj r j (x) 2 r j (x) bude výrazně menší než vlastní čísla matice J T J 10
Směr d je spádový, poud má matice J plnou sloupcovou hodnost Věta: Nechť funce r j (x) jsou Lipschitzovsy spojitě diferencovatelné na oolí omezené vrstevnicové oblasti Γ = {x f(x) f(x 0 )} Nechť pro Jacobiho matici J(x) existuje γ > 0 taové, že J(x)z γ z, nejmenší singulární číslo Jacobiho matice je odražené od nuly Potom pro iterace x generované Gauss-Newtonovou metodou, de α splňuje Wolfeho podmíny platí lim g = lim J T r = 0 Poud v Hessově matici H(x) = J(x) T J(x) + m r j (x) 2 r j (x) dominuje první člen a tedy aproximace je velmi dobrá, je onvergence rychlá (druhého řádu) j=1 11