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 Newton-Raphsonova metoda Quasi-Newtonova metoda

2 Podmínky ukončení Testování gradientu: Zdůvodnění: V minimu platí g = 0. Nevýhody: Nezohledňuje možnost špatného podmínění úlohy – například když je prohledávané „údolí“ v některých směrech daleko uzší než v jiných.

3 Podmínky ukončení II Testování posunutí bodu x: Vhodné speciálně pokud očekáváme, že optimalizační algoritmus bude v blízkém okolí minima rychle konvergovat. Testování změny funkční hodnoty f(x): Také vhodné pro rychlou konvergenci v blízkém okolí minima.

4 Podmínky ukončení III Z praktických zkušeností vyplývá: Pro newtonovské metody dobře funguje testování funkční hodnoty. Pro metody, které v blízkosti minima konvergují pomaleji (např. metoda sdružených gradientů) více vyhovuje testování gradientů.

5 Rychlost konvergence Rychlost konvergence iterativních metod můžeme srovnávat pomocí jistého jejího asymptotického vyjádření. Označme odchylku od řešení v k-té iteraci jako h (k), tj. Pokud h (k)  0, pak řekneme, že konvergence metody je p-tého řádu, když:,kde a > 0.

6 Rychlost konvergence II Z praktického hlediska jsou důležité v podstatě jen případy p = 1 (lineární konvergence) a p = 2 (kvadratická konvergence), protože nejsou známy (a patrně ani neexistují) žádné obecně použitelné numerické metody s vyšším řádem konvergence. Podle definice pro každou lineárně konvergentní metodu existuje konstanta  > 0 tak, že neboli Obdobně pro metodu s kvadratickou konvergencí platí neboli

7 Rychlost konvergence III Metody s lineární konvergencí jsou obvykle používány, jen když je konstanta  dostatečně malá, řekněme  < 1/4. Řada minimalizačních metod, které nejsou kvadraticky konvergentní, konverguje rychleji než jak to zaručuje lineární konvergence: Podíl po sobě jdoucích chyb jde pro k  k nule, tj. neboli O takových metodách říkáme, že mají superlineární konvergenci.

8 Metoda největšího spádu -obecně Anglicky označována steepest descent method. Princip: Vydat se směrem, ve kterém studovaná funkce nejrychleji klesá. Tedy ve směru -  f(x), kde x je bod, ve kterém se výpočet právě nachází.

9 Metoda největšího spádu -obecně II Algoritmus: zvolíme výchozí bod x (0) k-tá iterace: bod x (k+1) vypočítáme z bodu x (k) pomocí vztahu: x (k+1) = x (k) - .g (k), kde: -g (k) zjednodušený zápis -  f(x (k) ), určuje směr přesunu z bodu x (k)  koeficient, popisující délku daného přesunu

10 Metoda největšího spádu - volba  v metodě největšího spádu Z bodu x (k) se přesunujeme po polopřímce: x(  ) = x (k) + .x (k),kde  > 0 Hodnotu funkce f na této polopřímce popisuje funkce  (  ):  (  ) = f(x(  )) Je zřejmé, že musíme zvolit takové  , aby platilo: f(x (k) )  f(x (k+1) ),kde x (k+1) = x(   ) pro dostatečný počet iterací. Poznámka: „Dostatečný počet“ = dostačuje k tomu, aby metoda konvergovala k minimu ().

11 Metoda největšího spádu - volba a v metodě největšího spádu Funkce  (  ) má následující tvar:

12 Metoda největšího spádu - volba a v metodě největšího spádu Metoda největšího spádu volí pro každý krok stejnou hodnotu . Konkrétně velmi malou hodnotu . Poznámka: Hodnoty a musí být dostatečně, aby metoda konvergovala.

13 Metoda největšího spádu zhodnocení Výhody: Implementačně jednoduché Nízká prostorová složitost Nevýhody: Velmi pomalá konvergence (speciálně v oblastech malého spádu => nízkých hodnot gradientu). Chyby, způsobené zaokrouhlením. Mohou vést i k tomu, že se výpočet vůbec nedostane rozumně blízko k minimu. Ale při (ideální) přesné aritmetice metoda konverguje vždy k nějakému lokálnímu minimu.

14 Metoda největšího spádu - příklad Rosenbrockova funkce: Gradient Rosenbrockovy funkce: Výchozí bod: x 0 = (-2, 2) Parametry:  = 0,001 Výpočet první iterace - dobrovolník u tabule :-). Další iterace - příklad v Excelu.

15 Metoda největšího spádu - příklad II Ukázka konvergence metody největšího spádu pro Rosenbrockovu funkci:

16 Spádové metody - obecně Jsou založeny na stejném principu jako metoda největšího spádu: x (k+1) = x (k) + .s (k), kde: s (k) je směr přesunu z bodu x (k), nejčastěji jako směr volíme -g (k)  koeficient, popisující délku daného přesunu Využívají sofistikovanější metody k určení koeficientu . Hodnota koeficientu  je různá pro každou iteraci.

17 Spádové metody - obecně II Podmínka pro ideální hodnotu (  *) koeficientu  : funkce  (  ) = f(x(  )) má v  * minimum[1] Poznámka: Jedná se o nejmenší hodnotu , v níž má  (  ) minimum. Navíc samozřejmě platí  > 0. Tuto podmínku nelze využít k volbě koeficientu . Potřebujeme totiž určit hodnotu  pro danou iteraci v konečném a pokud možno velmi malém počtu kroků.

18 Spádové metody - obecně III => Nutné podmínky pro koeficient  : 0 <  <  ´[2] Předpokládejme, že funkce f má průběh naznačený na obrázku. Pak existuje  > 0 tak, že: f(x (k) +  s (k) ) = f(x (k+1) ) Nejmenší takové  označujeme  ´.

19 Spádové metody - obecně IV => Při volbě koeficientu a musíme dodržet podmínky [2] a co nejvíce se přiblížit podmínce [1]. Metody pro nalezení  : Goldsteinovy podmínky Wolfe-Powellovy podmínky Značení: budeme značit  (  ) budeme značit  (  )

20 Spádové metody - Goldsteinovy podmínky I 1. Goldsteinova podmínka zaručuje, že  nebude zvoleno příliš blízko  ´: Parametr  je zde pevně zvolené číslo z intervalu (0, ½). I když  ´ neexistuje {tj.  (  ) 0}, je 1GP schopna omezit volbu  (k). (Pokud je tedy funkce f zdola omezená.)

21 Spádové metody - Goldsteinovy podmínky II 2. Goldsteinova podmínka zaručuje, že  nebude zvoleno příliš blízko  : Pravé strany Goldsteinových podmínek určují dvě přímky se zápornou směrnicí. Hodnoty  1 a  2, které přísluší průsečíkům těchto přímek s  (  ), určují interval vhodných hodnot .

22 Spádové metody - Goldsteinovy podmínky III

23 Spádové metody - Goldsteinovy podmínky IV Zdůvodnění Goldsteinových podmínek:

24 Spádové metody - Goldsteinovy podmínky V Věta: Nechť funkce f je spojitě diferenciovatelná a nechť její gradient g =  f je lipschitzovsky spojitý na R n. Je-li { x (k) } posloupnost generována spádovou metodou a volba a vyhovuje Goldsteinovým podmínkám, pak platí: f(x (k) ) – f(x (k-1) )  - .g (k).  (k) kde  (k) =  (k) s (k) = x (k+1) – x (k) => Metoda vždy konverguje k minimu funkce f (pro vhodné  ). Poznámka: Volba koeficientu  < ½ zaručuje konvergenci metody pro kvadratické funkce.

25 Spádové metody - Goldsteinovy podmínky VI Nevýhoda Goldsteinových podmínek: V intervalu mezi  1 a  2 se nemusí nacházet minimum funkce  (  ).

26 Spádové metody - Wolfe-Powellovy podmínky Místo GP2 se testuje sklon funkce  (  ) v bodě  Využívá se tedy následující podmínka: kde  ( , 1).

27 Spádové metody - Wolfe-Powellovy podmínky II

28 Metody konjugovaných gradientů - obecně = metody sdružených gradientů = conjugate gradient method = speciální případ metod sdružených směrů Základní myšlenka: Pro určení směru přesunu z bodu x (k) do bodu x (k+1) se využívají nejen hodnotu g (k+1), ale rovněž hodnotu g (k). (V obecném případě je možno využít hodnot g (1), g (2),..., g (k), g (k+1).) Zdůvodnění: Spojení informací o současném a předchozím sklonu studované funkce umožňuje rychlejší sestup do minima (zlepšení konvergence na plochých oblastech).

29 Metody konjugovaných gradientů - algoritmus Výpočet x (k+1) : x (k+1) se určuje pomocí stejného vztahu jako u spádových metod: x (k+1) = x (k) +  (k).s (k) [2.1] kde: s (k) směr přesunu z bodu x (k)  (k) koeficient, popisující délku daného přesunu

30 Metody konjugovaných gradientů - algoritmus II Výpočet  (k) : Analogické jako u spádových metod: 1) Je nutno zvolit koeficient  (k) tak, aby platilo: 0 <  (k) <  (k) ´ kde: f(x (k) +  (k) ´.s (k) ) = f(x (k+1) ) 2)  (k) by se měla co nejvíce blížit  (k)*, kde  (k)* je minimum funkce f(x (k) +  (k).s (k) ).

31 Metody konjugovaných gradientů - algoritmus III Výpočet s (k+1) : s (k+1) se vypočte pomocí gradientu g (k+1) a směru s (k). (Přičemž s (k) byl vypočítán pomocí předchozích hodnot gradientů...). Konkrétně: s (k+1) = -g (k+1) +  (k).s (k) [2.2] Kde b (k) je koeficient, který určuje míru vlivu směru přesunu v kroku k (s (k) ) na směr přesunu v následujícím kroku (s (k+1) ). Výpočet s (0) : s (0) = -g (0)

32 Metody konjugovaných gradientů - algoritmus III Výpočet  (k+1) : Existuje více možností, jak volit číslo  (k+1). Nyní odvodíme hodnotu  (k+1) za předpokladu, že minimalizovaná funkce je kvadratická a má pozitivně definitní Hessovou matici G. V tomto případě platí: y (k) = G.  (k) [2.3] kde y (k) = g (k+1) – g (k) a  (k) = x (k+1) – x (k). Protože vektory s (k+1) a s (k) mají být sdružené vzhledem ke G, musí platit: s (k+1)T.G.  (k) = 0[2.4] Z [2.3] a [2.4] vyplývá: 0 = s (k+1)T.G.  (k) = s (k+1)T.y (k)

33 Metody konjugovaných gradientů - algoritmus IV Po transponování rovnice [2.2] a násobení vektorem y (k) zprava dostáváme: 0 = -g (k+1)T.y (k) +  (k).s (k)T.y (k) [2.5] Odtud plyne hodnota, kterou navrhli Hestenes a Stiefel v roce 1952: [2.6]

34 Metody konjugovaných gradientů - algoritmus V Pokud je x (k) v rovnici [2.1] přesně určeným minimem ve směru s (k), musí platit s (k)T.g (k+1) = 0 (jinak by se hodnota f ve směru s (k) dala ještě snížit), obdobně s (k-1)T.g (k) = 0. Pak je jmenovatel ve vztahu [2.6] roven: [2.7]

35 Metody konjugovaných gradientů - algoritmus VI Po dosazení [2.7] do [2.6] získáme vyjádření  (k), které poprvé publikovali Polak a Ribiere v roce 1969: [2.8] Obdobně lze ukázat, že g (k+1)T.g (k) = 0, odtud plyne vztah pro  (k) podle Fletchera a Reevese (1963):

36 Metody konjugovaných gradientů - algoritmus VII Pro kvadratické funkce je. To ale neplatí pro obecnější funkce. Při testovacích úlohách dává obvykle nejlepší výsledky varianta Polaka a Ribiera.

37 Metody konjugovaných gradientů - zhodnocení Výhody: Spolehlivější než spádové metody. Vhodná i v oblastech poblíž minima Nevýhody: Výpočetně náročnější. Větší prostorová složitost (nutnost ukládat několik n- prvkových vektorů).

38 Metody konjugovaných gradientů - porovnání Vhodná i v oblastech poblíž Porovnání metody největšího spádu a metody konjugovaných gradientů (Rosenbrockova funkce):

39 Metody konjugovaných gradientů - porovnání II Ukázka konvergence spádové metody pro Rosenbrockovu funkci:

40 Metody konjugovaných gradientů - porovnání III Ukázka konvergence metody konjugovaných gradientů pro Rosenbrockovu funkci:

41 Metody konjugovaných gradientů - příklad Poznámka: Příklad využívá metodu konjugovaných gradientů pro vyhledání minima funkce f: R 2 -> R 2 (nejedná se tedy o klasickou funkci R n ->R). Zadání: Najděte x* = (x 1, x 2 ), aby platilo: A.x* = b, přičemž:

42 Metody konjugovaných gradientů - příklad II Postup: Speciálně pro rovnice typu A.x = b platí: g (k) = b – A.x (k) Obecně pro metodu konjugovaných gradientů platí: x (k+1) = x (k) +  (k).s (k) s (k+1) = -g (k+1) +  (k).s (k)

43 Metody konjugovaných gradientů - příklad III Iniciace (k = 0): g (0) = b; s (0) = -g (0) První krok (k = 1): x (1) = x (0) +  (0).s (0) = (0.5, 0, 0.5) g (1) = b – A.x (1) = (0,1,0) s (1) = -g (1) +  (0).s (0) = (-0.5, -1, -0,5)

44 Metody konjugovaných gradientů - příklad IV Druhý krok (k = 2): x (2) = x (1) +  (1).s (1) = (1, 1, 1) g (2) = b – A.x (2) = (0,0,0) s (2) = -g (2) +  (1).s (1) = (0, 0, 0)

45 Cvičení Proveďte první 3 kroky optimalizace funkce: f(x 1, x 2 ) = x x 2 2 a) pomocí metody největšího spádu b) pomocí metody konjugovaných gradientů Poznámka: Využijte  = 0,25


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