Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Optimalizace bez omezení (unconstraint)

Podobné prezentace


Prezentace na téma: "Optimalizace bez omezení (unconstraint)"— Transkript prezentace:

1 Optimalizace bez omezení (unconstraint)
Nederivační (ad hoc) metody Jednoduché metody Nelder-Meadova (simplexová) metoda Derivační metody První derivace Metoda největšího spádu + další spádové metody Metoda konjugovaných gradientů Druhá derivace Newtonovské metody Kvazi-Newtonovské metody Metody omezeného kroku 1D optimalizace v rámci metod první derivace Dichtomické hledání Metoda zlatého řezu Newtonova metoda Kvadratická interpolace

2 Metody s omezeným krokem - úvod
Základní myšlenkou newtonovských metod je rozepsat minimalizovanou funkci f pomocí Taylorova rozvoje: kde d(k) = x(k+1) - x(k) a poté aproximovat funkci f v bodě x(k) jako kvadratickou funkci q:

3 Metody s omezeným krokem - úvod II
Tato myšlenka ale v sobě skrývá problémy: Hessián příslušné kvadratické funkce nemusí být kladně definitní => kvadratická funkce nemusí mít jednoznačně určené minimum. Poznámka: Tento problém řeší kvazi-newtonovské metody, které nahrazují hessián jeho aproximací. Využití aproximace ovšem na druhé straně snižuje rychlost konvergence metody. Funkce q(k) také v okolí svého minima nemusí dostatečně přesně aproximovat minimalizovanou funkci. Jak dané problémy řešit?: Pomocí metod s omezeným krokem :-).

4 Metody s omezeným krokem - princip
Hledají krok metody (tj. vektor d(k) = x(k+1) - x(k)) jako minimum funkce q(k) na omezené oblasti, o které se dá předpokládat, že v ní q(k) dostatečně přesně modeluje minimalizovanou funkci. Tato oblast má tvar n-rozměrné koule (vzhledem ke zvolené normě), se středem v bodě, vypočítaném v poslední iteraci:

5 Metody s omezeným krokem - princip II
V každé iteraci se pak řeší problém: minimalizuj q(k)(d(k)) za podmínky: W(k) je tedy okolí bodu x(k), ve kterém „věříme“ kvadratické aproximaci. Tomu odpovídá i jeden ze dvou anglických termínů pro metody s omezeným krokem: trust region methods (druhým je restricted step methods).

6 Metody s omezeným krokem - princip III
Hodnota h(k) je upravována v každé iteraci tak, aby byla co největší při zachování dostatečné shody mezi f a q(k). Velikost h(k+1) se oproti h(k) zmenšuje (nebo zvětšuje) na základě skutečného poklesu funkce f: a na základě předpovězeného poklesu:

7 Metody s omezeným krokem - princip IV
Podíl pak slouží pro odhad přesnosti, s jakou q(k)(d(k)) aproximuje f(x(k+1)): Čím je r(k) bližší jedničce, tím se aproximace považuje za přesnější.

8 Metody s omezeným krokem - popis
Modelový algoritmus pro metodu s omezeným krokem závisí na jistých pevně zvolených konstantách 0 < a1 < a2 < 1 a 0 < h1 < 1 < h2, které slouží k adaptivní úpravě maximální délky kroku. (a) Z x(k) vypočti g(k) a G(k). (b) Najdi d(k) minimalizující q(k)(d(k)) při omezení: (c) Vypočti f(x(k+1)) a odtud r(k).

9 Metody s omezeným krokem - popis II
(d) Pokud r(k) < a1, polož h(k+1) = h1.h(k), pokud r(k) > a2 a , polož h(k+1) = h2.h(k), jinak polož h(k+1) = h(k). (e) Pokud r(k) £ 0, polož x(k+1) = x(k), jinak x(k+1) = x(k) + d(k). Konstanty a1, a2, h1, h2 lze volit značně volně, aniž by to podstatně ovlivnilo konvergenci algoritmu. Typickou hodnotu pro a2 je Dále můžeme volit například a1 = 0.25; h1 = 0.25; h2 = 2. Někteří autoři ale doporučují volit a1 velmi malé, například a1 = 10-4.

10 Metody s omezeným krokem - zhodnocení
Věta: Pokud pro posloupnost {x(k)} definovanou uvedeným algoritmem platí x(k) Î B Ì Rn "k, kde B je omezená množina a pokud f má spojité druhé derivace na B, pak existuje hromadný bod x¥ posloupnosti {x(k)}, který splňuje nutné podmínky pro lokální minimum funkce f.

11 Metody s omezeným krokem - zhodnocení II
Věta: Jestliže v bodě x¥ navíc platí, že funkce f má spojité druhé derivace a její hessián je lipschitzovsky spojitý, pak: Pokud x¥ je lokálním minimem, x(k) -> x¥, inf h(k) > 0 a existuje k0 tak, že pro k > k0 se nevyužívá omezení , pak platí: {x(k)} konverguje kvadraticky

12 Metody s omezeným krokem - zhodnocení III
Za rozumných (dříve uvedených :-) předpokladů jsou metody s omezeným krokem globálně konvergentní a v okolí minima konvergují kvadraticky, protože přecházejí v Newtonovu metodu. => jsou úspěšné v praxi Nevýhoda: V každé iteraci je nutna globální minimalizace q(k) na jisté omezené oblasti, což vyžaduje nezanedbatelný objem výpočtů.

13 Metody s omezeným krokem - Levenbergova a Marquartova metoda
Nejvíce jsou metody s omezeným krokem propracovány pro případ euklidovské (L2) normy. Pak se dá řešení omezeného minimalizačního problému pro q(k) určit pomocí řešení lineární soustavy (G(k) + nI)d(k) = -g(k) pro vhodné n. Tento typ metod byl navržen Levenbergem (1944) a Marquardtem (1963) a sloužil zpočátku jen k řešení úlohy nejmenších čtverců.

14 Metody s omezeným krokem - Levenbergova a Marquardtova metoda
Pro Euklidovskou normu lze obecný algoritmus pro metody s omezeným krokem* přepsat na: minimalizuj za předpokladu * minimalizuj q(k)(d(k)) za podmínky:

15 Metody s omezeným krokem - Levenbergova a Marquardtova metoda II
Věta (Moré a Sorensen 1982): Vektor d(k) je globálním minimem problému, popsaného na předchozím slidu, právě když platí následující podmínky: existuje n ³ 0 tak, že: (G(k) + nI)d(k) = -g(k) je splněna rovnice: matice G(k) + nI je kladně semidefinitní Pokud navíc G(k) + nI je kladně definitní, je d(k) jediným řešením daného problému.

16 Metody s omezeným krokem - Levenbergova a Marquardtova metoda III
Všechny Levenberg-Marquardtovy algoritmy nejdříve najdou jisté n ³ 0, pro které je G(k) + nI kladně definitní (pro dostatečně velké n to platí) a poté řeší rovnici: (G(k) + nI)d(k) = -g(k) Pokud n > 0, musí platit Proto se d(k) obvykle určuje pomocí iterativního postupu, ve kterém se řeší rovnice: vzhledem k n.

17 Metody s omezeným krokem - Levenbergova a Marquartova metoda IV
Pokud je krok d(k) určován podle rovnice: (G(k) + nI)d(k) = -g(k) pak pro n = 0 přechází výpočet v Newtonovu metodu, zatímco pro n ® ¥ definuje d(k) směr největšího spádu. Metoda založená na uvedeném zjištění proto počítá svůj krok buď jako Newtonova metoda nebo jako metoda největšího spádu nebo jako jistou kombinaci kroků těchto dvou metod.

18 Metody s omezeným krokem - metoda psí nohy
Stejně jako u Levenberg-Marquardtových metod je v k-té iteraci definováno jisté číslo h(k), které určuje oblast, ve které má kvadratická aproximace minimalizované funkce rozumnou platnost. Metoda psí nohy nejdříve spočítá newtonovský krok a bod xCp (nazývaný někdy Cauchyho bod), ve kterém nastává minimum kvadratické aproximace ve směru největšího spádu. Dá se ukázat, že:

19 Metody s omezeným krokem - metoda psí nohy II
Krok metody pak leží na lomené čáře spojující x(k), xCp a xN. Bod xN se určí takto: Najdeme bod xM, který leží ve vzdálenosti: dN = - B(k)-1.g(k) od bodu xCp. Bod xN poté získáme vhodnou transformací (pohyb psí tlapky :-) bodu xM do vzdálenosti h(k) od bodu x(k). Parametr h(k) se mění opět adaptivně podle obecného algoritmu (body (a) – (e)). Jediný rozdíl je, že bod (b) je nahrazen výpočtem d(k) podle právě popsaného postupu.

20 Metody s omezeným krokem - metoda psí nohy III

21 Metody s omezeným krokem - metoda psí nohy IV
Metoda psí nohy je globálně konvergentní, tj. pro funkce, které splňují předpoklady: Funkce f má spojité druhé derivace a její hessián je lipschitzovsky spojitý v nějakém okolí lokálního minima x*. konverguje vždy ke stacionárnímu bodu.

22 Jednorozměrné optimalizace - obecně
V rámci všech metod první derivace, hledajících minimum funkce f, řešíme následující problém: Hledáme do rovnice: x(k+1) = x(k) + a.s(k), vhodný koeficient a tak, aby došlo k co největšímu poklesu f(x(k+1)) vzhledem k f(x(k)). Pro řešení problému se využívají Goldsteinovy podmínky nebo Wolfe-Powellovy podmínky. Ty se aplikují v rámci jednorozměrné optimalizace => získáné řešení je pouze aproximací minima.

23 Jednorozměrné optimalizace - obecně II
Podrobnější popis problému, který řeší jednorozměrná optimalizace: Hledáme do rovnice: x(k+1) = x(k) - a.s(k), koeficient tak, aby platilo: Hodnota funkce f na polopřímce, začínající v bodě x(k) a mající směrtnici s(k) je minimální.* * Musí jít o první minimum ve směru s(k) od bodu x(k).

24 Jednorozměrné optimalizace - obecně III
Hodnotu funkce f na dané přímce popisuje funkce f: f: R -> R f(a) = f(x(a)), kde: x(a) = x(k) + a.s(k) a* je lokálním minimem funkce f(a)

25 Jednorozměrné optimalizace - obecně IV
Seznam jednorozměrných optimalizací: Dichotomické (binární) hledání Kvadratická interpolace Metoda zlatého řezu Newtonova metoda

26 Jednorozměrné optimalizace - dichotomické (binární) hledání
Vyhledávání ve dvou směrech. Iniciace: [a(0), b(0)], a(0), b(0) Î R e, d > 0, d < e/2, kde: e minimální možná vzdálenost mezi a(k) a b(k) (pokud b(k) - a(k) < e, prohledávání končí) d posun v rámci 1 iterace

27 Jednorozměrné optimalizace - dichotomické (binární) hledání II
Algoritmus: k = 0 WHILE Nejsou splněny podmínky ukončení.* DO IF b(k) – a(k) < e THEN konec ELSE x = 0,5.(b(k) + a(k)) – d y = 0,5.(b(k) + a(k)) + d IF f(x) < f(y) THEN b(k+1) = y, a(k+1) = a(k) ELSE a(k+1) = x, b(k+1) = b(k) k = k+1 DONE *Goldstainovy nebo Wolfe-Powellovy podmínky.

28 Jednorozměrné optimalizace - dichotomické (binární) hledání III
Příklad: funkce: f(x) = x3 – 4x2 – x + 15 a0 = 0, b0 = 4, d = 0.1

29 Jednorozměrné optimalizace - kvadratická interpolace
Princip: Metoda vychází ze tří bodů: [r, f(r)]; [s, f(s)] a [t, f(t)] Pro dané body platí: f(r) > f(s) a f(t) > f(s) Metoda proloží těmito body parabolu a najde její minimum m. Ten z bodů s a m, který má menší funkční hodnotu, se stane novým bodem s. Body r a t jsou rovněž vhodným způsobem posunuty.

30 Jednorozměrné optimalizace - kvadratická interpolace II

31 Jednorozměrné optimalizace - kvadratická interpolace III

32 Jednorozměrné optimalizace - kvadratická interpolace IV
Pro kvadratickou funkci tedy platí: q(x) = a.x2 + b.x + g [1] Pokud parabola prochází body: [r, f(r)]; [s, f(s)] a [t, f(t)] platí: f(r) = a.(r)2 + b.r + g f(s) = a.(s)2 + b.s + g f(t) = a.(t)2 + b.t + g Řešením této soustavy 3 rovnic o 3 neznámých získáme koeficienty a, b a g a můžeme rovnici [1] zapsat v konkrétním tvaru (viz následující slide).

33 Jednorozměrné optimalizace - kvadratická interpolace V
Obecně lze tedy zapsat kvadratickou funkci procházející danými body takto: Uvedená rovnice se nazývá Lagrangeův polynom. Pro minimum dané kvadratické funkce platí: q´(x) = 0 Pokud tedy položíme derivaci Lagrangeova polynomu rovnu 0, můžeme odvodit pro minimum kvadratické funkce, kterou jsme proložili vstupními body, následující vztah: kde: a12 = r–s, a23 = s–t, a31 = t–r, b12 = r2–s2, b23 = s2–t2, b31 = t2–r2

34 Jednorozměrné optimalizace - kvadratická interpolace VI
Algoritmus: Počáteční volba r(0), s(0), t(0). Musí platit: f(r(0)) > f(s(0)) a f(t(0)) > f(s(0)) k = 0 WHILE Nejsou splněny podmínky ukončení.* DO Vypočti m ze vztahu: IF f(m) < f(s(k)) THEN s(k+1) = m IF s(k) < m THEN r(k+1) = s(k); t(k+1) = t(k) ELSE r(k+1) = r(k); t(k+1) = s(k) ELSE s(k+1) = s(k) IF s(k) < m THEN r(k+1) = r(k); t(k+1) = m ELSE r(k+1) = m; t(k+1) = t(k) k = k+1 DONE *Goldstainovy nebo Wolfe-Powellovy podmínky && m-s(k) > tolerance

35 Jednorozměrné optimalizace - kvadratická interpolace VII
Příklad: f(x) = x3 – 9.x – 3.cos(x) + 11 r(0) = 0 s(0) = 2 t(0) = 3

36 Jednorozměrné optimalizace - metoda zlatého řezu
Je velmi podobná předchozím dvěma metodám. Také pracuje se třemi body: a, b, c Jsou to dva krajní body studovaného intervalu [a, c] a jeden jeho vnitřní bod a<b<c. Tuto trojici označujeme (a,b,c).

37 Jednorozměrné optimalizace - metoda zlatého řezu II
b x c Pro danou trojici (a,b,c) v dalším kroku vybereme bod x z intervalu [a,c]. Řekněme, že b<x.

38 Jednorozměrné optimalizace - metoda zlatého řezu III
Máme tedy trojici (a,b,c) a bod b<x<c. Nyní určíme hodnoty f(b) a f(x). Pokud f(b) > f(x) je trojice, kterou budeme používat v následujícím kroku trojice (a,b,x). Pokud f(b) < f(x) pak se novou trojicí stává (b,x,c). Tím se zmenší interval, ve kterém se minimum nachází. Pro tuto trojici dále opakujeme metodu.

39 Jednorozměrné optimalizace - metoda zlatého řezu IV
Zbývá určit způsob nalezení bodu b v počátečním kroku a bodu x v iteračním kroku. Z výpočtů polohy bodu b plyne, že metoda konverguje nejrychleji, pokud nový bod dělí interval, ve kterém hledáme řešení v poměru 0,38:0,62. Poznámka: 0,38 je konstanta zlatého řezu 1 0.62 0.38 a c b

40 Jednorozměrné optimalizace - metoda zlatého řezu V
Metoda zlatého řezu umísťuje bod x tak, aby v uvedeném poměru dělil větší z intervalů [a,b] a [b,c], přičemž bod x je blíže bodu b než příslušnému kraji. (Bod x je v osové symetrii k bodu b dle osy intervalu [a,c]). 1 0.62 0.38 a x c b

41 Jednorozměrné optimalizace - metoda zlatého řezu VI
Najděte minimum funkce f(x)=x2-x+cos(x) na intervalu [0,2] metodou zlatého řezu: ...

42 Jednorozměrné optimalizace - metoda zlatého řezu VII
řešení znázorněné na grafu funkce: a=0 x1=0,4 x=0,76 b=1,24 c=2

43 Jednorozměrné optimalizace - Newtonova metoda
Řeší rovnici f´(x) = 0. x(k+1) tedy určuje z x(k) pomocí vztahu: Poznámka: Pokud je f(x) lineární, dojdeme k řešení v jednom kroku. Ukončení: nebo Konvergence: Jen pokud je počáteční odhad dostatečně blízko stacionárnímu bodu!

44 Jednorozměrné optimalizace - Newtonova metoda II
Příklad: f(x) = x – 5.sin(x) x(0) = 0.5 f´(x) = cos(x) f´´(x) = 5.sin(x) x(k+1) = x(k) - (1 - 5.cos(x(k))) / (5.sin(x(k))) Zkusit pro x(0) = 0.5, x(0) = 0.2, x(0) = 1, x(0) = 5

45 Cvičení Binární hledání: funkce: f(x) = x5 – x3 – 2x + 3
a0 = 0, b0 = 2, d = 0.05

46 Cvičení II Příklad: f(x) = x5 – 4.x3 + 10 r(0) = 0,5 s(0) = 1,4
t(0) = 2

47 Cvičení III Najděte minimum funkce f(x)=2x-x
na intervalu [-1,1] metodou zlatého řezu. a=-1, c=1 b=-1+0,68*2=0, f(b)=0,94 x=-1+(0,24+1)*0,68=-0,24 f(x)=1,08 x1=0,24+(1-0,24)*0,68=0,71 f(x1)=0,96 ...

48 Cvičení IV Newtonova metoda: f(x) = -2.ln(x) + x2 + 6 x(0) = 0.1
f´(x) = -2/x + 2x f´´(x) = 2/x2 + 2 x(k+1) = x(k) - (x – 1/x) / (1 + 1/x2) Zkusit pro x(0) = 3, x(0) = 50


Stáhnout ppt "Optimalizace bez omezení (unconstraint)"

Podobné prezentace


Reklamy Google