Gauss-Newtonův algoritmus

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. ledna 2021; ověření vyžaduje 1 úpravu .

Gauss-Newtonův algoritmus se používá k řešení problémů nelineární metodou nejmenších čtverců . Algoritmus je modifikací Newtonovy metody pro nalezení minima funkce . Na rozdíl od Newtonovy metody lze Gauss-Newtonův algoritmus použít pouze k minimalizaci součtu čtverců, ale jeho výhodou je, že metoda nevyžaduje výpočet sekundových derivací, což může být značný problém.

Problémy, pro které je aplikována nelineární metoda nejmenších čtverců, vznikají např. u nelineární regrese , při které se hledají parametry modelu, které nejvíce odpovídají pozorovaným hodnotám.

Metoda je pojmenována podle matematiků Carla Friedricha Gausse a Isaaca Newtona .

Popis

Je dáno m funkcí r = ( r 1 , …, r m ) (často nazývaných rezidua) n proměnných β  = ( β 1 , …, β n ), pro m  ≥  n . Gauss-Newtonův algoritmus iterativně najde hodnoty proměnných, které minimalizují součet čtverců [1]

Počínaje nějakou počáteční aproximací metoda iteruje

Pokud zde považujeme r a β za sloupcové vektory, prvky jakobiánské matice jsou

a symbol znamená maticovou transpozici .

Pokud m  =  n , iterace se zjednoduší na

,

což je přímé zobecnění Newtonovy jednorozměrné metody .

Při dosazování dat, kde je cílem najít parametry β takové, aby daný model funkcí y  =  f ( x , β ) nejlépe aproximoval datové body ( x i , y i ), jsou funkce r i zbytkové chyby

Potom lze Gaussovu-Newtonovu metodu vyjádřit pomocí jakobiánu J f funkce f

Všimněte si, že jde o pseudo -inverzní matici k .

Poznámky

Požadavek m  ≥  n v algoritmu je nutný, protože jinak matice J r T J r nemá inverzní hodnotu a normální rovnice nelze řešit (alespoň jednoznačně).

Gauss-Newtonův algoritmus lze získat pomocí lineární aproximace funkčního vektoru r i . Pomocí Taylorovy věty můžeme pro každou iteraci napsat:

,

kde . Problém najít Δ minimalizující součet čtverců na pravé straně, tzn.

,

je lineární problém nejmenších čtverců , který lze řešit explicitně a dává normální rovnice.

Normální rovnice jsou m lineárních rovnic v neznámých přírůstcích Δ. Rovnice lze řešit v jednom kroku pomocí Choleského rozkladu nebo lépe QR rozkladu matice J r . U velkých systémů může být iterační metoda účinnější, pokud se použijí metody, jako je metoda konjugovaného gradientu . Pokud existuje lineární závislost sloupců matice J r , iterační metoda selhává, protože J r T J r se stává degenerovaným.

Příklad

Tento příklad používá Gauss-Newtonův algoritmus k vytvoření datového modelu minimalizací součtu čtverců odchylek dat a modelu.

V experimentální biologii, studiu vztahu mezi koncentrací substrátu [ S ] a reakční rychlostí v enzymové modulační reakci, byly získány následující údaje.

i jeden 2 3 čtyři 5 6 7
[ S ] 0,038 0,194 0,425 0,626 1,253 2 500 3,740
Rychlost 0,050 0,127 0,094 0,2122 0,2729 0,2665 0,3317

Je nutné najít křivku (funkční model) formuláře

rychlost ,

který nejlépe aproximuje data ve smyslu nejmenších čtverců s parametry a k nalezení.

Označte pomocí a hodnoty [ S ] a rychlost z tabulky, . Nechte a . Budeme hledat a , takové, že součet čtverců odchylek

minimální.

Jacobiánem vektoru reziduí nad neznámými je matice s -tým řádkem obsahujícím prvky

Počínaje počáteční aproximací a po pěti iteracích poskytuje Gauss-Newtonův algoritmus optimální hodnoty a . Součet kvadrátů reziduí klesá z počáteční hodnoty 1,445 na 0,00784 při páté iteraci. Graf vpravo ukazuje křivku s optimálními parametry.

Konvergence

Lze ukázat [2] , že směr růstu Δ je směrem sestupu pro S , a pokud bude algoritmus konvergovat, limita bude stacionární bod pro S . Konvergence však není zaručena ani tehdy, když je počáteční bod blízko řešení , což se děje v Newtonově metodě nebo BFGS za normálních Volfeho podmínek [3] .

Rychlost konvergence Gauss-Newtonova algoritmu se blíží kvadratické [4] . Algoritmus může konvergovat pomaleji nebo vůbec ne, pokud je počáteční odhad daleko od minima nebo pokud je matice špatně podmíněná . Představte si například problém s rovnicemi a proměnnou

Výsledné optimální řešení je . (Skutečné optimum je pro , since , while .) Jestliže , pak je problém ve skutečnosti lineární a metoda najde řešení v jedné iteraci. Pokud |λ| < 1, pak metoda lineárně konverguje a chyba klesá rychlostí |λ| při každé iteraci. Pokud však |λ| > 1, pak metoda nekonverguje ani lokálně [5] .

Algoritmus založený na Newtonově metodě

Následující předpokládá, že Gauss-Newtonův algoritmus je založen na Newtonově metodě pro minimalizaci funkcí aproximací. V důsledku toho může být rychlost konvergence Gauss-Newtonova algoritmu kvadratická, pokud jsou splněny určité podmínky. V obecném případě (za slabších podmínek) může být rychlost konvergence lineární [6] .

Rekurentní vztah Newtonovy metody pro minimalizaci funkce S parametrů

kde g označuje gradientový vektor funkce S a H označuje Hessián funkce S. Protože je gradient dán rovností

Hessovské prvky jsou počítány diferencováním gradientních prvků vzhledem k

Gauss-Newtonova metoda se získá vyřazením druhé derivace (druhého členu ve výrazu). To znamená, že Hessian je aproximovaný

,

kde jsou prvky jakobiánského J r . Gradient a přibližný Hessian lze zapsat v maticovém zápisu

Tyto výrazy se dosadí do výše uvedeného rekurzního vztahu, aby se získaly provozní rovnice

Konvergence Gauss-Newtonovy metody obecně není zaručena. Přiblížení

,

který musí platit, aby bylo možné vyřadit členy s druhou derivací, lze získat ve dvou případech, u kterých se očekává konvergence [7]

  1. Hodnoty funkcí mají malou velikost, alespoň blízko minima.
  2. Funkce jsou jen "mírně" nelineární, tedy relativně malé velikosti.

Vylepšené verze

V Gauss-Newtonových metodách se součet druhých mocnin zbytků S nemusí snižovat při každé iteraci. Protože však Δ směřuje ve směru klesající funkce, pokud se nejedná o stacionární bod, platí nerovnost pro dostatečně malé . Pokud je tedy nalezena divergence, lze v aktualizačním vzorci použít zlomek vektoru přírůstku Δ:

.

Jinými slovy, vektor přírůstku je příliš dlouhý, ale ukazuje směr „sestupu“, takže pokud půjdete jen část cesty, můžete snížit hodnotu funkce S . Optimální hodnotu lze nalézt pomocí jednorozměrného vyhledávacího , to znamená, že hodnota je určena nalezením hodnoty, která minimalizuje S pomocí jednorozměrného vyhledávání na intervalu .

V případech, kdy se optimální zlomek blíží nule ve směru vektoru přírůstku, je alternativní metodou pro vypracování divergence použití Levenberg-Marquardtova algoritmu , známého také jako „metoda oblasti spolehlivosti“ [1] . Normální rovnice upraveny tak, že vektor klesání se otáčí ve směru nejstrmějšího klesání ,

,

kde D je kladná diagonální matice. Všimněte si, že pokud D je matice identity E a , pak . Směr Δ se tedy blíží směru záporného gradientu .

Takzvaný Marquardtův parametr lze optimalizovat i lineárním vyhledáváním, ale to nedává moc smysl, protože vektor posunu je potřeba při každé změně přepočítat . Efektivnější strategie je tato. Pokud je zjištěna nesrovnalost, zvyšte Marquardtův parametr, když S klesá. Poté hodnotu mezi iteracemi ponecháme, ale pokud možno ji snížíme, dokud nedosáhneme hodnoty, kdy nelze Marquardtův parametr vynulovat. Minimalizace S se pak stává standardní Gauss-Newtonovou minimalizací.

Optimalizace velkých úloh

Pro velké optimalizace je Gauss-Newtonova metoda obzvláště zajímavá, protože často (i když určitě ne vždy) je matice řidší než přibližná Hessova . V takových případech samotný krok výpočtu obvykle vyžaduje použití metody iterativní aproximace, jako je metoda konjugovaného gradientu .

Aby tento přístup fungoval, potřebujete alespoň efektivní metodu výpočtu produktu

pro nějaký vektor p . Pro uložení řídké matice je praktické ukládat řádky matice ve stlačené podobě (tj. bez nulových prvků), což ztěžuje přímý výpočet výše uvedeného součinu (kvůli transpozici). Pokud je však c i definováno jako řádek i matice , platí následující vztah:

takže jakýkoli řádek přispívá k produktu aditivně a nezávisle. Kromě toho je tento výraz dobře studován pro aplikaci paralelních výpočtů . Všimněte si, že libovolný řádek c i je gradientem odpovídajícího zbytkového r i . S ohledem na tuto okolnost výše uvedený vzorec zdůrazňuje skutečnost, že rezidua přispívají k výsledku nezávisle na sobě.

Související algoritmy

V kvazi-newtonských metodách , jako jsou metody Davidona, Fletchera a Powella nebo Broyden-Fletcher-Goldfarb-Shanno ( metoda BFGSh ), je úplná Hessova aproximace konstruována pomocí prvních derivací , takže po n upřesněních je metoda výkonem se blíží Newtonově metodě. Všimněte si, že kvazi-newtonské metody mohou minimalizovat reálné funkce obecné formy, zatímco metody Gauss-Newton, Levenberg-Marquardt atd. jsou použitelné pouze pro nelineární problémy nejmenších čtverců.

Další metodou pro řešení problémů minimalizace pomocí pouze prvních derivací je metoda sestupu gradientu . Tato metoda však nebere v úvahu druhé derivace, a to ani přibližné. V důsledku toho je metoda pro řadu funkcí krajně neefektivní, zejména v případě silného vzájemného ovlivňování parametrů.

Poznámky

  1. 1 2 Björck, 1996 .
  2. Björck, 1996 , s. 260.
  3. Mascarenhas, 2013 , str. 253–276.
  4. Björck, 1996 , s. 341, 342.
  5. Fletcher, 1987 , str. 113.
  6. Gratton, Lawless, Nichols .
  7. Nocedal, Wright, 1999 , str. 259-262.

Literatura

Odkazy

Implementace