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

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

Optimalizace bez omezení (unconstraint) Nederivační (ad hoc) metody Jednoduché metody Nelder-Meadova (simplexová) metoda Derivační metody První derivace.

Podobné prezentace


Prezentace na téma: "Optimalizace bez omezení (unconstraint) Nederivační (ad hoc) metody Jednoduché metody Nelder-Meadova (simplexová) metoda Derivační metody První derivace."— 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  (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  (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) (  (k) ) za podmínky:   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) (  (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 <  1 <  2 < 1 a 0 <   < 1 <  , které slouží k adaptivní úpravě maximální délky kroku. (a) Z x (k) vypočti g (k) a G (k). (b) Najdi  (k) minimalizující q (k) (  (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) <  1, polož h (k+1) =  1.h (k), pokud r (k) >  2 a, polož h (k+1) =  2.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) +  (k). Konstanty  1,  2,  1,  2 lze volit značně volně, aniž by to podstatně ovlivnilo konvergenci algoritmu. Typickou hodnotu pro  2 je Dále můžeme volit například  1 = 0.25;  1 = 0.25;  2 = 2. Někteří autoři ale doporučují volit  1 velmi malé, například  1 =

10 Metody s omezeným krokem - zhodnocení Věta: Pokud pro posloupnost {x (k) } definovanou uvedeným algoritmem platí x (k)  B  R n  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 k 0 tak, že pro k > k 0 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é (L 2 ) 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) +  I)  (k) = -g (k) pro vhodné . 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) (  (k) ) za podmínky:

15 Metody s omezeným krokem - Levenbergova a Marquardtova metoda II Věta (Moré a Sorensen 1982): Vektor  (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   0 tak, že: (G (k) +  I)  (k) = -g (k) •je splněna rovnice: •matice G (k) +  I je kladně semidefinitní Pokud navíc G (k) +  I je kladně definitní, je  (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é   0, pro které je G (k) +  I kladně definitní (pro dostatečně velké  to platí) a poté řeší rovnici: (G (k) +  I)  (k) = -g (k) Pokud  > 0, musí platit. Proto se  (k) obvykle určuje pomocí iterativního postupu, ve kterém se řeší rovnice: vzhledem k .

17 Metody s omezeným krokem - Levenbergova a Marquartova metoda IV Pokud je krok  (k) určován podle rovnice: (G (k) +  I)  (k) = -g (k) pak pro  = 0 přechází výpočet v Newtonovu metodu, zatímco pro    definuje  (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 x Cp (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), x Cp a x N. Bod x N se určí takto: Najdeme bod x M, který leží ve vzdálenosti:  N = - B(k) -1.g(k) od bodu x Cp. Bod x N poté získáme vhodnou transformací (pohyb psí tlapky :-) bodu x M 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  (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) + .s (k), vhodný koeficient  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) - .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  :  : R -> R  (  ) = f(x(  )), kde: x(  ) = x (k) + .s (k)  * je lokálním minimem funkce  (  )

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 ,  > 0,  <  /2, kde:  minimální možná vzdálenost mezi a (k) a b (k) (pokud b (k) - a (k) < , prohledávání končí)  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) <  THEN konec ELSE x =  (b (k) + a (k) ) –  y = 0,5.(b (k) + a (k) ) +  IF  (x) <  (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:  (x) = x 3 – 4x 2 – x + 15 a 0 = 0, b 0 = 4,  = 0.1

29 Jednorozměrné optimalizace - kvadratická interpolace Princip: Metoda vychází ze tří bodů: [r,  (r)]; [s,  (s)] a [t,  (t)] Pro dané body platí:  (r) >  (s) a  (t) >  (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) = .x 2 + .x +  Pokud parabola prochází body: [r,  (r)]; [s,  (s)] a [t,  (t)] platí:  (r) = .(r) 2 + .r +   (s) = .(s) 2 + .s +   (t) = .(t) 2 + .t +  Řešením této soustavy 3 rovnic o 3 neznámých získáme koeficienty ,  a  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: a 12 = r–s, a 23 = s–t, a 31 = t–r, b 12 = r 2 –s 2, b 23 = s 2 –t 2, b 31 = t 2 –r 2

34 Jednorozměrné optimalizace - kvadratická interpolace VI Algoritmus: Počáteční volba r (0), s (0), t (0). Musí platit:  (r (0) ) >  (s (0) ) a  (t (0) ) >  (s (0) ) k = 0 WHILE Nejsou splněny podmínky ukončení.* DO Vypočti m ze vztahu: IF  (m) <  (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) ELSEs (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:  (x) = x 3 – 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

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

38 Jednorozměrné optimalizace - metoda zlatého řezu III Máme tedy trojici (a,b,c) a bod b  (x) je trojice, kterou budeme používat v následujícím kroku trojice (a,b,x). Pokud  (b) <  (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 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]). ac x b

41 Jednorozměrné optimalizace - metoda zlatého řezu VI Najděte minimum funkce  (x)=x 2 -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=0c=2b=1,24x=0,76x1=0,4

43 Jednorozměrné optimalizace - Newtonova metoda Řeší rovnici  ´(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:  (x) = x – 5.sin(x) x (0) = 0.5  ´(x) = cos(x)  ´´(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:  (x) = x 5 – x 3 – 2x + 3 a 0 = 0, b 0 = 2,  = 0.05

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

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

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


Stáhnout ppt "Optimalizace bez omezení (unconstraint) Nederivační (ad hoc) metody Jednoduché metody Nelder-Meadova (simplexová) metoda Derivační metody První derivace."

Podobné prezentace


Reklamy Google