Optimierung für Nichtmathematiker Prof. Dr. R. Herzog WS2010/11 1 / 1
Inhaltsübersicht 3Einführung in die freie Optimierung 4Orakel und Modellfunktionen 5Optimalitätsbedingungen der freien Optimierung 6Das Newton-Verfahren in der freien Optimierung 7Line-Search-Verfahren 8Gradienten-Verfahren und Skalierung 9Quasi-Newton-Verfahren 10Trust-Region-Verfahren 11Das Verfahren der konjugierten Gradienten 12Inexakte Newton-Verfahren 13Nichtlineare kleinste Quadrate 14Gauss-Newton-Verfahren 15Numerisches Differenzieren Vorlesung 6 II Freie Optimierung 2 / 29
Nichtlineare kleinste Quadrate Typisches Problem für Parameteridentifikation (optimale Parameterwahl): Minimiere eine Zielfunktion f der speziellen Gestalt f (x) = 1 2 m j=1 mit r j : R n R glatte Funktionen. r 2 j (x) = 1 2 r(x) 2 Dies ist ein nichtlineares Kleinste-Quadrate-Problem. Vorlesung 6 II Freie Optimierung 3 / 29
Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten t j werden Werte ỹ j R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte y j wird vermutet, dass sie sich für einen geeignet gewählten Parameter x R n als Funktion y j = Φ(t j ; x) der Messpunkte darstellen lassen. Bestimme den richtigen Parameter x R n. Vorlesung 6 II Freie Optimierung 4 / 29
Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten t j werden Werte ỹ j R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte y j wird vermutet, dass sie sich für einen geeignet gewählten Parameter x R n als Funktion y j = Φ(t j ; x) der Messpunkte darstellen lassen. Bestimme den richtigen Parameter x R n. Hat ein Messfehler von ε R die Wahrscheinlichkeit ϕ(ε) = 1 ε2 e 2σ 2 2πσ, 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m ( 1 )m ( 2 p(ỹ; x, t) := ϕ(ỹ j Φ(t j ; x)) = 2πσ 2 exp 1 m 2σ 2 [ỹ j Φ(t j ; x)] 2) auftreten. j=1 j=1 Vorlesung 6 II Freie Optimierung 5 / 29
Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten t j werden Werte ỹ j R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte y j wird vermutet, dass sie sich für einen geeignet gewählten Parameter x R n als Funktion y j = Φ(t j ; x) der Messpunkte darstellen lassen. Bestimme den richtigen Parameter x R n. Hat ein Messfehler von ε R die Wahrscheinlichkeit ϕ(ε) = 1 ε2 e 2σ 2 2πσ, 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m ( 1 )m ( 2 p(ỹ; x, t) := ϕ(ỹ j Φ(t j ; x)) = 2πσ 2 exp 1 m 2σ 2 [ỹ j Φ(t j ; x)] 2) j=1 auftreten. Betrachtet man p(ỹ; x, t) als Likelihood-Funktion dafür, dass x die korrekten Parameter sind, ist die beste Parameterwahl für ỹ und t in diesem Sinn ein Maximum-Likelihood-Schätzer x Argmax x p(ỹ; x, t). j=1 Vorlesung 6 II Freie Optimierung 6 / 29
Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten t j werden Werte ỹ j R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte y j wird vermutet, dass sie sich für einen geeignet gewählten Parameter x R n als Funktion y j = Φ(t j ; x) der Messpunkte darstellen lassen. Bestimme den richtigen Parameter x R n. Hat ein Messfehler von ε R die Wahrscheinlichkeit ϕ(ε) = 1 ε2 e 2σ 2 2πσ, 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m ( 1 )m ( 2 p(ỹ; x, t) := ϕ(ỹ j Φ(t j ; x)) = 2πσ 2 exp 1 m 2σ 2 [ỹ j Φ(t j ; x)] 2) j=1 auftreten. Betrachtet man p(ỹ; x, t) als Likelihood-Funktion dafür, dass x die korrekten Parameter sind, ist die beste Parameterwahl für ỹ und t in diesem Sinn ein Maximum-Likelihood-Schätzer x Argmax x p(ỹ; x, t). min f (x) := 1 2 m j=1 j=1 r 2 j (x) mit r j (x) := ỹ j Φ(t j ; x). Vorlesung 6 II Freie Optimierung 7 / 29
Spezialfall: Lineare kleinste Quadrate Sind alle r j linear/affin, also r j (x) = a j x b j : min x f (x) = 1 2 m r j (x) 2 = 1 2 Ax b 2 mit A R m n. j=1 Vorlesung 6 II Freie Optimierung 8 / 29
Spezialfall: Lineare kleinste Quadrate Sind alle r j linear/affin, also r j (x) = a j x b j : min x f (x) = 1 2 m r j (x) 2 = 1 2 Ax b 2 mit A R m n. j=1 Wegen 1 2 Ax b 2 = 1 2 (Ax b)t (Ax b) = 1 2 x T A T Ax x T A T b + 1 2 bt b und A T A 0, ist das Problem konvex quadratisch, und f (x) = 0 ist notwendige und hinreichende Optimalitätsbedingung. x ist Optimallösung x erfüllt die Normalgleichungen A T Ax = A T b. Vorlesung 6 II Freie Optimierung 9 / 29
Spezialfall: Lineare kleinste Quadrate Sind alle r j linear/affin, also r j (x) = a j x b j : min x f (x) = 1 2 m r j (x) 2 = 1 2 Ax b 2 mit A R m n. j=1 Wegen 1 2 Ax b 2 = 1 2 (Ax b)t (Ax b) = 1 2 x T A T Ax x T A T b + 1 2 bt b und A T A 0, ist das Problem konvex quadratisch, und f (x) = 0 ist notwendige und hinreichende Optimalitätsbedingung. x ist Optimallösung x erfüllt die Normalgleichungen A T Ax = A T b. Da A T A 0, bieten sich viele numerische Verfahren zur Lösung an: Cholesky-Faktorisierung von A T A (mit Pivotisieren), QR-Faktorisierung von A (recht stabil, wird aber dicht besetzt), SVD-Dekomposition (am stabilsten und teuersten) Präkonditionierte CG-Verfahren (PCG) (für Näherungslösung im large scale-bereich, falls Av und A T w billig) Vorlesung 6 II Freie Optimierung 10 / 29
Einschub: Jacobimatrix Für eine Funktion g : R n R m mit g(x) = (g 1 (x),..., g m (x)) T ist J g (x) = g 1 g 1 x 1 (x)... x n (x)..... g m g x 1 (x)... m x n (x) die Jacobimatrix von g(x) im Punkt x. = g 1 (x) T. g m (x) T Vorlesung 6 II Freie Optimierung 11 / 29
Einschub: Jacobimatrix Für eine Funktion g : R n R m mit g(x) = (g 1 (x),..., g m (x)) T ist J g (x) = g 1 g 1 x 1 (x)... x n (x)..... g m g x 1 (x)... m x n (x) = g 1 (x) T. g m (x) T die Jacobimatrix von g(x) im Punkt x. So ist z.b. 2 f (x) = J f (x). Vorlesung 6 II Freie Optimierung 12 / 29
Einschub: Jacobimatrix Für eine Funktion g : R n R m mit g(x) = (g 1 (x),..., g m (x)) T ist J g (x) = g 1 g 1 x 1 (x)... x n (x)..... g m g x 1 (x)... m x n (x) = g 1 (x) T. g m (x) T die Jacobimatrix von g(x) im Punkt x. So ist z.b. 2 f (x) = J f (x). g(x + h) = g(x) + J g (x)h + o(h) ist das lineare Modell von g im Punkt x. Vorlesung 6 II Freie Optimierung 13 / 29
Nichtlineare kleinste Quadrate mit kleinen Residuen min x f (x) := 1 2 r(x) 2 = 1 2 m j=1 r 2 j (x) mit r(x) = r 1 (x). r m (x) und in einer Umgebung von x sei r(x) klein (=kleine Residuen). Vorlesung 6 II Freie Optimierung 14 / 29
Nichtlineare kleinste Quadrate mit kleinen Residuen min x f (x) := 1 2 r(x) 2 = 1 2 m j=1 r 2 j (x) mit r(x) = r 1 (x). r m (x) und in einer Umgebung von x sei r(x) klein (=kleine Residuen). Betrachte Gradienten und Hessematrix von f (Kettenregel): f (x) = m j=1 r j(x) r j (x) = J r (x) T r(x) Vorlesung 6 II Freie Optimierung 15 / 29
Nichtlineare kleinste Quadrate mit kleinen Residuen min x f (x) := 1 2 r(x) 2 = 1 2 m j=1 r 2 j (x) mit r(x) = r 1 (x). r m (x) und in einer Umgebung von x sei r(x) klein (=kleine Residuen). Betrachte Gradienten und Hessematrix von f (Kettenregel): f (x) = m j=1 r j(x) r j (x) = J r (x) T r(x) 2 f (x) = m j=1 r j(x) r j (x) T + m j=1 r j(x) 2 r j (x) = J r (x) T J r (x) + m j=1 r j(x) 2 r j (x) J r (x) T J r (x) }{{} klein J r (x) T J r (x) liefert eine gute Näherung für die Hessematrix. Vorlesung 6 II Freie Optimierung 16 / 29
Inhaltsübersicht 3Einführung in die freie Optimierung 4Orakel und Modellfunktionen 5Optimalitätsbedingungen der freien Optimierung 6Das Newton-Verfahren in der freien Optimierung 7Line-Search-Verfahren 8Gradienten-Verfahren und Skalierung 9Quasi-Newton-Verfahren 10Trust-Region-Verfahren 11Das Verfahren der konjugierten Gradienten 12Inexakte Newton-Verfahren 13Nichtlineare kleinste Quadrate 14Gauss-Newton-Verfahren 15Numerisches Differenzieren Vorlesung 6 II Freie Optimierung 17 / 29
Das Gauss-Newton-Verfahren Zur Lösung von min x f (x) := 1 2 r(x) 2 mit r : R n R m wähle statt der Newton-Schrittrichtung 2 f k hk N = f k die Gauss-Newton-Richtung J T k J k h GN k = J T k r k, wobei J k := J r (x (k) ), r k := r(x (k) ) Vorlesung 6 II Freie Optimierung 18 / 29
Das Gauss-Newton-Verfahren Zur Lösung von min x f (x) := 1 2 r(x) 2 mit r : R n R m wähle statt der Newton-Schrittrichtung 2 f k hk N = f k die Gauss-Newton-Richtung J T k J k h GN k = J T k r k, wobei J k := J r (x (k) ), r k := r(x (k) ) Vorteile: Es muss keine zweite Ableitung von r(x) berechnet werden. Ist r k klein (kleine Residuen), ist J T k J k gute Näherung für 2 f. Vorlesung 6 II Freie Optimierung 19 / 29
Das Gauss-Newton-Verfahren Zur Lösung von min x f (x) := 1 2 r(x) 2 mit r : R n R m wähle statt der Newton-Schrittrichtung 2 f k hk N = f k die Gauss-Newton-Richtung J T k J k h GN k = J T k r k, wobei J k := J r (x (k) ), r k := r(x (k) ) Vorteile: Es muss keine zweite Ableitung von r(x) berechnet werden. Ist r k klein (kleine Residuen), ist Jk TJ k gute Näherung für 2 f. Ist Rang(J k ) = n (d.h. Jk TJ k 0) und f k 0, so ist hk GN Abstiegsrichtung: (hk GN ) T f k = (hk GN ) T Jk T r k = (hk GN ) T Jk TJ k hk GN = J k hk GN 2 < 0, denn wegen Jk TJ k 0 ist J k hk GN = 0 Jk T r k = f k = 0. Vorlesung 6 II Freie Optimierung 20 / 29
Das Gauss-Newton-Verfahren Zur Lösung von min x f (x) := 1 2 r(x) 2 mit r : R n R m wähle statt der Newton-Schrittrichtung 2 f k hk N = f k die Gauss-Newton-Richtung J T k J k h GN k = J T k r k, wobei J k := J r (x (k) ), r k := r(x (k) ) Vorteile: Es muss keine zweite Ableitung von r(x) berechnet werden. Ist r k klein (kleine Residuen), ist Jk TJ k gute Näherung für 2 f. Ist Rang(J k ) = n (d.h. Jk TJ k 0) und f k 0, so ist hk GN Abstiegsrichtung: (hk GN ) T f k = (hk GN ) T Jk T r k = (hk GN ) T Jk TJ k hk GN = J k hk GN 2 < 0, denn wegen Jk TJ k 0 ist J k hk GN = 0 Jk T r k = f k = 0. Die Gleichung für hk GN hat die Form A T Ax = A T b (Normalgleichung) hk GN ist Lösung des linearen Kleinste-Quadrate-Problems min h Jk T h r k 2 alle numerischen Verfahren des linearen Falls sind verwendbar. Vorlesung 6 II Freie Optimierung 21 / 29
Das Gauss-Newton-Verfahren Zur Lösung von min x f (x) := 1 2 r(x) 2 mit r : R n R m wähle statt der Newton-Schrittrichtung 2 f k hk N = f k die Gauss-Newton-Richtung J T k J k h GN k = J T k r k, wobei J k := J r (x (k) ), r k := r(x (k) ) Vorteile: Es muss keine zweite Ableitung von r(x) berechnet werden. Ist r k klein (kleine Residuen), ist Jk TJ k gute Näherung für 2 f. Ist Rang(J k ) = n (d.h. Jk TJ k 0) und f k 0, so ist hk GN Abstiegsrichtung: (hk GN ) T f k = (hk GN ) T Jk T r k = (hk GN ) T Jk TJ k hk GN = J k hk GN 2 < 0, denn wegen Jk TJ k 0 ist J k hk GN = 0 Jk T r k = f k = 0. Die Gleichung für hk GN hat die Form A T Ax = A T b (Normalgleichung) hk GN ist Lösung des linearen Kleinste-Quadrate-Problems min h Jk T h r k 2 alle numerischen Verfahren des linearen Falls sind verwendbar. Ist Rang(J k ) < n, verwendet man im Levenberg-Marquardt-Verfahren (Jk T J k + λi )h = J k r k, mit ähnlichen Anpassungsregeln für λ wie für die Trust-Region. [Interpretiere λ als Lagrange-Multiplikator für die Trust-Region-Constraint.] Vorlesung 6 II Freie Optimierung 22 / 29
Inhaltsübersicht 3Einführung in die freie Optimierung 4Orakel und Modellfunktionen 5Optimalitätsbedingungen der freien Optimierung 6Das Newton-Verfahren in der freien Optimierung 7Line-Search-Verfahren 8Gradienten-Verfahren und Skalierung 9Quasi-Newton-Verfahren 10Trust-Region-Verfahren 11Das Verfahren der konjugierten Gradienten 12Inexakte Newton-Verfahren 13Nichtlineare kleinste Quadrate 14Gauss-Newton-Verfahren 15Numerisches Differenzieren Vorlesung 6 II Freie Optimierung 23 / 29
Wie berechnet man f ( 2 f ) für das Orakel 1. (2.) Ordnung? Vorlesung 6 II Freie Optimierung 24 / 29
Wie berechnet man f ( 2 f ) für das Orakel 1. (2.) Ordnung? Falls f analytisch vorliegt: von Hand differenzieren oder Matlab, Maple,... nutzen Falls f nur als Unterprogramm gegeben ist oder symbolisches Differenzieren fehlschlägt: Numerisches Differenzieren Automatisches Differenzieren (falls Source-Code verfügbar) Für beides gibt es kommerzielle und frei verfügbare Software. Vorlesung 6 II Freie Optimierung 25 / 29
Numerisches Differenzieren Für die Berechnung von f ( x) werden die partiellen Ableitungen durch Differenzenquotienten angenähert [Vorsicht: Stellenauslöschung!]: Vorwärtsdifferenz f ( x) f ( x + he i) f ( x) x i h zentrale Differenz f ( x) f ( x + he i) f ( x he i ) x i 2h Näherung 1. Ordnung Näherung 2. Ordnung Vorlesung 6 II Freie Optimierung 26 / 29
Vorwärtsdifferenz Vorwärtsdifferenz f ( x) f ( x + he i) f ( x) x i h Näherung 1. Ordnung Zum Problem der Stellenauslöschung im Zähler: Numerik: Sei ε das Maschinenepsilon, also die größte Fließkomma-Zahl mit float(1 + ε)=float(1). Dann liefert die Wahl h = ε = ε 1 2 das beste Ergebnis. Damit wird f x i ( x) bis auf einen Fehler der Größe const h genau bestimmt (oft zu ungenau). Vorlesung 6 II Freie Optimierung 27 / 29
Zentrale Differenz zentrale Differenz f ( x) f ( x + he i) f ( x he i ) x i 2h Näherung 2. Ordnung Zum Problem der Stellenauslöschung im Zähler: Numerik: Sei ε das Maschinenepsilon, also die größte Fließkomma-Zahl mit float(1 + ε)=float(1). Dann liefert die Wahl h = ε 2 3 das beste Ergebnis. Damit wird f x i ( x) bis auf einen Fehler der Größe const h 2 genau bestimmt. Vorlesung 6 II Freie Optimierung 28 / 29
Praktische Aspekte des Numerischen Differenzierens Bei der Berechung von 2 f oder der Jacobimatrix J g einer Funktion g : R n R m rentiert es sich zu untersuchen, ob eine eventuelle Dünnbesetztheit (viele Nullen) der Matrizen genutzt werden kann, um die Anzahl der Funktionsauswertungen zu reduzieren. Dies wird hier nicht weiter vertieft. Vorlesung 6 II Freie Optimierung 29 / 29