Algoritmy numerické optimalizace. Michal Kočvara

Podobné dokumenty
Základní spádové metody

3. Přednáška: Line search

Numerické řešení nelineárních rovnic

10 Funkce více proměnných

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Primitivní funkce a Riemann uv integrál Lineární algebra Taylor uv polynom Extrémy funkcí více prom ˇenných Matematika III Matematika III Program

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Základy matematické analýzy

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Úlohy nejmenších čtverců

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

stránkách přednášejícího.

Arnoldiho a Lanczosova metoda

Co je obsahem numerických metod?

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Riemannův určitý integrál

Numerické metody optimalizace - úvod

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Numerické metody a programování. Lekce 8

Matematika 5 FSV UK, ZS Miroslav Zelený

4. Přednáška: Kvazi-Newtonovské metody:

Matematika V. Dynamická optimalizace

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Numerické řešení nelineárních rovnic

Lineární algebra : Metrická geometrie

Metoda sdružených gradientů

Numerická matematika 1

Interpolace, ortogonální polynomy, Gaussova kvadratura

Hledání extrémů funkcí

Připomenutí co je to soustava lineárních rovnic

Přednáška 11, 12. prosince Část 5: derivace funkce

Numerické řešení diferenciálních rovnic

Diferenˇcní rovnice Diferenciální rovnice Matematika IV Matematika IV Program

Aplikovaná numerická matematika - ANM

Základy maticového počtu Matice, determinant, definitnost

Princip řešení soustavy rovnic

Princip gradientních optimalizačních metod

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Soustavy lineárních rovnic

Matematická analýza pro informatiky I.

Nelineární optimalizace a numerické metody (MI NON)

Numerické metody a programování. Lekce 7

Přednáška 6, 6. listopadu 2013

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

FREDHOLMOVA ALTERNATIVA

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Numerické řešení nelineárních rovnic

Aplikovaná numerická matematika

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

1 Polynomiální interpolace

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Matematika 4 FSV UK, LS Miroslav Zelený

DRN: Kořeny funkce numericky

Singulární rozklad. Petr Tichý. 31. října 2013

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Definice : Definice :

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

5. Lokální, vázané a globální extrémy

Numerická stabilita algoritmů

Drsná matematika III 6. přednáška Obyčejné diferenciální rovnice vyšších řádů, Eulerovo přibližné řešení a poznámky o odhadech chyb

Matematika pro informatiky

Markov Chain Monte Carlo. Jan Kracík.

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

PŘEDNÁŠKA 2 POSLOUPNOSTI

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

1 Linearní prostory nad komplexními čísly

Co jsme udělali: Au = f, u D(A)


Limita a spojitost funkce a zobrazení jedné reálné proměnné

1 Množiny, výroky a číselné obory

2. Schurova věta. Petr Tichý. 3. října 2012

Michal Bulant. Masarykova univerzita Fakulta informatiky

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

EUKLIDOVSKÉ PROSTORY

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Vlastní čísla a vlastní vektory

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Uzavřené a otevřené množiny

Lineární algebra : Skalární součin a ortogonalita

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

Posloupnosti a řady. 28. listopadu 2015

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Přednáška 9, 28. listopadu 2014 Část 4: limita funkce v bodě a spojitost funkce

7 Ortogonální a ortonormální vektory

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

3. přednáška 15. října 2007

Lineární algebra : Násobení matic a inverzní matice

15 Maticový a vektorový počet II

Transkript:

Algoritmy numerické optimalizace Michal Kočvara 8. ledna 2004

2

Obsah 1 Úvod 5 1.1 Značení.................................. 5 1.1.1 Funkce............................... 5 1.1.2 Konvexita............................. 5 1.1.3 Matice............................... 5 1.1.4 Algoritmy............................. 6 1.2 Optimalizační úloha........................... 6 1.3 Klasifikace optimalizačních úloh..................... 6 1.3.1 Konvexní versus nekonvexní................... 6 1.3.2 Lokální versus globální...................... 6 1.3.3 Spojitá versus diskrétní..................... 7 1.3.4 Hladká versus nehladká..................... 7 1.3.5 Podmíněná versus nepodmíněná................ 7 I Nepodmíněná optimalizace 9 2 Podmínky optimality 13 2.1....................................... 13 3 Algoritmy 15 3.1 Úvod.................................... 15 3.2 Typy konvergence............................. 15 4 Metody typu line-search 17 4.1 Hledání délky kroku........................... 17 4.1.1 Testování délky kroku...................... 17 4.1.2 Volba nového α.......................... 19 4.1.3 Konečná terminace Wolfeho algoritmu............. 19 4.2 Konvergence metod typu line-search.................. 19 4.3 Hledání směrů poklesu.......................... 21 4.4 Rychlost konvergence........................... 21 4.4.1 Metoda největšího spádu.................... 21 4.4.2 Newtonova metoda........................ 22 4.4.3 Quasi-Newtonova metoda.................... 22 4.5 Metoda BFGS.............................. 24 4.6 Invariance Newtonovy a quasi-newtonovy metody, metrika..... 27 4.7 Praktické quasi-newtonovy metody................... 28 4.8 L-BFGS a CG............................... 29 4.9 Modifikované Newtonovy metody.................... 31 4.9.1 Volba E k............................. 31 3

4 OBSAH 5 Metody typu Trust-Region 33 5.1 Základní algoritmus........................... 33 5.2 Jak řešit (TRS)?............................. 36 5.2.1 Cauchyho bod.......................... 36 5.2.2 Metoda dogleg.......................... 37 5.3 Metoda Steihaugova........................... 38 5.4 Přesné řešení (TRS)........................... 39 5.4.1 Lehký případ........................... 40 5.4.2 Těžký případ (hard case).................... 40 5.5 Scaling................................... 41

Kapitola 1 Úvod 1.1 Značení 1.1.1 Funkce Necht f : R n R. Její gradient v bodě x R n je vektor f(x) x 1 f(x) =. f x n a její Hessián symetrická n n matice ( 2 2 ) f(x) f(x) = x i x j i,j=1,...,n Řekneme, že f je (spojitě) diferencovatelná jestliže pro všechna i existuje parciální derivace f(x)/ x i (a je spojitá). 1.1.2 Konvexita Řekneme, že množina S R n je konvexní, když x,y S platí αx + (1 α)y S α [0,1]. Funkce f : R n R je konvexní když x,y S platí f(αx + (1 α)y) αf(x) + (1 α)f(y) α [0,1]. Funkce f : R n R je konkávní když f je konvexní. 1.1.3 Matice Zavedeme množiny M m S m S m + reálné matice m m symetrické matice z M m symetrické pozitivně semidefinitní matice z M m Značení A 0 znamená, že matice A z S m je pozitivně semidefinitní. Podobně A 0 znamená, že A je pozitivně definitní. 5.

6 KAPITOLA 1. ÚVOD 1.1.4 Algoritmy V iteračních algoritmech pracujeme s posloupnostmi iteračních bodů x k R n, k = 1,2,... Hodnoty funkcí a jejich derivací v těchto bodech budeme často pro zjednodušení označovat f k = f(x k ), f k = f(x k ), 2 f k = 2 f(x k ) atd. 1.2 Optimalizační úloha Necht X R n a f : R n R. Optimalizační úlohou nazveme problém najdi x X aby f(x) f(x ) x X. (OÚ) 1.3 Klasifikace optimalizačních úloh 1.3.1 Konvexní versus nekonvexní Definice 1.3.1. (i) Řekneme, že x je globální řešení OÚ, jestliže f(x) f(x ) x X. (ii) x je lokální řešení OÚ, jestliže O ǫ(x) : f(x) f(x) x X O ǫ (x). Věta 1.3.1. Necht X je konvexní a f je (ryze) konvexní na X. Necht x X je lokální řešení OÚ. Potom x je (jednoznačné) globální řešení OÚ. Důkaz. Globálnost: Dle předpokladu O ǫ (x) : f(x) f(x) x X O ǫ (x). Předpokládejme, že x není globální řešení, tedy že ˆx X : f(ˆx) < f(x). Potom (konvexita f) λ (0,1) : f(λˆx + (1 λ)x) λf(ˆx) + (1 λ)f(x) < λf(x) + (1 λ)f(x) = f(x). Pro λ > 0 dostatečně malé je λˆx+(1 λ)x X O ǫ (x). Dostali jsem spor s definicí lokálního řešení. Jednoznačnost je triviální. Pro některé algoritmy pro konvexní optimalizační úlohy lze ukázat: pro danou úlohu, dané ε a počáteční aproximaci x 0 můžeme odhadnout počet aritmetických operací nutných k nalezení x takového, že x x ε. Takový odhad nelze provést pro žádný algoritmus nekonvexní optimalizace. Chceme-li tedy řešit (nelineární) optimalizační úlohu, naše první otázka by měla být: Je naše OÚ konvexní? 1.3.2 Lokální versus globální Většina algoritmů pro nelineární OÚ nalezne nanejvýš lokální řešení úlohy. Algoritmů pro hledání globálního minima zatím není mnoho, nejsou příliš robustní, nejsou vhodné pro problémy vyšší dimenze a často jsou založeny na heuristických myšlenkách a nemohou zaručit nalezení globálního optima. V tomto textu se budeme zabývat výhradně algoritmy pro hledání lokálních řešení. Je však třeba říci, že mnoho praktických úloh vyžaduje nalezení globálního minima a je velmi žádoucí vyvinout dobré globální algoritmy.

1.3. KLASIFIKACE OPTIMALIZAČNÍCH ÚLOH 7 1.3.3 Spojitá versus diskrétní V mnoha praktických úlohách je X Z n nebo X Z n1 R n2. Takové úlohy nazýváme úlohami diskrétní nebo celočíselné optimalizace. Tyto úlohy jsou v zásadě nekonvexní a vyžadujeme nalezení globálního řešení. V tomto textu se budeme zabývat pouze algoritmy pro úlohy spojité optimalizace. 1.3.4 Hladká versus nehladká Občas se setkáme s problémem minimalizace funkce, pro niž v některých bodech neexistuje gradient, tzv. nehladké (nediferencovatelné) funkce. To jsou například obecné konvexní funkce. Pro takové funkce byly vyvinuty speciální optimalizační algoritmy, pracující s tzv. subgradientem. Zde se budeme zabývat výhradně hladkou optimalizací 1.3.5 Podmíněná versus nepodmíněná Konečně, je-li X = R n, mluvíme o nepodmíněné optimalizaci. O ní pojednává první část tohoto textu. Druhá část se zabývá podmíněnou optimalizací, tedy případem, kdy X je podmnožinou R n (a X R n ).

8 KAPITOLA 1. ÚVOD

Část I Nepodmíněná optimalizace 9

11 V této části se budeme zabývat úlohou Najdi x X aby f(x) f(x ) x X (NO) kde f : R n R je dle potřeby jednou či dvakrát spojitě diferencovatelná a X = R n.

12

Kapitola 2 Podmínky optimality 2.1 Věta 2.1.1 (nutná podmínka 1. řádu). Necht x je lokální řešení NO a f spojitě diferencovatelná na otevřeném okolí x. Potom f(x ) = 0. Důkaz. Předpokládejme, že f(x ) 0. Označme p = f(x ); pak p T f(x ) = f(x ) < 0. Protože f je spojitá, existuje T > 0 takové, že Dle Taylorovy věty tedy p T f(x + tp) < 0 t [0,T]. t (0,T] t (0,t) : f(x + tp) = f(x ) + tp T f(x + tp) f(x + tp) < f(x ) t (0,T] takže f je klesající ve směru p a x není lokální řešení spor s předokladem věty. Věta 2.1.2 (nutná podmínka 2. řádu). Necht x je lokální řešení NO a 2 f spojitá na otevřeném okolí x. Potom f(x ) = 0 a 2 f(x ) 0. Důkaz. : Předpokládejme, že 2 f(x ) 0. Pak existuje p tak, že p T 2 f(x )p < 0. Ze spojitosti T > 0 t [0,T] : p T 2 f(x + tp)p < 0. Podle Taylorovy věty t (0,T] t (0,t) : f(x +tp) = f(x )+tp T f(x )+ 1 2 t2 p 2 f(x +tp)p < f(x ) což je spor. Věta 2.1.3 (postačující podmínka 2. řádu). Necht 2 f spojitá na otevřeném okolí x, f(x ) = 0 a 2 f(x ) 0. Potom x je striktní lokální minimum f. Důkaz. Ze spojitosti: r > 0 : 2 f(x) 0 na kouli B = {z z x < r}. Necht p R n, p 0 a p < r. Pak x + p B, tedy f(x + p) = f(x ) + p T f(x ) + 1 2 pt 2 f(z)p = f(x ) + 1 2 pt 2 f(z)p. kde z = x + tp, t (0,1). Protože z B, pak p T 2 f(z)p > 0 a tedy f(x + p) > f(x ). 13

14 KAPITOLA 2. PODMÍNKY OPTIMALITY

Kapitola 3 Algoritmy 3.1 Úvod Téměř všechny algoritmy nepodmíněné optimalizace 1 jsou algoritmy iterační. Je-li dána počáteční iterace x 0, generují posloupnost bodů x 0,x 1,x 2,... Algoritmus nazveme monotonním, jestliže Všechny algoritmy pak splňují pro dostatečně velké k a nějaké m > 0. 3.2 Typy konvergence f(x k ) < f(x k 1 ) k = 1,2,... f(x k ) < f(x k m ) Definice 3.2.1. (i) Optimalizační algoritmus (OA) konverguje globálně, když posloupnost iterací {x} k konverguje k lokálnímu řešení NO pro každé x 0. Definice 3.2.2. Necht x k x a označme q k = x k+1 x x k x. (i) OA konverguje lineárně, když limsup q k < 1. (ii) OA konverguje superlineárně, když lim q k = 0. (iii) OA konverguje kvadraticky, když x k+1 x = O( x k x 2 ). Konverguje-li OA kvadraticky, znamená to, že počet přesných cifer se v každé iteraci zhruba zdvojnásobí. 1 S výjimkou některých algoritmů pro minimalizaci kvadratických funkcí 15

16 KAPITOLA 3. ALGORITMY

Kapitola 4 Metody typu line-search Metody typu line-search (metody spádových směrů) jsou definovány následujícím schematickým algoritmem Algoritmus 4.0.1 (Algoritmus typu line-search koncept). Je dáno x 0. Pro k = 0,1,2,... (i) najdi směr (poklesu) d k (ii) najdi α k tak, aby x k + α k d k bylo lepší než x k (iii) x k+1 = x k + α k d k Metodám hledání směru v kroku (i) se budeme věnovat později. Nejprve se blíže podíváme na krok (ii) hledání přibližného minima jednodimenzionální funkce f(x + αd) (vzhledem k α). 4.1 Hledání délky kroku Chceme najít hodnotu parametru α tak, aby f(x + αd) bylo dostatečně lepší než f(x). Pro pevné x a d zavedeme funkci q(α) = f(x + αd). (4.1) V následujícím budeme předpokládat, že d je směr poklesu pro funkci f, tedy že q (0) < 0. Poznámka. Funkce q( ) není dána explicitním předpisem. Pro dané α musíme vždy vypočítat hodnotu q(α) a q (α) pomocí definice (4.1). Tento výpočet (zvláště výpočet derivace) může být drahý, proto se snažíme nalézt hodnotu α k+1 v kroku (ii) Algoritmu 4.0.1 v co nejmenším počtu kroků, také z toho důvodu, že krok (ii) se může opakovat mnohokrát. Na druhou stranu, obvykle není třeba hledat přesné (globální) minimum q; naším hlavním cílem je minimalizovat f. 4.1.1 Testování délky kroku Abychom definovali algoritmus hledání délky kroku, potřebujeme kritérium pro ověření kvality současného α. Definujme nejprve abstraktní podmínky (a), (b), (c). 17

18 KAPITOLA 4. METODY TYPU LINE-SEARCH Test pro α > 0: (a) α vyhovuje (b) α je příliš velké (c) α je příliš malé α q(0) Označme q(α) α L...příliš malé α, ležící nalevo od vyhovujícího α R...příliš malé α, ležící napravo od vyhovujícího Nyní můžeme definovat koncepční algoritmus pro hledání délky kroku Algoritmus 4.1.1 (Koncepční algoritmus pro hledání délky kroku).. (i) Zvol α > 0, α L, α R (např. α L = α R = 0) (ii) Proved test α. V případě (a) skonči (b) polož α R = α a jdi na (iii) (c) polož α L = α a jdi na (iii) (iii) Je-li α R = 0, zvol α > α L. Jinak zvol α (α L,α R ) a jdi na (ii). Klíčová otázka dobrého algoritmu je vhodná volba testu pro vyhovující α. První nápad je definovat test na základě podmínek optimality prvního řádu: (a) q (α) = 0 (b) q (α) > 0 (c) q (α) < 0 Tento test však nemusí vést na fungující algoritmus, protože funkce q je obecně nekonvexní. Co ve výše uvedeném testu chybí je kontrola poklesu q(α). Např. všechny tři body označené v obrázku vyhovují tomuto testu, přestože prostřední a pravý bod zjevně nevyhovují naší představě. V současné době nejpoužívanější test je tzv. Wolfeho test: Zvol 0 < m 1 < m 2 < 1 (a) q(α) q(0) + m 1 αq (0) a q (α) m 2 q (0) (skonči) (b) q(α) > q(0) + m 1 αq (0) (α R = α) (c) q(α) q(0) + m 1 αq (0) a q (α) < m 2 q (0) (α L = α) Tento test zaručí jak dostatečný pokles q(α), tak dostatečný nárůst q (α) vzhledem k α = 0.

4.2. KONVERGENCE METOD TYPU LINE-SEARCH 19 (a) (a) q(0) 4.1.2 Volba nového α m q (0) 2 Nové α v kroku (iii) Algoritmu 4.1.1 se nejčastěji volí podle následujícího předpisu: Extrapolace (α R není známo): Zvol α NEW α, např. α NEW = cα, c > 1 (c je pevné, např. c = 2). Interpolace (α R je známo): Zvol α L < α NEW < α R, např. α NEW = 1 2 (α L + α R ). 4.1.3 Konečná terminace Wolfeho algoritmu Wolfeho algoritmem nazveme algoritmus 4.1.1 s Wolfeho testem. Věta 4.1.1. Necht q C 1, zdola omezená. Potom Wolfeho algoritmus skončí v konečném počtu kroků. Důkaz. Rozlišíme případ extrapolace (nikdy nenastane případ (b) v kroku (ii)) a interpolace (případ (b) nastane alespoň jednou). Extrapolace. Předpokládejme sporem, že k (k značí krok algoritmu). Pak α a q(α) q(0) + m 1 αq (0), tedy q(α), což je spor s předpokladem omezenosti q. Interpolace. Předpokládejme opět, že k. Potom α : α L α, α R α. Z podmínek (b) a (c) pak plyne q(α ) = q(0) + m 1 α q (0). Protože α R > α α R, platí dále (podmínka (b)) q(α R ) > q(0) + m 1 q (0)(α + α R α ) = q(α ) + m 1 q (0)(α R α ). Dělíme-li tento vztah (α R α ), dostaneme v limitě pak q(α R ) q(α ) α R α > m 1 q (0), q (α ) m 1 q (0) > m 2 q (0). Naopak z podmínky (c) dostaneme v limitě a to je spor. q (α ) m 2 q (0) 4.2 Konvergence metod typu line-search Chování algoritmu 4.0.1 je dáno volbou směru d k a délkou kroku α k. Volbou d k se budeme detailně zabývat v příští kapitole, zde nejprve odvodíme nutnou podmínku pro d k, která zaručuje konvergenci algoritmu 4.0.1.

20 KAPITOLA 4. METODY TYPU LINE-SEARCH Označme cos θ k = dt k f k f k d k. θ k je tedy úhel mezi směrem záporného gradientu f (tj. směrem největšího poklesu) a směrem d k. Abychom dostali konvergentní algoritmus, musí být cosθ k dostatečně kladný jak to specifikuje následující lemma. Lemma 4.2.1. Uvažujme algoritmus 4.0.1 s konkrétní volbou d k a α k. Necht pro všechna k platí r cos 2 θ k ( f k ) 2 f(x k ) f(x k+1 ) (4.2) kde r > 0 nezávisí na k. Jestliže potom (i) bud f(x k ) (ii) nebo liminf f k = 0. řada cos 2 Θ k diverguje, (4.3) k=1 Důkaz. Je-li posloupnost {f(x k )} zdola omezená hodnotou f, pak cos 2 Θ k f k 2 1 r k=1 (f(x k ) f(x k+1 )) 1 r (f(x 1) f ) < +. k=1 Kdyby f k δ > 0, pak by nutně platilo δ 2 cos 2 Θ k < a to je spor s předpokladem. Věta 4.2.2 (Zoutendijk). Necht algoritmus 4.0.1 splňuje Wolfeho test. Je-li f Lipschitzovsky spojitý na okolí O = {x f(x) f(x 0 )}, pak platí (4.3). Důkaz. Z Wolfeho podmínky především plyne, že x k O. Dle definice q(α) a θ platí pro všechna k α k q (0) = α k d T k f k = α k cos θ k f k d k = cos θ k x k+1 x k f k. Z Wolfeho podmínky (a) 1 tedy plyne (připomeňme, že q(0) = f(x k ), q(α) = f(x k+1 )) m 1 cos θ k f k x k+1 x k f(x k ) f(x k+1 ). (4.4) Z podmínky (a) 2 pak plyne (odečteme-li d T k f k na obou stranách nerovnosti) d T k ( f k+1 f k ) (m 2 1)d T k f k = (1 m 2 )cos θ k f k d k. Necht L je Lipschitzovská konstanta pro f; z Cauchy-Schwarzovy nerovnosti plyne Dělíme-li obě nerovnosti d k, máme k=1 d T k ( f k+1 f k ) L x k+1 x k d k. (1 m 2 )cos θ k f k L x k+1 x k. Vynásobíme-li obě strany f k a použijeme-li (4.4), dostáváme (4.3) s r = m 1 (1 m 2 )/L.

4.3. HLEDÁNÍ SMĚRŮ POKLESU 21 4.3 Hledání směrů poklesu Připomeňme, že v metodách typu line-search počítáme novou iteraci formulí x k+1 = x k + α k d k. Směr d k je směrem poklesu, pokud je směrová derivace f v bodě x k a ve směru d k záporná, tedy pokud d T k f k < 0. Při hledání d k budeme uvažovat metody založené na vzorci kde B k S n je regulární. Protože platí, že d k = B 1 k f k d T k f k = f T k B 1 k f k, d k je směrem poklesu, právě když B k je positivně definitní. Různou volbou B k dostaneme různé metody typu line-search. Dvěma extrémními volbami dostaneme dvě známé metody: B k = I B k = 2 f k... metoda největšího spádu... Newtonova metoda Pokud je B k aproximací 2 f k, hovoříme o quasi-newtonově metodě (metodě s proměnnou metrikou). V metodách tohoto typu je nová aproximace B k počítána z B k 1 aktualizací B k = B k 1 + W k 1... quasi-newtonova metoda Věta 4.3.1 (globální konvergence quasi-newtonovy metody). Necht B k 0, B k B 1 k M k a algoritmus typu line-search splňuje Wolfeho podmínku. Pak je tento algoritmus globálně konvergentní. Důkaz. Z předpokladů na B k plyne, že cos θ k 1/M (použitím B k x Aplikací Lemma 4.2.1 (Zoutendijk) dostaneme liminf f k = 0. x B 1 k ). 4.4 Rychlost konvergence Zopakujme nejprve pro úplnost známé věty pro dvě krajní metody, metodu největšího spádu a metodu Newtonovu. 4.4.1 Metoda největšího spádu Věta 4.4.1. Necht f je dvakrát spojitě diferencovatelná. Necht {x k } je generovaná metodou největšího spádu (tedy B k = I) s přesným hledáním délky kroku. Předpokládejme, že x k x a 2 f(x ) 0. Potom ( ) 2 λn λ 1 f(x k+1 ) f(x ) (f(x k ) f(x )), λ n + λ 1 kde λ 1... λ n jsou vlastní čísla 2 f(x ). Důkaz. Důkaz lze nalézt v základní literatuře. Jak je vidět, rychlost konvergence metody je pouze lineární a závislá na podmíněnosti Hessiánu. Například pro cond ( 2 f(x )) 800 (což je relativně velmi dobře podmíněný problém) a f(x 1 ) = 1, f(x ) = 0, je koeficient lineární konvergence q k 0.9975. To znamená, že f(x 1000 ) 0.08, což je velmi pomalá konvergence.

22 KAPITOLA 4. METODY TYPU LINE-SEARCH 4.4.2 Newtonova metoda Věta 4.4.2. Necht 2 f je spojitý a invertibilní v okolí řešení x. Potom Newtonova metoda konverguje superlineárně. Je-li navíc f C 3, konvergence je kvadratická. Důkaz. Označme r zbytek v Taylorově rozvoji 2. řádu: (0 =) f(x ) = f(x) + 2 f(x)(x x) + r(x x). Označme dále x + = x + d, kde d je Newtonův směr, tedy Odečtením obou rovnic dostáváme 0 = f(x) + 2 f(x)(x + x). 0 = 2 f(x)(x x + ) + r(x x) Z předpokladů spojitosti a invertibility pak plyne x x + M r(x x), kde ( 2 f) 1 M Z definice a spojitosti dostáváme r(x x) = o( x x ) (superlineární konvergence). Pro f C 3 pak analogickým postupem dostaneme r(x x) = O( x x 2 ), tedy kvadratickou konvergenci. 4.4.3 Quasi-Newtonova metoda Předpokládejme nyní, že B k 0 k, a že délka kroku α splňuje Wolfeho podmínky. Předpokládejme navíc, že při určování délky kroku vždy nejprve zkusíme krok α k = 1, vyhovuje-li Wolfeho testu. Uvedeme nejprve bez důkazu obecnou větu o rychlosti konvergence. Poté dokážeme speciální případ této věty. Věta 4.4.3 (Dennis-Moré). Necht f je třikrát spojitě diferencovatelná. Necht dále x k+1 = x k + α k d k, d k je směr poklesu a α k splňuje Wolfeho podmínku s m 1 1/2. Jestliže x k x, f(x ) = 0 a 2 f(x ) 0, a jestliže navíc d k splňuje potom f k + 2 f k d k lim = 0, (4.5) k d k (i) k 0 : α k = 1 splňuje Wolfeho podmínku pro k k 0 (ii) když α k = 1 pro k k 0, {x k } konverguje superlineárně. Pro d k = B 1 k f k je podmínka (4.5) ekvivalentní tzv. Dennis-Morého podmínce (B k 2 f(x ))d k lim = 0. (4.6) k d k K důkazu superlineární konvergence tedy stačí ukázat, že B k konverguje k Hessiánu 2 f(x ) pouze po směrech d k (nikoli všude). Následující lemma uvádí alternativní podmínku superlineární konvergence. Lemma 4.4.4 (kritérium superlineární konvergence). Necht g : R n R n, x k x a g(x ) = 0. Necht g je spojitý na okolí x a g(x ) je invertibilní. Potom q k := x k+1 x x k x 0 g(x k+1) x k+1 x k 0.

4.4. RYCHLOST KONVERGENCE 23 Důkaz. Pro obecné k označme x := x k, x + := x k+1. Označme G střední hodnotu g mezi x + a x : g(x + ) = 0 + G(x + x ). Ze spojitosti g plyne, že G je omezená a stejnoměrně invertibilní ve smyslu l,l > 0 l g + x + x L g + pro x + blízko x (L = G 1 a l = G 1 ). Dělíme pravou stranu x + x a použijeme trojúhelníkovou nerovnost: L g + x + x x + x x + x x + x x + x + x x = g + Jestliže 0, pak q 0 a dostáváme. x + x K důkazu použijeme identitu g + x + x = g + x + x x + x x x x x x + x. q 1 + q. První zlomek na pravé straně je menší než 1/l, druhý je roven q (jdoucímu k nule). Stačí ukázat omezenost třetího: x x x + x x x x x + x x = 1 q kde 1 q je zdola omezeno pro q 0 (například jednou polovinou). Věta 4.4.5 (Dennis-Moré pro quasi-newtonovu metodu). Necht je třikrát spojitě diferencovatelná. Necht dále x k+1 = x k + d k (tedy α k = 1 k) a d k = B 1 k f k. Konečně necht x k x, f(x ) = 0 a 2 f(x ) 0. Potom {x k } konverguje superlineárně, právě když platí podmínka (4.6). Důkaz. Přepíšeme nejprve podmínku (4.6) jako v k := (B k 2 f(x )) x k+1 x k x k+1 x k 0 Použijeme opět zkrácené značení x := x k, x + := x k+1. Z definice (d k = B 1 k f k) platí (B k 2 f(x ))(x + x) = f(x) 2 f(x )(x + x) Označme G střední hodnotu 2 f mezi x a x + : Potom = f(x + ) f(x) 2 f(x )(x + x) f(x + ). f(x + ) f(x) = G(x + x) (B k 2 f(x ))(x + x) = (G 2 f(x ))(x + x) f(x + ). (4.7) Dělením x + x a znormováním dostaneme v G 2 f(x ) + f(x +) x + x a (převede levou stranu v (4.7) doprava a f(x + ) doleva) f(x + ) x + x G 2 f(x ) + v Protože f(x + ) 0 a G 2 f(x ) 0 (ze spojitosti), dostáváme tvrzení věty.

24 KAPITOLA 4. METODY TYPU LINE-SEARCH 4.5 Metoda BFGS Připomeňme, že v quasi-newtonově metodě počítáme nový směr jako d k = B 1 k f k, kde B k je aproximací 2 f k. Aby metoda byla výpočetně levná a přitom efektivní, klademe na B k následující požadavky (i) B k je počítána rekurzivně podle vzorce B k+1 = B k +M k, kde M k je jednoduchá (má hodnost 1 2) (ii) B k 0, symetrická pro všechna k (iii) B k splňuje tzv. quasi-newtonovskou rovnici (qn rovnici, sečnou rovnici) kde s k = x k+1 x k a y k = f k+1 f k. B k+1 s k = y k (4.8) (iv) B k+1 je nejbližší matice k B k splňující (ii)-(iii) v tom smyslu, že řeší úlohu min B B B k s.t. B = B T, Bs k = y k. (4.9) Poznámka. qn rovnice je motivována následující úvahou. Označme m k+1 (d) = f k+1 + f T k+1d + 1 2 dt B k+1 d kvadratický model f v x k+1. Rozumný požadavek na m k+1 je, aby její gradient v současném bodě x k+1 a v předcházejícím bodě x k byl roven gradientu f v těchto bodech. V bodě x k+1 je m k+1 (0) = f k+1 a náš požadavek je splněn automaticky. V bodě x k pak chceme, aby m k+1 ( α k d k ) = f k+1 α k B k+1 d k = f k. Z druhé rovnice dostáváme okamžitě qn rovnici. Různé varianty quasi-newtonovy metody nyní dostaneme různou volbou normy v (4.9). Davidon (1959) navrhl použít normu A W = W 1 2 AW 1 2 F (zde M F = m 2 ij je Fredholmova norma) 1 kde W splňuje Wy k = s k. Konkrétně navrhl požít W = G k, kde G k je průměrný Hessián 1 G k = 2 f(x k + τα k d k )dτ. (4.10) 0 Pro tuto volbu normy lze explicitně vyřešit úlohu (4.9). Jejím řešením je matice B k+1 = (I y ks T k yk Ts )B k (I s kyk T k yk Ts ) + y kyk T k yk Ts k ((DFP) B ) Tato metoda byla na počátku 60. let rozpracována a popularizována Fletcherem a Powellem, odtud její název DFP. Z Sherman-Morrison-Woodburyho formule (viz dodatek) dostaneme vzorec pro aktualizace inverse B k, označme ji W k := B 1 k : W k+1 = W k + s ks T k yk Ts W ky k yk TW k k yk TW. ((DFP) W ) ky k Z praktického hlediska je výhodné mít aktualizační formuli nikoli pro B k ale pro její inverzi W k. K tomu můžeme použít výše odvozený vzorec. Můžeme ovšem

4.5. METODA BFGS 25 aplikovat Davidonův postup přímo na aproximaci ( 2 f) 1, kde ve (iv) nahradíme optimalizační úlohu v B úlohou min W W W k s.t. W = W T, Wy k = s k. Jejím řešením dostaneme následující aktualizační formuli: W k+1 = (I s kyk T yk Ts )W k (I y ks T k k yk Ts ) + s ks T k k yk Ts k ((BFGS) W ) Tato formule (a z ní odvozená metoda) dostala název po svých (nezávislých) objevitelích Broyden-Fletcher-Goldfarb-Shanno, tedy BFGS. Podobně jako u DFP, můžeme použít Sherman-Morrison-Woodburyho formuli k odvození BFGS vzorce pro B k : B k+1 = B k + y kyk T yk Ts B ks k s T k B k k s T k B. ((DFP) B ) ks k Protože matice je symetrická pozitivně definitní právě když totéž platí pro její inverzi, pozitivní definitnost (DFP) a (BFGS) jsou ekvivalentní vlastnosti. Následující věta ukazuje, že (DFP) (a tedy i (BFGS)) zachovává pozitivní definitnost za předpokladu, že součin y T s je kladný. Věta 4.5.1. Necht B k 0. Potom y T s > 0 právě když B k+1 z (DFP) B je pozitivně definitní. Důkaz. B k+1 je zjevně symetrická pokud je symetrická B k. Tuto implikaci dostaneme z qn rovnosti B k+1 s = y přenásobením zleva s T. Necht u 0 a položme v = u yt u y T s. Pak s u T B k+1 u = v T B k v + (ut y) 2 což je součet dvou nezáporných členů. Je-li první z nich nenulový, jsme hotovi. V opačném případě je v = 0 (B k je pozitivně definitní) a proto u = yt u y T s je paralelní s k s. Navíc je y T u 0 (jinak by bylo u = 0). Tedy druhý člen je nenulový a proto kladný dle předpokladu. Poznámka. y T s > 0 plyne z Wolfeho podmínky! Poznámka. V jednodimenzionálním případě (n = 1) je W k+1 = s/y a jeden krok qn metody se redukuje na x k+1 = x k s T y x k x k 1 f k f k 1 f k což je známá metoda sečen pro řešení rovnic v jedné dimenzi. Následující věta dokazuje globální konvergenci metody BFGS. Přes usilovnou snahu mnoha matematiků se dosud podařilo dokázat tvrzení věty pouze pro konvexní funkce. Věta 4.5.2 (globální konvergence BFGS). Necht f je konvexní, dvakrát spojitě diferencovatelná. Necht existuje m > 0 a M > 0 tak, že m z 2 z T 2 f(x)z M z 2 pro všechna z R n a všechna x Ω := {y f(y) f(x 0 )}. Potom BFGS algoritmus s Wolfeho podmínkou generuje {x k } takovou, že x k x, kde x je řešení NO.

26 KAPITOLA 4. METODY TYPU LINE-SEARCH Důkaz. Z předpokladu plyne 2 f 0, takže f má jednoznačné globální minimum. Připomeňme, že G k označuje průměrný Hessián (viz (4.10)) splňující y k = G k s k. Označme z k = G 1 2 k s k = G 1 2 k y k. Potom m k = yt k s k s T k s k Z formule (BFGS) B plyne Definujeme = st k G k s k s T k s k m tr B k+1 = trb k + y k 2 cos θ k = st k B ks k s k B k s k, tedy θ k je úhel mezi s k a B k s k. Potom Dále platí Definujme M k = yt k y k y T k s k y T k s k = zt k G k z k z T k z k B ks k 2 s T k B ks k. q k = st k B ks k s T k s k B k s k 2 s T k B ks k = B ks k 2 s k 2 (s T k B ks k ) 2 s T k B ks k s k 2 = q k cos 2 θ k. yk T det B k+1 = detb s k s T k s k k s T k B ks k s T k s k ψ(b) = tr B log(detb). = detb k m k q k. M. Lze snadno ukázat, že ψ(b) > 0 (použij ψ(b) = (λ i log λ i ), kde λ i jsou vlastní čísla B). Použitím výše odvozených formulí pak dostaneme q k ψ(b k+1 ) = ψ(b k ) + M k cos 2 log m k + log q k θ k [ = ψ(b k ) + (M k log m k 1) + 1 q ] k q k cos 2 + log θ k cos 2 + log cos 2 θ k. θ k Protože 1 t + log t 0 t > 0, je obsah hranaté závorky nekladný, takže 0 < ψ(b k+1 ) ψ(b 1 ) + ck + k log cos 2 θ j kde předpokládáme, že c = M log m 1 > 0. Ze Zoutendijkovy věty 4.2.1 plyne, že f k 0, když cos θ j 0. Předpokládejme tedy sporem, že cos θ j 0. Pak existuje k 1 > 0 tak, že j > k 1 Tedy k > k 1 log cos 2 θ j < 2c. j=1 k 1 0 < ψ(b 1 ) + ck + log cos 2 θ j + j=1 k j=k+1 k 1 = ψ(b 1 ) + log cos 2 θ j + 2ck 1 ck. j=1 Pro dostatečně velká k je pravá strana záporná, což je spor. ( 2c) Věta 4.5.3 (lokální konvergence BFGS). Necht f je dvakrát spojitě diferencovatelná a posloupnost iterací {x} k generovaná metodou BFGS konverguje k x v němž je 2 f Lipschitzovský. Potom {x k } konverguje superlineárně. Důkaz. [?, Theorem 8.6]

4.6. INVARIANCE NEWTONOVY A QUASI-NEWTONOVY METODY, METRIKA27 4.6 Invariance Newtonovy a quasi-newtonovy metody, metrika Uvažujme afinní lineární transformaci y = Ax + a s regulární maticí A. Funkce f se tedy transformuje Pak pro gradient a Hessián platí Věta 4.6.1. Necht B k splňuje f y (y) = f x (A 1 (y a)). x f x = A T y f y a 2 xxf x = A T 2 yyf y A. B k,x = A T B k,y A (4.11) pro všechna k. Potom je metoda typu line-search x k+1 = x k α k B 1 k f k invariantní vůči afinní transformaci. Důkaz. Důkaz provedeme indukcí. Pro k = 1 (počáteční iteraci) máme okamžitě y 1 = Ax 1 + a. Pro k > 0 potom y k+1 = y k α k B 1 k,y yf k,y = Ax k + a α k AB 1 k,x AT A T f x = Ax k+1 + a. Poznámka. Newtonova metoda je afinně invariantní (Hessián splňuje (4.11)) metoda největšího spádu není afinně invariantní (B k = I a identita samozřejmě nesplňuje (4.11)) qn metoda s B 0 = I není invariantní, ale pro vyšší k je téměř invariantní. BFGS (DFP) metoda s B 0 = 2 f 0 je afinně invariantní. Je-li metoda afinně invariantní, pak iterační historie nezávisí na afinní tranformaci proměnných; metoda je tedy odolná vůči špatné podmíněnosti. Směr d k v metodě největšího spádu (tedy záporný gradient v x k ) můžeme jiným způsobem definovat jako x k,r x k d k = lim (4.12) r 0 x k,r x k 2 kde x k,r minimalizuje funkci f na r-okolí bodu x k. Podobně pak lze odvodit, že směr d k v Newtonově metodě je směrem největšího spádu ve smyslu definice (4.12) s metrikou danou normou = 2 f(x k ). Stejně tak quasi-newtonova metoda je metodou největšího spádu s metrikou = Bk. Z toho důvodu se qn metodě rovněž říká metoda s proměnnou metrikou.

28 KAPITOLA 4. METODY TYPU LINE-SEARCH 4.7 Praktické quasi-newtonovy metody V metodě BFGS aproximujeme Hessián 2 f maticí B k, přičemž B k+1 počítáme podle schematického vzorce B k+1 = B k + γγ T + B k δδ T B k kde γ a δ jsou nějaké vektory. Podobně počítáme W k, aproximaci inverse Hessiánu. Z výše uvedeného vzorce vidíme, že (pro k > 1) matice B k je vždy plná (protože dyadický součin vektorů je obecně plná matice). A to i v případě, kdy samotný Hessián je matice řídká! Z této úvahy je patrné, že metoda BFGS je vhodná pouze pro malé a střední úlohy, ale naprosto nevhodná pro úlohy velké dimenze. Pamět nutná k uložení jedné (plné) matice B k je úměrná n 2. Počítáme-li ve dvojité přesnosti, kdy jedno číslo potřebuje 8 Bytů, pak pro úlohu dimenze n = 10000 potřebujeme 8 (10 4 ) 2 1 GByte. To je ještě na hranici současné (dostupné) techniky. Problémy vyšší dimenze jsou pak z důvodu omezené paměti prakticky neřešitelné Víme-li, že Hessián našeho problému velké dimenze je (velmi) řídký, můžeme v takovém případě použít Newtonovu metodu kombinovanou s efektivní metodou na řešení soustav rovnic s řídkou maticí. Pokud to ovšem nevíme, či pokud je výpočet Hessiánu příliš drahý, je naším východiskem tzv. BFGS metoda s omezenou pamětí. Dříve než tuto metodu zavedeme, uved me algoritmus, kterým lze alternativně počítat BFGS aktualizaci. Algoritmus uvedeme pro matici W, aproximaci inverze Hessiánu. Algoritmus je založen na myšlence, že v praxi nepotřebujeme explicitně matici W, ale pouze její násobek vektorem g, tedy d = Wg. Připomeňme, že s i = x i+1 x i a y i = f i+1 f i. Algoritmus 4.7.1 (m-tá BFGS aktualizace). Máme dáno W 0, f m, páry (s i,y i ),i = 1,...m. Chceme spočítat d = Wg, kde W je m-tá BFGS aktualizace W 0. Položíme d = h m, kde h m spočítáme ve dvou krocích (i) q m = g; for i = m,...,1 do (ii) h 0 = W 0 q 0 ; for i = 1,...,m do γ i = st i qi s T i y, q i 1 = q i γ i y i i β i = yt i hi 1 yi Ts, h i = h i 1 + (γ i β i )s i. i Použijeme-li tento algoritmus místo explicitní formule (BFGS) W pro W k+1, nemusíme ukládat celou (plnou) matici W k+1, stačí uložit pouze páry (s k,y k ). Naše potíže s pamětí pro úlohy velké dimenze jsou tedy odstraněny. Vyvstává ovšem nová potíž: pro k n je Algoritmus 4.7.1 příliš drahý (vyžaduje příliš mnoho operací) a prakticky nepoužitelný. Nasnadě je tedy myšlenka algoritmu přibližného, který nepoužívá pro výpočet d = Wg všech párů (s k,y k ), ale pouze posledních m, kde m je relativně malé. Tím se dostáváme k algoritmu L-BFGS (od Limited Memory BFGS), jehož k-tá iterace je definována následovně: Algoritmus 4.7.2 (k-tá iterace L-BFGS).. (i) s 1 = x k m+1 x k m,...,s m = x k x k 1 y 1 = f k m+1 f k m,...,y m = f k f k 1 Zvol W 0.

4.8. L-BFGS A CG 29 (ii) Spočítej d k = W k f k pomocí Algoritmu 4.7.1. (iii) x k+1 = x k + α k d k, kde α k splňuje Wolfeho podmínku (iv) k = k + 1 Poznámka. U standardní (plné) BFGS metody není volba W 0 příliš důležitá a po dostatečném počtu kroků (limitně) nemá vliv na chování algoritmu. Hraje ale roli v prvních (desítkách) iterací a je tedy důležitá v metodě L-BFGS, kde m 10 30. Osvědčená volba je Wk 0 = st k 1 y k 1 yk 1 T y I. k 1 Teoreticky lze očekávat, že L-BFGS konverguje tím rychleji, čím vyšší zvolíme m. V praxi však zcela stačí volit m 20. Pro vyšší hodnoty neúměrně roste výpočetní komplexita algoritmu 4.7.1. Množství praktických testů navíc ukázalo, že volba m 20 je optimální nezávisle na n, tedy pro úlohy malé i velké dimenze. 4.8 L-BFGS a CG V současné době neexistuje teorie rychlosti konvergence metody L-BFGS. Lze však ukázat zajímavý vztah L-BFGS k nelineární variantě metody sdružených gradientů (CG). Připomeňme, že CG, jakožto metodu pro řešení soustev lineárních rovnic, lze rovněž chápat jako metodu pro nepodmíněnou minimalizaci kvadratické funkce f(x) = 1 2 xt Ax bx se symetrickou pozitivně definitní maticí A. Připomeňme základní algoritmus: Algoritmus 4.8.1 (CG pro kvadratické funkce). Je dáno x 0. Polož r 0 = Ax 0 b, p 0 = r 0. for k = 0,1,2... α k = rt k r k p T k Ap k x k+1 = x k + α k p k r k+1 = r k + α k Ap k...(přesný) line-search...r k+1 = f(x k+1 ) rekurzivně β k+1 = rt k+1 r k+1 r T k r k p k+1 = r k+1 + β k+1 p k...p k+1 je nový směr poklesu end Je známo, že tento algoritmus splňuje řadu podmínek, např. podmínky ortogonality r T k r k = 0 a p T k Ap k = 0 i = 1,...,k 1. Pro CG metodu existuje obsáhlá teorie. Základní věta říká, že pokud A má r různých vlastních čísel, pak CG skončí v nejvýše r krocích v přesném řešení (počítáme-li v přesné aritmetice). Dále je známo, že rychlost konvergence CG závisí jednak na podmíněnosti matice A, jednak na rozložení jejich vlastních čísel. Z toho důvodu se ke zvýšení rychlosti konvergence používá tzv. předpodmínění. Pro obecnou (nekvadratickou) funkci f existují různá zobecnění algoritmu 4.8.1. Nejpřímější je zobecnění navržené Fletcherem a Reevesem:

30 KAPITOLA 4. METODY TYPU LINE-SEARCH Algoritmus 4.8.2 (FR-CG pro nepodmíněnou minimalizaci). Je dáno x 0. Polož p 0 = r f(x 0 ). for k = 0,1,2... použij line-search k nalezení α k x k+1 = x k + α k p k end β FR k+1 = ft k+1 f k+1 f k 2 p k+1 = f k+1 + β FR k+1 p k Jiné varianty CG metody pro nelineární funkce se liší způsobem výpočtu koeficientu β. Nejznámější je metoda Polak-Riviére (PR-CG): a metoda Hestenes-Stiefel (HS-CG): β PR k+1 = ft k+1 ( f k+1 f k ) f k 2 β HS k+1 = ft k+1 ( f k+1 f k ) ( f k+1 f k ) T p k. Lze snadno nahlédnout, že všechny tyto metody jsou identické s Algoritmem 4.8.1 pokud f je konvexní kvadratická funkce. Jaký je vztah těchto metod k metodě (L-)BFGS? Připomeňme opět, že s k = x k+1 x k = α k p k, y k = f k+1 f k. Nový směr poklesu je v metodě HS-CG dán formulí p k+1 = f k+1 + ft k+1 y k y T k p k ( = I s kyk T ) yk Ts Ŵk+1 f k+1. k To připomíná jeden krok qn metody, nicméně matice Ŵk+1 není ani symetrická ani pozitivně definitní. Můžeme použít její symetrizaci Ŵ T k+1ŵk+1, ta ale nesplňuje qn rovnici Ŵk+1y k = s k. Aby tato rovnice byla splněna, lze použít následující modifikaci Ŵk+1: ( W k+1 = I s kyk T ) ( yk Ts I y ks T ) k k yk Ts + s ks T k k yk Ts. k To je ale přesně matice kterou dostaneme jednou BFGS aktualizací z matice identické W 0 = I. Uvažujme nyní CG metodu s přesným hledáním délky kroku, tedy takovou, že f T k+1 p k = 0. Pak lze snadno ukázat, že W k+1 f k+1 = Ŵk+1 f k+1, a dále že metoda HS-CG je ekvivalentní s PR-CG. Závěr tedy je, že (za předpokladu přesné délky kroku) metoda PR-CG je ekvivalentní s metodou BFGS s restartem W k = I v každém kroku; metoda PR-CG je ekvivalentní s metodou L-BFGS s m = 1, W 0 = I.

4.9. MODIFIKOVANÉ NEWTONOVY METODY 31 4.9 Modifikované Newtonovy metody Minimalizujeme-li nekonvexní funkci f Newtonovou metodou s omezeným krokem (line-searchem), může se stát, že dojdeme do bodu x k, v němž je Hessián 2 f(x k ) indefinitní nebo singulární. V tom případě nemá kvadratický model konečné minimum, nový směr d k není směrem poklesu a celá metoda havaruje, protože nenajde odpovídající krok, splňující Wolfeho podmínku. V takovém případě můžeme zkusit modifikovat Hessián tak, aby se celé jeho spektrum posunulo do kladného oboru. Algoritmus 4.9.1 (modifikovaná Newtonova metoda s omezeným krokem). Je dáno x 0. Pro k = 0,1,2,... (i) polož B k = 2 f(x k ) + E k, kde E k = 0, je-li 2 f(x k ) 0, nebo takové, aby B k 0 (ii) d k = B 1 k f(x k) (iii) najdi α k splňující Wolfeho podmínku (iv) x x+1 = x k + α k d k Snadno lze ukázat globální konvergenci této metody. Věta 4.9.1. Necht f je dvatkát spojitě diferencovatelná na D a {x D : f(x) f(x 0 )} je kompaktní. Necht cond (B k ) C k = 0,1,2... Potom lim f(x k) = 0. k Důkaz. Plyne ze Zoutendijkovy věty 4.2.1. Co se týká rychlosti konvergence, je zřejmé, že platí-li E k = 0 pro k k 0, metoda se stane standardní Newtonovou metodou a konvergence je kvadratická. Pokud je však Hessián v bodě řešení singulární či téměř singulární, je E k 0 pro všechna k a rychlost je pouze lineární. (Všimněte si, že při volbě E k = I f(x k ) dostaneme metodu největšího spádu.) 4.9.1 Volba E k Protože E k musí být dostatečně jednoduchá, nejčastější volbou je násobek identické matice E k = τ k I, kde τ k > λ min 2 f(x k ) a λ min je nejmenší vlastní číslo Hessiánu v x k. Zbývá otázka, jak levně odhadnout λ min. K tomu se používá následující algoritmus. Označme H := 2 f a její prvky h ij. Algoritmus 4.9.2.. Zvol β > 0 je-li min i h ii > 0, polož τ 0 = 0, jinak τ 0 = β/2. for k = 0,1,2,... zkus provést Choleského rozklad LL T = H + τ k I ; end je-li úspěšný, skonči s τ = τ k jinak τ k+1 = max(2τ k,β/2);

32 KAPITOLA 4. METODY TYPU LINE-SEARCH Příklad Necht f je nekonvenxní funkce, jejíž gradient a Hessián v bodě ξ = (2, 1) je ( ) ( ) 4 f = 2 2 0 f =. 2 0 2 Její kvadratický model v tomto bodě je tedy funkce x 2 1 x 2 2 jejíž isočáry jsou znázorněny na obrázku (funkce je konvexní v horizontální ose a konkávní v ose vertikální). d y ζ g ξ x Standardní Newtonova metoda by dala směr jdoucí do počátku, tedy směr vzrůstu. Jeden krok metody největšího spádu pak jde do bodu η. Modifikací Hessiánu s τ = 3 dostaneme pozitivně definitní matici ( ) B = 2 5 0 f + 3I = 0 1 a směr d = B 1 f = ( 4/5, 2) T, což je zjevně směr (výrazného) poklesu f na okolí bodu ξ.

Kapitola 5 Metody typu Trust-Region 5.1 Základní algoritmus Můžeme se ptát, jde-li pro nekonvenxní funkce algoritmus 4.9.1 lépe zformalizovat. Tedy můžeme-li nalézt takový předpis pro volbu τ, který zaručí dobré konvergenční vlastnosti, jak teoretické, tak praktické. Odpovědí je třída metod typu Trust- Region (metod s omezeným krokem), o nichž pojednává tato kapitola. Metody jsou založeny na následující ekvivalenci. Věta 5.1.1. Bod p je globální minimum problému právě když existuje λ 0 tak, že min p m(p) := c + g T p + 1 2 pt Bp s.t. p (TRS) (i) (B + λi)p = g (ii) λ( p ) = 0 (iii) B + λi 0. Důkaz. Bez újmy na obecnosti, položme c = 0. Z vlastností (i)+(iii) plyne, že p minimalizuje funkci ˆm(p) := 1 2 pt (B +λi)p+ g T p, odtud dostáváme ˆm(p) ˆm(p ) p a tedy m(p) m(p ) + 1 2 λ(p T p p T p). Z předpokladů λ 0 a (ii) dále plyne, že je-li p T p 2, pak m(p) m(p ) a tedy p řeší (TRS). Je-li p <, pak p je nepodmíněné minimum m(p) a věta platí s λ = 0. Předpokládejme p =. Z podmínek optimality 1. řádu pro podmíněnou optimalizaci (Věta??) plyne, že existuje ν 0 takové, že p L(p,ν) = 0, kde L(p,ν) := m(p) + 1 2 ν( p 2 2 ), tedy platí (i) s λ = ν. Rovněž z podmínek optimality 1. řádu (komplementarita) dostaneme okamžitě podmínku (ii). Použijeme-li podmínky optimality 2. řádu (Věta??), dostaneme s T (B + λi)s 0 s : s T p = 0, kde B + λi je Hessián Lagrangiánu 2 ppl(p,λ). Vezmeme nyní v, v T p zkonstruujeme p = p + θv, θ 0 tak, že p =. 0 a 33

34 KAPITOLA 5. METODY TYPU TRUST-REGION v p p* Využitím (i) eliminujeme g T p z funkce L: L(p,ν) = m(p ) + 1 2 (p p ) T (B + νi)(p p ). Protože (p ) T p = 2, platí L(p,ν) = m(p ) m(p ) a tedy v T (B +νi)v 0. Věta je dokázána. Základní schéma metody Trust-Region (TR) je následující: Zvol > 0; vyřeš (TRS); není-li model dobrý, uprav a vrat se na (TRS); jinak aktualizuj x a jdi na (TRS). Obrázek ukazuje stejný příklad jako na konci minulé kapitoly, tentokrát s TR krokem, zde označeným jako η. y η ζ g ξ x Kvalitu kvadratického modelu v k-tém kroku měříme faktorem predikce modelu: m k (p) = f k + f(x k ) T p + 1 2 pt 2 f(x k )p ρ k = f(x k) f(x k + p k ) m k (0) m k (p k ) := δf k δm k ; (5.1)

5.1. ZÁKLADNÍ ALGORITMUS 35 zde dělenec má význam skutečné redukce funkce f a dělitel je přepokládaná redukce. Protože p k jsme získali minimalizací m k, je přepokládaná redukce vždy nezáporná: m k (0) m k (p) 0. Proto je-li ρ k < 0, znamená to nárůst funkce f a takový krok musí být odmítnut. Ma druhé straně, je-li ρ k 1, model je dobrý a v další iteraci můžeme zvětšit (tedy oblast důvěry ). Pokud je ρ k kladné ale není blízké 1, stále můžeme současný krok akceptovat, ale δ nezměníme. Konečně, je-li ρ k záporné či blízké nule, krok odmítneme a zmenšíme. Zde je detailní algoritmus: Algoritmus 5.1.1 (Trust-Region). Dáno > 0, 0 (0 ),η [0, 1 4 ]. for k=0,1,2,... end spočítej p k (přibližným) řešením (TRS) if ρ k < 1 4 else k+1 = 1 4 p k if ρ k > 3 4 a p k = k k+1 = min(2 k, ) else k+1 = k ; if ρ k > η else x k+1 = x k + p k x k+1 = x k ; Věta 5.1.2 (globální konvergence TR). Necht f je dvakrát spojitě diferencovatelná a omezené množině B. Necht x k B pro všechny x k generované algoritmem TR s B k = 2 f(x k ). Pak existuje hromadný bod x posloupnosti {x k }, který splňuje nutné podmínky optimality 1. a 2. řádu. Důkaz. Existuje konvergentní podposloupnost (označme ji opět {x k }) pro níž nastane jeden ze dvou případů: (i) ρ k < 1 4, k 0 a tedy p k 0 (ii) ρ k 1 4 a inf k > 0 Větu dokážeme pro každý případ zvlášt. (i): Předpokládejme sporem, že v x existuje směr poklesu s, s = 1, tedy že s T f = d, d > 0. Z Taylorova rozvoje f kolem x k dostaneme tedy (viz (5.1)) f(x k + p k ) = m k (p k ) + o( p k 2 ), δf k = δm k + o( p k 2 ). (5.2) Uvažujme krok ε k = p k ve směru s. Protože p k řeší (TRS) (a ze spojitosti), máme δm k m k (0) m k (ε k s) = ε k s T f k + o(ε k ) = ε k d + o(ε k ). Z ε k 0 (jsme v případu (i)) a z (5.2) plyne ρ k = 1 + o(1) a to je spor s předpokladem ρ k < 1 4. Platí tedy f = 0.

36 KAPITOLA 5. METODY TYPU TRUST-REGION Abychom dokázali podmínky 2. řádu, předpokládejme, že existuje s ( s = 1) takové, že s T B s = d, d > 0 (5.3) Uvažujme krok ε k ve směru σs, σ = ±1, tak, že σs T f k 0. Potom z (TRS) dostáváme δm k m k (0) m k (ε k σs) 1 2 ε2 ks T B k s = 1 2 ε2 kd + o(ε 2 k), kde poslední rovnost plyne ze spojitosti. Z (5.2) pak plyne ρ k = 1 + o(1), což je spor, takže B k 0 a případ (i) je dokázán. (ii): Platí f 1 = f δf k, tedy δf k 0 a (protože ρ k 1 4 ) δm k 0. Definujme m (p) := f + p T f + 1 2 pt G p. Necht splňuje 0 < < inf k a necht p řeší m (p) na p. Položme x = x + p. Pro k dostatečně velké x x k p + x k x = p + o(1) + o(1) k, tedy x x k splňje omezení v (TRS). Potom m k ( x x k ) m k (p k ) = f k δm k. V limitě f k f, f k f, 2 f k 2 f (tedy G k G ), δm k 0 a x x k p k a z toho m ( p) f = m (0). Tedy p = 0 minimalizuje m (p) na p a toto omezení není aktivní (platí ostrá nerovnost). Z toho plyne, že platí podmínky optimality 1. a 2. řádu a tedy tvrzení věty. Věta 5.1.3 (lokální konvergence TR). Splňuje-li x předpoklady věty 5.1.2 a postačující podmínky optimality 2. řádu, potom ρ k 1, x k x, inf k > 0 a p k k není aktivní pro k dostatečně veliká. Konvergence ke kvadratická. Důkaz. Fletcher, Thm. 5.1.2 5.2 Jak řešit (TRS)? Zopakujme problém (TRS) min p m(p) := f + f T p + 1 2 pt Bp s.t. p (5.4) a označme pro zbytek této kapitoly g = f. Metody pro řešení (TRS) můžeme rozdělit na (velmi) přibližné a (téměř) přesné. 5.2.1 Cauchyho bod Cauchyho bod je bod ležící na směru záporného gradientu (v bodě x k ), který bud minimalizuje m na této polopřímce (v případě, že minimum leží uvnitř oblasti p ), nebo leží na průsečíku s hranicí této oblasti. Je to tedy bod p c = τg, kde τ = { pro g T Bg 0 min(, g T g g T Bg ) jinak.

5.2. JAK ŘEŠIT (TRS)? 37 x k p c p* d N g Obrázek ukazuje izočáry funkce f (čárkovaně) a kvadratického modelu m (plnou čarou) v bodě x k, dále Newtonův směr d N, směr záporného gradientu g, Cauchyho bod p c a přesné řešení (TRS) p. Přibližné metody řešení (TRS) mají za cíl najít bod, který je přinejmenším lepší než Cauchyho bod (ve smyslu minimalizace m). Je zřejmé, že vezmeme-li za přibližné řešení (TRS) právě Cauchyho bod, dostaneme metodu největšího spádu s omezeným krokem. 5.2.2 Metoda dogleg Podívejme se, jaký je efekt poloměru na (přesné) řešení (TRS). Předpokládejme, že B k 0. Pak řešením nepodmíněného (TRS) je plný Newtonův krok p N = B 1 g. Je-li tedy dostatečně velké, je p = p N. Naopak, blíží-li se limitně nule, kvadratický člen v (TRS) pozbývá vlivu a p se blíží g, směr se tedy g asymptoticky blíží směru záporného gradientu. Metoda dogleg (jak ji nazval M. Powell) je přibližnou metodou pro řešení konvexních (TRS). Myšlenkou je nahradit (křivočarou) trajektorii p ( ) dvěma úsečkami. První úsečka jde z bodu p(0) (tedy x k ) do bodu minimalizujícího m(p) na směru záporného gradientu p U = gt g g T Bg g (tedy bodu nalezeného metodou největšího spádu). Druhá pak jde z p U do p N. Označme tuto aproximující traketrorii p(τ) = { τpu, 0 τ 1 p U + (τ 1)(p N p U ), 1 τ 2. p( ) p N p U g

38 KAPITOLA 5. METODY TYPU TRUST-REGION Přibližným řešením (TRS) je průsečík této křivky s hranicí p =. Lze ukázat, že pokud p N, pak takový bod existuje právě jeden a lze spočítat řešením kvadratické rovnice v proměnné τ: p U + (τ 1)(p N p U ) 2 = 2. 5.3 Metoda Steihaugova Jedná se opět o přibližnou metodu, vhodnou tentokrát i pro nekonvexní funkce. Je to v podstatě metoda sdružených gradientů (použitá na minimalizaci kvadratického modelu) s omezeným krokem a hlídáním směrů záporné křivosti (tj. směrů d, pro něž d T Bd 0). Algoritmus 5.3.1 (Steihaugova metoda). Dáno ǫ > 0; polož p 0 = 0, r 0 = g, d 0 = r 0. if r 0 < ǫ return p = p 0 ; for j = 0,1,2,... end. if d T j Bd j 0 najdi τ tak, že p = p j +τd j minimalizuje m(p) v (5.4) a splňuje p = ; return p; α j = rt j r j d T j Bd ; j p j+1 = p j + α j d j ; if p j+1 najdi τ tak, že p = p j + τd j splňuje p = ; return p; r j+1 = r j + α j Bd j ; if r j+1 < ǫ r 0 return p = p j+1 ; β j+1 = rt j+1 r j+1 rj Tr ; j d j+1 = r j+1 + β j+1 d j ; Začne-li algoritmus s p 0 = 0, lze ukázat, že 0 p 0 2 <... < p j 2 p j+1 2 <... < p 2 takže trajektorie generovaná algoritmem protne hranici p = právě jednou. Navíc p 1 = p c, tedy v první iteraci dostaneme Cauchyho bod, který pak už jen zlepšujeme. V porovnání s metodou dogleg je Steihaugova metoda vhodná pro problémy velké dimenze. V metodě dogleg musíme řešit soustavu Bp = g (abychom získali bod p N ). To zde nemusíme. Nevýhodou Steihaugovu metody je fakt, že metoda skončí když poprvé narazí na směr záporné křivosti, at je jakýkoliv. Z hlediska TR algoritmu by bylo výhodné nalézt směr velké záporné křivosti. Toho můžeme

5.4. PŘESNÉ ŘEŠENÍ (TRS) 39 dosáhnout ve variantě Steihaugovy metody, kde základní CG algoritmus je nahrazen Lanczosovou metodou [?]. Další výhodou Steihaugovy metody je, že můžeme použít předpodmínění matice B ke zrychlení konvergence metody, tak jak to známe z klasické metody sdružených gradientů. 5.4 Přesné řešení (TRS) Připomeňme, že (podle věty 5.1.1) p řeší (TRS) právě když existuje λ 0 tak, že (B + λi)p = g, λ( p ) = 0, B + λi 0. Strategie hledání p, založená na této ekvivalenci, je pak jasná: Je-li B 0, je λ = 0 a p je řešením soustavy Bp = g. Pokud je B indefinitní, definujeme p(λ) = (B + λi) 1 g pro λ dostatečně velké, aby (B + λi) 0, a hledáme λ > 0 aby p(λ) =, hledáme tedy kořen jednodimenzionální rovnice (v λ). Necht B = QΛQ T, kde Q je ortogonální, Λ = diag (λ 1,λ 2,...,λ n ) a λ 1 λ 2... λ n. Potom p(λ) = Q(Λ + λi) 1Q T g = n j=1 q T j g λ j + λ q j, kde q j jsou sloupce Q (tedy vlastní vektory B). Protože q j jsou ortonormální, máme p(λ) 2 = n j=1 (q T j g)2 (λ j + λ) 2. Z toho vidíme, že p(λ) je spojitá nerostoucí funkce na ( λ 1, ) a lim p(λ) = 0. λ Pro qj T g 0 navíc platí lim p(λ) = ; λ λ j viz obrázek.

40 KAPITOLA 5. METODY TYPU TRUST-REGION p λ λ λ λ 5.4.1 Lehký případ 3 2 Proto je-li q T j g 0, pak existuje řešení p(λ) = 0 v intervalu ( λ 1, ). Toto řešení můžeme najít Newtonovou metodou (pro hledání kořenů rovnic). Protože Newtonova metoda se nechová příliš dobře má-li funkce velkou křivost (jako p(λ) v okolí λ 1, je vhodné rovnici invertovat a hledat řešení rovnice 1 1 p(λ) = 0, která je v okolí λ 1 téměř lineární. Aplikováním Newtovovy metody na tuto rovnici dostaneme následující algoritmus: Algoritmus 5.4.1 (přesné řešení (TRS)). Je dáno λ 0, > 0. for l = 0,1,2,... 1 * end faktorizuj B λ l I = LL T řeš LL T p l = g, Ls l = p ( ) l 2 ( ) polož λ l+1 = λ l pl pl + s l Nutno zmínit, že pro nové λ l+1 může nastat λ l+1 < λ 1 a faktorizace LL T nemusí existovat to je nutno ohlídat. 5.4.2 Těžký případ (hard case) Pokud q T 1 g = 0, je hodnota p( λ 1 ) konečná a nemusí existovat žádné λ ( λ 1, ) aby p(λ) =. Věta 5.1.1 nám říká, že v tomto případě λ = λ 1. Jak ale najít p? Víme, že (B λ 1 I)q 1 = 0, tedy q T 1 q j = 0 pro λ j λ 1. Tedy p = j:λ j λ 1 qt j g λ j + λ q j + τq 1

5.5. SCALING 41 a p 2 = j:λ j λ 1 Odtud plyne existence takového τ, že p =. 5.5 Scaling (qt j g)2 (λ j + λ) 2 + τ2.