Optimalizace bez omezení (unconstraint)

Slides:



Advertisements
Podobné prezentace
Minimalizace součtu čtverců - úvod
Advertisements

Lineární klasifikátor
Téma 5 Metody řešení desek, metoda sítí.
Nelineární optimalizace s omezeními - obecně
7. Přednáška limita a spojitost funkce
Dualita úloh lineárního programování a analýza citlivosti
Lineární funkce a její vlastnosti
Neurčitý integrál. Příklad.
Rovnice roviny Normálový tvar rovnice roviny
Vzorová písemka Poznámka: Bonusové příklady jsou nepovinné, lze za ně ale získat body navíc. (2 body) Definujte pojem gradient. Vypočítejte gradient funkce.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
Rozhodněte o její pohyblivosti (určete počet stupňů volnosti).
PA081 Programování numerických výpočtů Přednáška 4.
57. ročník MO Soustředění řešitelů Kategorie A Exponenciela Litoměřice 2007.
Lineární regresní analýza Úvod od problému
Přednáška 12 Diferenciální rovnice
Ústav technologie, mechanizace a řízení staveb
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Lineární algebra.
Funkce.
Vlastnosti funkcí Vypracoval: Mgr. Lukáš Bičík
Základní číselné množiny
BRVKA Georg F.B. Riemann ( ). BRVKA Známe různé inverzní procesy (i matematické), integrování je inverzní proces k derivování. Definice: I je.
Neurčitý integrál. Příklad. Na ploše 10 m x 10 m se vysazuje stejný typ rostlin ve 2 barvách. Obě barvy jsou odděleny křivkou y = x ( 1 – 0.1x ). Kolik.
Formulace a vlastnosti úloh lineárního programování
METODA KONEČNÝCH PRVKŮ
Nelineární programování - úvod
KONVEXNOST A KONKÁVNOST FUNKCE INFLEXNÍ BODY
Metody nelineárního programování
Diferenciální rovnice
Regrese Aproximace metodou nejmenších čtverců
Funkce více proměnných.
Téma 7, ODM, prostorové a příčně zatížené prutové konstrukce
Lineární zobrazení.
Čištění dat Cleaning. Vstup: Množina geometrických objektů Výstup: Mapová vrstva s topologií.
Vektorová grafika.
Experimentální fyzika I. 2
Derivace funkce. Velikost populace v čase t 0 je N (t 0 ). Velikost populace v čase t  t 0 je N ( t ). Přírůstek populace za jednotku času je [N(t) –
Gradientní metody Metoda největšího spádu (volný extrém)
Matematické základy Pomocí gradientu Ñ lze vyjádřit směrové derivace: Derivace funkce f ve směru s v bodě x je definována jako: Z tohoto vztahu lze odvodit,
Optimalizace bez omezení (unconstraint)
Nelinearity s hysterezí Přerušení platnosti relace vytváří dvě různé charakteristiky, jejichž platnost je podmíněna směrem pohybu Hystereze přepínače x.
Simplexová metoda pro známé počáteční řešení úlohy LP
Lineární programování - charakteristika krajních bodů
Počítačová chemie (5. přednáška)
Vektorová grafika. Vektorové entity Úsečka Kružnice, elipsa, kruhový oblouk,… Složitější křivky, splajny, Bézierovy křivky, … Plochy Tělesa Modely.
KVADRATICKÉ NEROVNICE
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Podobnost trajektorií Jiří Jakl Úvod - využití Rozpoznáváni ručně psaných textů GPS navigace Analýza pohybu pracovníku v budovách Predikce.
Přenos nejistoty Náhodná veličina y, která je funkcí náhodných proměnných xi: xi se řídí rozděleními pi(xi) → můžeme najít jejich střední hodnoty mi a.
Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová.
MME41 Ekonomicko-matematické metody 4 Prof. RNDr. Jaroslav Ramík, CSc.
Soustavy lineárních rovnic Matematika 9. ročník Creation IP&RK.
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
Derivace funkce Přednáška 2.
Fergusonova kubika a spline křivky
Soustava tří lineárních rovnic Řešení Gaussovou eliminační metodou
ANALÝZA A KLASIFIKACE DAT
Soustava tří lineárních rovnic Řešení Gaussovou eliminační metodou
Funkce více proměnných.
Lineární funkce a její vlastnosti
Vektorová grafika.
ANALÝZA A KLASIFIKACE DAT
Konstruktivní úlohy na rotačních plochách
Interpolace funkčních závislostí
Soustavy lineárních rovnic
Definiční obory. Množiny řešení. Intervaly.
ANALÝZA A KLASIFIKACE DAT
Transkript prezentace:

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

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:

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 :-).

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:

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).

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:

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ší.

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).

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 0.75. 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.

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.

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

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ů.

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ů.

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:

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.

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.

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.

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:

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.

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

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.

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.

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).

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)

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

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

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.

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

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.

Jednorozměrné optimalizace - kvadratická interpolace II

Jednorozměrné optimalizace - kvadratická interpolace III

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).

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

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

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

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).

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.

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.

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

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

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: ...

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

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!

Jednorozměrné optimalizace - Newtonova metoda II Příklad: f(x) = x – 5.sin(x) x(0) = 0.5 f´(x) = 1 - 5.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

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

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

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,24 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 ...

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