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 .
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 .
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.
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.
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] .
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]
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í.
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ě.
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ů.
Optimalizační metody | |
---|---|
Jednorozměrný |
|
Nulové pořadí | |
První objednávka | |
druhá objednávka | |
Stochastické | |
Metody lineárního programování | |
Metody nelineárního programování |