A Gauss-Newton algoritmust a nemlineáris legkisebb négyzetek módszerével használjuk problémák megoldására . Az algoritmus a függvény minimumának meghatározására szolgáló Newton-módszer módosítása . A Gauss-Newton algoritmus a Newton módszertől eltérően csak a négyzetösszeg minimalizálására használható, előnye azonban, hogy a módszer nem igényel második derivált számítást, ami jelentős nehézséget jelenthet.
Problémák, amelyekre a nemlineáris legkisebb négyzetek módszerét alkalmazzák, például a nemlineáris regresszióban merülnek fel, amelyben a modellparamétereket keresik, amelyek a leginkább konzisztensek a megfigyelt értékekkel.
A módszer Carl Friedrich Gauss és Isaac Newton matematikusokról kapta a nevét .
Adott m n változó β = ( β 1 , …, β n ) r = ( r 1 , …, r m ) függvénye (gyakran reziduálisnak nevezett), m ≥ n esetén . A Gauss-Newton algoritmus iteratív módon megkeresi azoknak a változóknak az értékeit, amelyek minimalizálják a négyzetösszeget [1]
Néhány kezdeti közelítésből kiindulva a módszer iterál
Itt, ha r -t és β -t oszlopvektornak tekintjük, akkor a Jacobi-mátrix elemei
a szimbólum pedig mátrixtranszpozíciót jelent .
Ha m = n , az iterációkat leegyszerűsítjük
,amely Newton egydimenziós módszerének közvetlen általánosítása .
Az adatok illesztésénél, ahol a cél olyan β paraméterek megtalálása, hogy az y = f ( x , β ) függvények adott modellje a legjobban közelítse az ( x i , y i ) adatpontokat , az r i függvények maradékhibák
Ekkor a Gauss-Newton módszer az f függvény Jacobi J f -jével fejezhető ki
Ne feledje, hogy egy pszeudo -inverz mátrix .
Az m ≥ n követelmény az algoritmusban szükséges, mert különben a J r T J r mátrixnak nincs inverze, és a normálegyenletek nem oldhatók meg (legalábbis egyértelműen).
A Gauss-Newton algoritmust az r i függvényvektor lineáris közelítésével kaphatjuk meg . A Taylor-tételt használva minden iterációra felírhatjuk:
,ahol . A Δ megtalálásának problémája minimalizálja a jobb oldali négyzetek összegét, azaz.
,egy lineáris legkisebb négyzetek probléma , amely explicit módon megoldható, normál egyenleteket adva.
A normál egyenletek m lineáris egyenletek ismeretlen Δ lépésközzel. Az egyenletek egy lépésben megoldhatók a Cholesky dekompozíció , vagy jobb esetben a J r mátrix QR dekompozíciója segítségével . Nagy rendszerek esetén az iteratív módszer hatékonyabb lehet, ha olyan módszereket alkalmaznak, mint a konjugált gradiens módszer . Ha a J r mátrix oszlopai lineárisan függenek , akkor az iterációs módszer sikertelen, mert J r T J r degenerált lesz.
Ez a példa a Gauss-Newton algoritmust használja az adatmodell felépítéséhez az adatok és a modell eltéréseinek négyzetes összegének minimalizálásával.
A kísérleti biológiában, a szubsztrát koncentrációja [ S ] és a reakciósebesség közötti összefüggés vizsgálata során az enzimmodulációs reakcióban a következő adatokat kaptuk.
én | egy | 2 | 3 | négy | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
[ S ] | 0,038 | 0,194 | 0,425 | 0,626 | 1.253 | 2.500 | 3.740 |
sebesség | 0,050 | 0,127 | 0,094 | 0,2122 | 0,2729 | 0,2665 | 0,3317 |
Meg kell találni az űrlap görbéjét (függvénymodelljét).
sebesség ,amely a legjobban közelíti az adatokat a legkisebb négyzetek értelmében a paraméterekkel és a keresendő.
Jelölje az [ S ] értékeit és a sebességet a táblázatból, . Hagyjuk és . Meg fogjuk keresni és , így az eltérések négyzetes összegét
minimális.
Az ismeretlenek feletti maradékok vektorának Jacobi -féle mátrixa, amelynek -edik sora tartalmazza az elemeket
A kezdeti közelítésből kiindulva és öt iteráció után a Gauss-Newton algoritmus megadja és optimális értékeit . A négyzetes maradékok összege a kezdeti 1,445-ről 0,00784-re csökken az ötödik iterációval. A jobb oldali grafikon a görbét mutatja optimális paraméterekkel.
Megmutatható [2] , hogy Δ növekedési iránya S esetén a csökkenő iránya , és ha az algoritmus konvergál, akkor a határ az S stacionárius pontja lesz . A konvergencia azonban még akkor sem garantált, ha a kiindulási pont közel van a megoldáshoz , ami a Newton-módszerben vagy a BFGS- módszerben történik normál Volfe-feltételek mellett [3] .
A Gauss-Newton algoritmus konvergenciájának sebessége közel áll a kvadratikushoz [4] . Az algoritmus lassabban vagy egyáltalán nem konvergálhat, ha a kezdeti sejtés messze van a minimumtól, vagy ha a mátrix nem kondicionált . Például képzeljünk el egy problémát egyenletekkel és egy változóval
Az így kapott optimális megoldás a . (Az igazi optimum , mivel , while .) Ha , akkor a probléma valójában lineáris, és a módszer egy iterációban talál megoldást. Ha |λ| < 1, akkor a módszer lineárisan konvergál és a hiba |λ| sebességgel csökken minden iterációnál. Ha azonban |λ| > 1, akkor a módszer még lokálisan sem konvergál [5] .
A következőkben feltételezzük, hogy a Gauss-Newton algoritmus a Newton-módszeren alapul a függvény közelítéssel történő minimalizálására. Következésképpen a Gauss-Newton algoritmus konvergenciája négyzetes lehet, ha bizonyos feltételek teljesülnek. Általános esetben (gyengébb körülmények között) a konvergencia mértéke lineáris lehet [6] .
A Newton-módszer ismétlődési relációja a paraméterek S függvényének minimalizálására
ahol g az S függvény gradiensvektorát , H pedig az S függvény Hess-vektorát jelöli . Mivel , a gradienst az egyenlőség adja
A Hess-elemek kiszámítása a gradiens elemek megkülönböztetésével történik
A Gauss-Newton módszert a második derivált (a kifejezés második tagjának) elvetésével kapjuk meg. Vagyis a hesseni közelítő
,hol vannak a jakobi J r elemei . A gradiens és a közelítő Hess-féle mátrixjelöléssel írható fel
Ezeket a kifejezéseket behelyettesítjük a fenti rekurziós relációba, hogy megkapjuk a működési egyenleteket
A Gauss-Newton módszer konvergenciája általában nem garantált. Közelítés
,amelyeknek teljesülniük kell ahhoz, hogy a második származékkal rendelkező kifejezéseket el lehessen vetni, két olyan esetben is beszerezhető, amelyeknél konvergencia várható [7]
A Gauss-Newton módszerekben előfordulhat, hogy az S négyzetes maradékok összege nem csökken minden iterációnál. Mivel azonban Δ a függvény csökkenésének irányába irányul, ha nem stacionárius pontról van szó, az egyenlőtlenség kellően kicsire érvényes . Így, ha eltérést találunk, használhatjuk a Δ növekményvektor törtrészét a frissítési képletben:
.Vagyis a növekményvektor túl hosszú, de az "ereszkedés" irányát jelzi, így ha csak az út egy részét haladod, csökkentheted az S függvény értékét . Az optimális értéket egy egydimenziós keresési segítségével találhatjuk meg , vagyis az értéket úgy határozzuk meg, hogy megtaláljuk az S - t minimalizáló értéket egydimenziós kereséssel az intervallumon .
Azokban az esetekben, amikor az optimális tört a növekményvektor irányában nullához közeli, a divergencia kiszámításának alternatív módszere a Levenberg-Marquardt algoritmus , más néven „bizalmi régió módszer” [1] . Normál egyenletek úgy módosítva, hogy az ereszkedési vektor a legmeredekebb süllyedés irányába forog ,
,ahol D egy pozitív átlós mátrix. Vegye figyelembe, hogy ha D az E és az azonosságmátrixa , akkor . Így a Δ irány közelíti a negatív gradiens irányát .
Az úgynevezett Marquardt paramétert lineáris kereséssel is lehet optimalizálni, de ennek nincs sok értelme, hiszen az eltolásvektort minden változáskor újra kell számolni . Hatékonyabb stratégia ez. Ha eltérést talál, növelje a Marquardt-paramétert, ahogy S csökken. Ezután megtartjuk az értéket az iterációk között, de lehetőség szerint csökkentjük, amíg el nem érjük azt az értéket, ahol a Marquardt paraméter nem nullázható. Az S minimalizálása ezután a standard Gauss–Newton minimalizálássá válik.
Nagy méretű optimalizálás esetén a Gauss-Newton módszer különösen érdekes, mert gyakran (bár biztosan nem mindig) a mátrix ritka , mint a hozzávetőleges Hess-féle . Ilyen esetekben maga a számítási lépés általában iteratív közelítési módszert, például konjugált gradiens módszert igényel .
Ahhoz, hogy ez a megközelítés működjön, legalább egy hatékony módszerre van szüksége a termék kiszámításához
valamilyen p vektorra . Ritka mátrix tárolásához célszerű a mátrix sorait tömörített formában (tehát nulla elemek nélkül) tárolni, ami megnehezíti a fenti szorzat közvetlen kiszámítását (transzpozíció miatt). Ha azonban c i a mátrix i soraként van definiálva , a következő összefüggés áll fenn:
így bármely sor additív módon és függetlenül járul hozzá a termékhez. Ezenkívül ez a kifejezés jól tanulmányozott a párhuzamos számítások alkalmazására . Figyeljük meg, hogy bármelyik c i sor a megfelelő r i maradék gradiense . Ezt a körülményt figyelembe véve a fenti képlet azt a tényt hangsúlyozza, hogy a maradékok egymástól függetlenül járulnak hozzá az eredményhez.
A kvázi-newtoni módszerekben , mint például Davidon, Fletcher és Powell vagy Broyden-Fletcher-Goldfarb-Shanno módszere ( BFGSh módszer ), a teljes Hess-közelítést az első deriváltok felhasználásával állítják össze úgy, hogy n finomítás után a módszer teljesítményében közel áll a Newton-módszerhez. Megjegyezzük, hogy a kvázi-newtoni módszerek minimalizálhatják az általános formájú valós függvényeket, míg a Gauss-Newton, Levenberg-Marquardt stb. csak nemlineáris legkisebb négyzetek problémáira alkalmazhatók.
Egy másik módszer a minimalizálási problémák megoldására csak az első deriváltokkal a gradiens süllyedés módszer . Ez a módszer azonban nem veszi figyelembe a második deriváltokat, még a közelítőket sem. Ebből kifolyólag a módszer rendkívül hatástalan számos funkciónál, különösen a paraméterek erős kölcsönös befolyásolása esetén.
Optimalizálási módszerek | |
---|---|
Egydimenziós |
|
Nulla sorrend | |
Első rendelés | |
másodrendű | |
Sztochasztikus | |
Lineáris programozási módszerek | |
Nemlineáris programozási módszerek |