OptiLab kam se to sešlo?

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Optimalizace, kterou už děláte

Polovina téhle akademie už optimalizuje, jen o tom nemluví. KineLab řeší inverzní kinematiku tlumenými nejmenšími čtverci — a to je Levenberg-Marquardtova metoda, jen pod jiným jménem. VisionLab hledá parametry kamery minimalizací reprojekční chyby. FilterLab má Kalmanův filtr, což jsou rekurzivní nejmenší čtverce. A ladění regulátoru v ControlLabu je hledání minima, i když ho nikdo tak nenazve.

Tahle labka je ta mašina pod nimi, napsaná jednou a pořádně ověřená.

OptiLabjak se hledá minimumKineLabIK = tlumené NČVisionLabkalibrace = fitFilterLabKalman = rekurzivní NČControlLabladění = hledáníČtyři labky už optimalizují. Tahle říká, co přesně dělají a kdy to selže.
Čtyři labky už optimalizují. Tahle říká, co přesně dělají a kdy to selže.

Jedna myšlenka, ze které plyne všechno ostatní

Účelovou funkci neumíme minimalizovat. Umíme minimalizovat její lokální model — jednoduchou náhradu platnou kousek kolem bodu, kde zrovna stojíme. Celý obor je pak jen dvě otázky: jaký model a jak daleko mu věřit.

metodamodeljak se vyjádří důvěra
nejstrmější spádrovinadélkou kroku
Newtonkvadratikavěří celému kroku
Gauss-Newtonlinearizovaná reziduavěří celému kroku
Levenberg-Marquardtkvadratika + tlumení μskrytě, hodnotou μ
dog-legkvadratika + poloměr Δotevřeně, hodnotou Δ

To je celá taxonomie. Zbytek je účetnictví.

x₁x₂-1.90.01.9-0.71.02.7Rosenbrockovo údolí — dno je úzké a zahnuté
Kroků: 35 · skončil v [1,0000, 1,0000] · f = 0,00000000
Ověření nezávisle na metodě: ‖∇f‖ = 0,000000, je to minimum · konvergovalo
Vyber metodu a start. Cesta je skutečný běh solveru, ne obrázek běhu — a číslo pod obrázkem ověřuje výsledek nezávisle na tom, jak k němu metoda došla.

Proč zrovna tohle údolí

Rosenbrockova funkce vypadá jako banán a je zlomyslná přesně tam, kde na tom záleží: sestoupit do údolí je triviální, ale dojít po jeho dně je těžké, protože dno je zahnuté. Metoda, která se dívá jen na gradient, se od jedné stěny odráží ke druhé a postupuje po milimetrech. Metoda, která si všímá zakřivení, zatáčí s údolím.

Poznámka k tomu, čemu se tady říká „minimum": všechny metody v téhle labce hledají lokální minimum, tedy bod, pod který se nedá dostat malým krokem. To, že je někde jinde ještě hlubší, žádná z nich nezjistí — a nezjistí to ani žádná levná metoda. Kapitola o čtyřech minimech ukazuje, jak moc to vadí.

Vzorce v této kapitole

min f — úloha
najdi x* tak, že f(x*) ≤ f(x) pro ‖x − x*‖ < δ [—] lokální minimum
m(h) — lokální model
f(x + h) ≈ f(x) + gᵀh + ½ hᵀH h [—] Taylor, 2. řád