Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Gauß-Newton-Verfahren

Das Gauß-Newton-Verfahren (nach Carl Friedrich Gauß und Isaac Newton) ist ein numerisches Verfahren zur Lösung nichtlinearer Minimierungsprobleme nach der …

Inhalt5 Abschnitte
  1. 1. Grundidee und Einsatz
  2. 2. Das Optimierungsproblem
  3. 3. Linearisierung und Iterationsschritt
  4. 4. Konvergenz und Stabilisierung
  5. 5. Beispiel: Rosenbrock-Funktion

Grundidee und Einsatz

Das Gauß-Newton-Verfahren ist ein numerisches Verfahren zur Lösung nichtlinearer Minimierungsprobleme nach der Methode der kleinsten Quadrate. Es ist mit dem Newton-Verfahren verwandt, benötigt aber keine Berechnung der zweiten Ableitung. Das ist besonders bei großen Problemen mit mehreren zehntausend Parametern wichtig, weil die zweite Ableitung dort ein begrenzender Faktor sein kann.

Gesucht wird ein Parametervektor, der die Summe quadrierter Fehler möglichst klein macht. Dazu wird die nichtlineare Funktion zunächst lokal durch eine lineare Funktion angenähert. Diese Linearisierung wird anschließend mit der Methode der kleinsten Quadrate optimiert. Aus dem Ergebnis entsteht ein neuer Iterationspunkt.

Das Optimierungsproblem

Das Verfahren löst Probleme der Form

minₓ∈ℝⁿ { ½ ∑ᵢ₌₁ᵐ (fᵢ(x))² },

wobei fᵢ: ℝⁿ → ℝ stetig differenzierbare Funktionen und m ≥ n gilt. Mit der euklidischen Norm kann dasselbe Problem als

minₓ∈ℝⁿ { ½ ‖f(x)‖² }

geschrieben werden. Dabei ist f = (f₁, …, fₘ): ℝⁿ → ℝᵐ.

Das nichtlineare Gleichungsproblem f(x) = 0 ist unter der Voraussetzung, dass f eine Nullstelle besitzt, äquivalent zur Minimierung von ½‖f(x)‖². Das Verfahren wird außerdem häufig für nichtlineare Ausgleichsprobleme eingesetzt. In diesem Fall beschreiben die Funktionen fᵢ(x) die Abweichung einer Modellfunktion g(x) von bekannten Beobachtungen oder Messwerten yᵢ:

fᵢ(x) = g(x) − yᵢ.

Ist g eine lineare Abbildung, erhält man den Standardfall der Methode der kleinsten Quadrate mit linearer Modellfunktion.

Linearisierung und Iterationsschritt

Im Punkt x⁰ ∈ ℝⁿ wird f durch die Taylorentwicklung erster Ordnung angenähert:

f̃(x) = f(x⁰) + ∇f(x⁰)ᵀ(x − x⁰).

Die Matrix ∇f(x⁰)ᵀ wird als Jacobi-Matrix J bezeichnet. Durch Einsetzen der Linearisierung entsteht das lineare kleinste-Quadrate-Problem

minₓ∈ℝⁿ { ½‖J(x − x⁰) + f(x⁰)‖² }.

Der Gradient dieser Zielfunktion ist

Jᵀ(J(x − x⁰) + f(x⁰)).

Setzt man ihn gleich null, erhält man die Normalgleichungen

JᵀJ(x − x⁰) = −Jᵀf(x⁰).

Falls JᵀJ invertierbar ist, lautet die Lösung

x = x⁰ − (JᵀJ)⁻¹Jᵀf(x⁰).

Daraus folgt der Gauß-Newton-Iterationsschritt

xᵏ⁺¹ = xᵏ − αᵏ((J|ₓᵏ)ᵀJ|ₓᵏ)⁻¹(J|ₓᵏ)ᵀf(xᵏ).

Hier bedeutet J|ₓᵏ, dass die Jacobi-Matrix am Punkt xᵏ ausgewertet wird. αᵏ ≥ 0 ist die Schrittweite. In jedem Schritt wird also die aktuelle nichtlineare Funktion linearisiert, ein lineares kleinste-Quadrate-Problem gelöst und der neue Punkt berechnet.

Für das entstehende lineare Gleichungssystem gibt es je nach Größe und Struktur des Problems verschiedene Verfahren:

  • Kleine Probleme mit n < 1000 und m < 10000 werden am besten mit der QR-Zerlegung gelöst.
  • Für große Probleme eignet sich die Cholesky-Zerlegung, weil JᵀJ von Konstruktion aus symmetrisch ist. Für dünnbesetzte Matrizen JᵀJ gibt es speziell angepasste Cholesky-Varianten.
  • Allgemein kann das CG-Verfahren verwendet werden; dabei ist üblicherweise eine Vorkonditionierung notwendig.

Konvergenz und Stabilisierung

Der Update-Vektor hat die Form

d = −DJᵀf(x), wobei D = (JᵀJ)⁻¹.

Hat J vollen Rang, dann sind JᵀJ und D positiv definit. Da Jᵀf(x) der Gradient des quadratischen Problems ½‖f(x)‖² ist, ist d eine Abstiegsrichtung. Es gilt

(Jᵀf(x))ᵀd < 0.

Bei geeigneter Wahl der Schrittweite αᵏ folgt daraus die Konvergenz zu einem stationären Punkt. Das Verfahren kann daher im Wesentlichen als skaliertes Gradientenverfahren mit der positiv definiten Skalierungsmatrix D verstanden werden.

Eine allgemeine Aussage über die Konvergenzgeschwindigkeit ist nicht möglich. Liegt der Startpunkt x⁰ sehr weit vom Optimum entfernt oder ist JᵀJ schlecht konditioniert, kann die Konvergenz unter Umständen nur sublinear sein. In vielen praktischen Anwendungen ist sie jedoch deutlich schneller und kann in bestimmten Fällen sogar die quadratische Konvergenz des Newton-Verfahrens erreichen.

Die Taylorentwicklung zweiter Ordnung der Zielfunktion wird beschrieben durch

f̃(x) ≈ f(x⁰) + ∇f(x⁰)ᵀ(x − x⁰) + ½(x − x⁰)ᵀH(x⁰)(x − x⁰),

wobei H(x⁰) die Hesse-Matrix im Punkt x⁰ ist. Ist H(x) klein, etwa weil f(x) fast linear ist oder die Komponentenfunktionen fᵢ(x) in der Nähe des Optimums sehr klein sind, kann der quadratische Term vernachlässigt werden; dann konvergiert das Gauß-Newton-Verfahren superlinear. Gilt im optimalen Punkt x* außerdem H(x*) = 0, ist der entsprechende Newton-Schritt identisch mit dem Gauß-Newton-Schritt, und die Konvergenz ist quadratisch.

Bei schlecht konditioniertem oder singulärem JᵀJ kann der Iterationsschritt durch eine Diagonalmatrix Δᵏ stabilisiert werden:

xᵏ⁺¹ = xᵏ − αᵏ((J|ₓᵏ)ᵀJ|ₓᵏ + Δᵏ)⁻¹(J|ₓᵏ)ᵀf(xᵏ).

Δᵏ wird so gewählt, dass J|ₓᵏᵀJ|ₓᵏ + Δᵏ positiv definit ist. Mit Δᵏ = βᵏI und β ≥ 0, also einem skalaren Vielfachen der Identitätsmatrix, erhält man den Levenberg-Marquardt-Algorithmus.

Beispiel: Rosenbrock-Funktion

Die Rosenbrock-Funktion ist ein typischer Test für Optimierungsverfahren, weil sie ein schmales und flaches Tal besitzt, in dem iterative Methoden nur kleine Schritte machen können. Sie lautet

g: ℝ² → ℝ: x ↦ (a − x₁)² + b(x₂ − x₁²)².

Üblicherweise werden a = 1 und b = 100 gewählt. Dann liegt das globale Optimum bei x* = (1, 1) mit g(x*) = 0.

Damit die Funktion als Summe von Quadraten dargestellt werden kann, setzt man

f₁(x) = √2(a − x₁),

f₂(x) = √(2b)(x₂ − x₁²).

Damit lautet das Gauß-Newton-Problem minₓ∈ℝ² ½‖f(x)‖² mit

f(x) = (√2(a − x₁), √(2b)(x₂ − x₁²))ᵀ.

Die Jacobi-Matrix ist

J = [−√2, 0; −2x₁√(2b), √(2b)],

und

JᵀJ = [8bx₁² + 2, −4bx₁; −4bx₁, 2b].

Da J vollen Rang hat, ist JᵀJ positiv definit und seine Inverse existiert.

Für die Schrittweite wird eine einfache Liniensuche verwendet: Man startet mit αᵏ = 1, berechnet den Kandidaten x̃ = xᵏ + αᵏd und akzeptiert ihn, wenn g(x̃) < g(xᵏ) gilt. Andernfalls wird αᵏ halbiert und der Kandidat erneut berechnet. Diese Suche garantiert wegen der Abstiegsrichtung d einen kleineren Funktionswert, gegebenenfalls mit sehr kleiner Schrittweite.

Beim Startpunkt x⁰ = (0, −0.1) erreicht das Verfahren das Optimum in wenigen Iterationen. Die Funktionswerte sinken von 2 über 1.8291, 1.6306, 1.6131, 1.3000, 1.0300 und 0.2150 bis zu 1.1212e−27 beim Punkt (1.0, 1.0) in Iteration 7.

Zum Vergleich erreicht das Gradientenverfahren mit derselben Liniensuche selbst nach 500 Iterationen das Optimum nicht. Es endet bei ungefähr (0.8513, 0.7233) mit dem Funktionswert 0.0223. Das Beispiel zeigt den möglichen Geschwindigkeitsvorteil des Gauß-Newton-Verfahrens bei dieser nichtlinearen kleinste-Quadrate-Aufgabe.

Weiterlesen

Carl Friedrich Gauß Gauß-Newton-Verfahren, ein Verfahren zur Lösung nichtlinearer Gleichungen; Gauß-Seidel-Verfahren, ein Verfahren zur Lösung von linearen Gleichungssystemen … Isaac Newton Auf der Grundlage des physikalischen Kraftbegriffes werden erstmals die Bewegungsgesetze der irdischen und der himmlischen Körper mathematisch vereinheitlicht, … Euklidische Norm Im zwei- und dreidimensionalen euklidischen Raum entspricht die euklidische Norm der anschaulichen Länge oder dem Betrag eines Vektors und kann mit dem Satz des … Nullstelle Nullstelle ist ein Begriff der Mathematik im Zusammenhang mit Funktionen. Nullstellen graphisch: einfache Nullstelle mit Vorzeichenwechsel (also mit … Lineare Abbildung Eine lineare Abbildung zwischen endlichdimensionalen Vektorräumen ist durch die Bilder der Vektoren einer Basis eindeutig bestimmt. Bilden die Vektoren b · {\ … Linearisierung Die Linearisierung wird angewandt, da lineare Funktionen oder lineare Differentialgleichungen einfach berechnet werden können und die Theorie umfangreicher als … Jacobi-Matrix Genutzt wird die Jacobi-Matrix zum Beispiel zur annähernden Berechnung (Approximation) oder Minimierung mehrdimensionaler Funktionen in der Mathematik. Lineares Gleichungssystem Die Cramersche Regel verwendet Determinanten, um Formeln für die Lösung eines quadratischen linearen Gleichungssystems zu erzeugen, wenn dieses eindeutig lösbar … Dünnbesetzte Matrix In der numerischen Mathematik bezeichnet man als dünnbesetzte oder schwachbesetzte Matrix (englisch sparse matrix) eine Matrix, bei der so viele Einträge … Gradient (Mathematik) Der Betrag („Länge“) dieses Vektors gibt an, wie stark die (größte) Steigung an diesem Punkt ist. Zu jeder Stelle ( x , y ) {\displaystyle (x,y)} … Hesse-Matrix Extremwerte · Ist die Matrix an einer Stelle positiv definit, so befindet sich an diesem Punkt ein lokales Minimum der Funktion. · Ist die Hesse-Matrix dort … Rang (Lineare Algebra) Der Rang ist ein Begriff aus der linearen Algebra. Man ordnet ihn einer Matrix oder einer linearen Abbildung zu. Übliche Schreibweisen sind rang ⁡ ( f ) …