Gauss–Newtons metod

Från testwiki
Version från den 8 januari 2024 kl. 21.24 av imported>Plumbum208 (Korrigerat IAbot-redigering. Översatt källmallar. Referensputs)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök
Anpassning av en brusig kurva med en asymmetrisk modell för topparna med Gauss-Newton-algoritmen med variabel dämpningsfaktor α.

Överst: Rådata och modell.

Nederst: Utveckling av den normaliserade kvadratsumman av felen.

Gauss-Newtons metod används för att lösa icke-linjära minsta kvadrat-problem. Dessa uppstår till exempel vid icke-linjär regression, där parametrar i en modell söks så att modellen stämmer väl överens med tillgängliga observationer.

Det är en variant av Newtons metod för att hitta ett minimum av en funktion. Till skillnad från Newtons metod kan Gauss-Newton-algoritmen endast användas för att minimera summan av kvadrerade funktionsvärden, men den har fördelen att andraderivator, som kan vara svåra att beräkna, inte krävs.[1]

Metoden är uppkallad efter matematikerna Carl Friedrich Gauss och Isaac Newton och presenterades först i Gauss verk från 1809 Theoria motus corporum coelestium in sectionibus conicis solem ambientum.[2]

Beskrivning

Givna m funktioner r=(r1,,rm) (ofta kallade rester) av n variabler β=(β1,βn), med mn,Mall:Anmärkning hittar Gauss-Newton-algoritmen iterativt värdet av variablerna som minimerar kvadratsumman [3]

S(β)=i=1mri(β)2.

Man börjar med en första gissning β(0) och fortsätter iterativt

β(s+1)=β(s)(𝐉𝐫𝖳𝐉𝐫)1𝐉𝐫𝖳𝐫(β(s)),

där elementen i jakobianen är

(𝐉𝐫)ij=ri(β(s))βj,

r och β är kolumnvektorer och symbolen 𝖳 betecknar matristransponering.

Beräkningar

Vid varje iteration, kan uppdateringen Δ=β(s+1)β(s) hittas genom att ordna om föregående ekvation i följande två steg:

Δ=(𝐉𝐫𝖳𝐉𝐫)1𝐉𝐫𝖳𝐫(β(s))

𝐉𝐫𝖳𝐉𝐫Δ=𝐉𝐫𝖳𝐫(β(s))

Med beteckningarna A=𝐉𝐫𝖳𝐉𝐫, 𝐛=𝐉𝐫𝖳𝐫(β(s)), och 𝐱=Δ, förvandlas detta till den vanliga matrisekvationen A𝐱=𝐛, som sedan kan lösas på en mängd olika metoder (se anmärkningar ).

När 𝐫 är komplex 𝐫:n den konjugerade formen ska användas: (𝐉𝐫𝖳𝐉𝐫)1𝐉𝐫𝖳 . Om m = n, kan iterationen förenklas till

β(s+1)=β(s)(𝐉𝐫)1𝐫(β(s)),

vilket är en direkt generalisering av Newtons metod i en dimension.

Normalekvationerna är n samtidiga linjära ekvationer i okända steg Δ . De kan lösas i ett steg, med hjälp av Choleskyuppdelning, eller, bättre, QR-faktorisering av 𝐉𝐫.[4] För stora system kan en iterativ metod, såsom konjugatgradientmetoden, vara mer effektiv. Om det finns ett linjärt beroende mellan kolumner i J r kommer iterationerna att misslyckas, då 𝐉𝐫T𝐉𝐫 blir singular.

Beräkningar för dataanpassning

Inom dataanpassning, där målet är att hitta parametrarna β så att en given modell fungerar 𝐟(𝐱,β) passar bäst på vissa datapunkter (xi,yi), är funktionerna ri är residualerna :

ri(β)=yif(xi,β).

Sedan kan Gauss-Newton-metoden uttryckas i termer av jakobianen 𝐉𝐟 av funktionen 𝐟 som

β(s+1)=β(s)(𝐉𝐟𝖳𝐉𝐟)1𝐉𝐟𝖳𝐫(β(s)).

Observera att (𝐉𝐟𝖳𝐉𝐟)1𝐉𝐟𝖳 är den vänstra pseudoinversen av 𝐉𝐟 .

Exempel

Beräknad kurva erhållen med β^1=0,362 och β^2=0,556 (i blått) kontra observerade data (i rött).

I det här exemplet kommer Gauss-Newton-metoden att användas för att anpassa en modell till vissa data genom att minimera summan av kvadrater av fel mellan data och modellens förutsägelser.

I ett biologiskt experiment som studerade sambandet mellan substratkoncentration Mall:Math och reaktionshastighet Mall:Math i en enzymmedierad reaktion, erhölls data i följande tabell.

Det är önskvärt att hitta en kurva (modellfunktion) av formen

V=Vmax[S]KM+[S]

som bäst passar data i minsta kvadrat-mening. Då bestäms parametrarna Vmax och KM.

Beteckna med xi och yi värdena för Mall:Math (koncentration) och Mall:Math (hastighet) för i=1,,7. Låt β1=Vmax och β2=KM och hitta β1 och β2 så att summan av kvadraterna av residualerna

ri=yiβ1xiβ2+xi,(i=1,,7)

minimeras.

Jakobianen 𝐉𝐫 av vektorn av residualerna ri med hänsyn till de okända βj är en 7×2-matrismed där den i:te raden har elementen

riβ1=xiβ2+xi;riβ2=β1xi(β2+xi)2.

Man börjar med de första uppskattningarna β1=0,9 och β2=0,2 och efter fem iterationer av Gauss-Newton-metoden erhålls de optimala värdena β^1=0,362 och β^2=0,556 erhålls. Summan av kvadraterna på residualerna minskade från initialvärdet 1,445 till 0,00784 efter den femte iterationen. Figuren till höger visar kurvan som bestäms av modellen för de optimala parametrarna med de observerade data.

Härledning från Newtons metod

I det följande kommer Gauss–Newton-metoden att härledas från Newtons metod för funktionsoptimering via en approximation. Som en konsekvens kan konvergenshastigheten för Gauss-Newton-metoden vara kvadratisk under vissa regularitetsförhållanden. I allmänhet (under svagare förhållanden) är konvergenshastigheten linjär.[5]

Iterationsekvationen för Newtons metod för att minimera en funktion S av parametrarna β är

β(s+1)=β(s)𝐇1𝐠,

där g betecknar gradientvektorn för S och H betecknar den hessianen för S .

Eftersom S=i=1mri2, ges gradienten av

gj=2i=1mririβj.

Hessianens element beräknas genom att derivera gradientelementen, gj, med avseende på βk :

Hjk=2i=1m(riβjriβk+ri2riβjβk).

Gauss-Newton-metoden erhålls genom att försumma andra ordningens derivator (den andra termen i summanderna). Det vill säga, hessianen approximeras av

Hjk2i=1mJijJik,

där Jij=riβj är element i jakobianen J r. Gradienten och den ungefärliga hessianen kan skrivas i matrisnotation som

𝐠=2𝐉𝐫𝖳𝐫,𝐇2𝐉𝐫𝖳𝐉𝐫.

Dessa uttryck ersätts i iterationsekvationen ovan för att erhålla ekvationerna

β(s+1)=β(s)+Δ;Δ=(𝐉𝐫𝖳𝐉𝐫)1𝐉𝐫𝖳𝐫.

Konvergens av Gauss-Newton-metoden garanteras inte i alla fall. Uppskattningen

|ri2riβjβk||riβjriβk|

behöver gälla för att kunna försumma andra ordningens derivator. Det kan ske i två fall och då förväntas konvergens: [6]

  1. Funktionsvärdena ri är små i storleksordningen, åtminstone runt minimum.
  2. Funktionerna är bara "milt" olinjära, så att 2riβjβk är relativt liten i omfattning.

Anmärkningar

Mall:Anmärkningslista

Referenser

Mall:Översatt

Noter

Mall:Rekommenderad

Källor