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.

Newton: model je kvadratika

Gradient dává rovinu, a rovina nemá minimum — proto se u nejstrmějšího spádu musí délka kroku hádat. Vezmeme-li o člen víc, dostaneme kvadratiku, a ta minimum má. Stačí ho spočítat:

m(h) = f(x) + gᵀh + ½ hᵀH hkvadratický model
∇m = 0 ⟹ H h = −gNewtonův krok
-2.00.02.00.05.010xf(x)skutečná funkcemodel gradientu: rovinamodel Newtona: kvadratikakam skočí Newton
f′ = 1,112, f″ = 7,760 · Newtonův krok −f′/f″ = -0,143 → x = -1,543
Křivost je kladná, model má minimum a krok míří dolů.
Táhni bodem. Modrá čárkovaná je model gradientu, fialová model Newtona. Kde je křivost záporná, míří Newtonův krok nahoru.

Kvadratická konvergence — a co to znamená

V okolí minima Newton zdvojnásobuje počet platných číslic každým krokem. Z chyby 10⁻² se stane 10⁻⁴, pak 10⁻⁸, pak 10⁻¹⁶ a je konec. Proto je na kvadratické funkci hotový na jeden krok: model tam není přiblížení, model je ta funkce.

A tři důvody, proč to není samozřejmá volba

  1. Hessián stojí peníze. Pro n proměnných je to n(n+1)/2 druhých derivací; numericky to je O(n²) vyhodnocení funkce na každý krok.
  2. Daleko od minima může být křivost záporná. Pak má model maximum místo minima a krok míří vzhůru. V obrázku výše je to vidět přímo.
  3. Newton hledá „∇f = 0", ne minimum. Do sedla dojde stejně ochotně jako do minima a je tam spokojený.

Řešení druhého problému je zárodek celé zbylé labky. Když Hessián není pozitivně definitní, přičte se k němu násobek jednotkové matice, dokud definitní nebude:

(H + τI) h = −gtlumený Newton

Velké τ přebije zakřivení a krok se otočí k nejstrmějšímu spádu; malé τ nechá Newtona být. Přesně tenhle nápad se o dvě kapitoly dál jmenuje Levenberg-Marquardt — jen tam má τ jméno μ a mění se podle toho, jak dobře model předpovídá.

Vzorce v této kapitole

m(h) — kvadratický model
m(h) = f + gᵀh + ½ hᵀH h [—] Taylor, 2. řád
h_N — Newtonův krok
H h = −g [—] z ∇m = 0
τ — tlumený Newton
(H + τI) h = −g [—] τ roste, dokud Cholesky neprojde
— — kvadratická konvergence
‖x_{k+1} − x*‖ = O(‖x_k − x*‖²) [—] jen v okolí minima