Optimierung für Nichtmathematiker Prof. Dr. R. Herzog WS2010/11 1/1 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate Typisches Problem für Parameteridentifikation (optimale Parameterwahl): Minimiere eine Zielfunktion f der speziellen Gestalt m f (x) = 1X 2 1 rj (x) = kr (x)k2 2 2 j=1 mit rj : Rn → R glatte Funktionen. Dies ist ein nichtlineares Kleinste-Quadrate-Problem. Vorlesung 6 II Freie Optimierung 3 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten tj werden Werte ỹj ∈ R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte yj wird vermutet, dass sie sich für einen geeignet gewählten Parameter x ∈ Rn als Funktion yj = Φ(tj ; x) der Messpunkte darstellen lassen. Bestimme den „richtigen“ Parameter x ∈ Rn . Vorlesung 6 II Freie Optimierung 4 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten tj werden Werte ỹj ∈ R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte yj wird vermutet, dass sie sich für einen geeignet gewählten Parameter x ∈ Rn als Funktion yj = Φ(tj ; x) der Messpunkte darstellen lassen. Bestimme den „richtigen“ Parameter x ∈ Rn . Hat ein Messfehler von ε ∈ R die „Wahrscheinlichkeit“ ε2 1 ϕ(ε) = √2πσ e − 2σ2 , 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m m 1 m2 Y 1 X 2 p(ỹ ; x, t) := ϕ(ỹj − Φ(tj ; x)) = exp − [ỹ − Φ(t ; x)] j j 2πσ 2 2σ 2 j=1 j=1 auftreten. Vorlesung 6 II Freie Optimierung 5 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten tj werden Werte ỹj ∈ R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte yj wird vermutet, dass sie sich für einen geeignet gewählten Parameter x ∈ Rn als Funktion yj = Φ(tj ; x) der Messpunkte darstellen lassen. Bestimme den „richtigen“ Parameter x ∈ Rn . Hat ein Messfehler von ε ∈ R die „Wahrscheinlichkeit“ ε2 1 ϕ(ε) = √2πσ e − 2σ2 , 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m m 1 m2 Y 1 X 2 p(ỹ ; x, t) := ϕ(ỹj − Φ(tj ; x)) = exp − [ỹ − Φ(t ; x)] j j 2πσ 2 2σ 2 j=1 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̄ ∈ Argmaxx p(ỹ ; x, t). Vorlesung 6 II Freie Optimierung 6 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate Beispiel: An m Messpunkten tj werden Werte ỹj ∈ R mit unabhängigen, (0, σ 2 )-normalverteilten Messfehlern gemessen. Für die korrekten Messwerte yj wird vermutet, dass sie sich für einen geeignet gewählten Parameter x ∈ Rn als Funktion yj = Φ(tj ; x) der Messpunkte darstellen lassen. Bestimme den „richtigen“ Parameter x ∈ Rn . Hat ein Messfehler von ε ∈ R die „Wahrscheinlichkeit“ ε2 1 ϕ(ε) = √2πσ e − 2σ2 , 2 würden für korrekte Parameter x die Messwerte ỹ mit Wahrscheinlichkeit m m 1 m2 Y 1 X 2 p(ỹ ; x, t) := ϕ(ỹj − Φ(tj ; x)) = exp − [ỹ − Φ(t ; x)] j j 2πσ 2 2σ 2 j=1 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̄ ∈ Argmaxx p(ỹ ; x, t). m min f (x) := 1X 2 rj (x) mit rj (x) := ỹj − Φ(tj ; x). 2 j=1 Vorlesung 6 II Freie Optimierung 7 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Spezialfall: Lineare kleinste Quadrate Sind alle rj linear/affin, also rj (x) = aj> x − bj : m min f (x) = x Vorlesung 6 1X 1 rj (x)2 = kAx − bk2 2 2 mit A ∈ Rm×n . j=1 II Freie Optimierung 8 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Spezialfall: Lineare kleinste Quadrate Sind alle rj linear/affin, also rj (x) = aj> x − bj : m min f (x) = x 1X 1 rj (x)2 = kAx − bk2 2 2 mit A ∈ Rm×n . j=1 Wegen 12 kAx − bk2 = 21 (Ax − b)T(Ax − b) = 12 x TATAx − x TATb + 12 b T b und ATA 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 ATAx = ATb. Vorlesung 6 II Freie Optimierung 9 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Spezialfall: Lineare kleinste Quadrate Sind alle rj linear/affin, also rj (x) = aj> x − bj : m min f (x) = x 1X 1 rj (x)2 = kAx − bk2 2 2 mit A ∈ Rm×n . j=1 Wegen 12 kAx − bk2 = 21 (Ax − b)T(Ax − b) = 12 x TATAx − x TATb + 12 b T b und ATA 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 ATAx = ATb. Da ATA 0, bieten sich viele numerische Verfahren zur Lösung an: • Cholesky-Faktorisierung von ATA (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 AT w billig) Vorlesung 6 II Freie Optimierung 10 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Einschub: Jacobimatrix Für eine Funktion g : Rn → Rm mit g (x) = (g1 (x), . . . , gm (x))T ist ∂g1 ∂x1 (x) ... . .. . Jg (x) = . . ∂gm ∂x1 (x) . . . ∂g1 ∂xn (x) ∇g1 (x)T .. .. = . . T ∂gm ∇g (x) m ∂xn (x) die Jacobimatrix von g (x) im Punkt x. Vorlesung 6 II Freie Optimierung 11 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Einschub: Jacobimatrix Für eine Funktion g : Rn → Rm mit g (x) = (g1 (x), . . . , gm (x))T ist ∂g1 ∂x1 (x) ... . .. . Jg (x) = . . ∂gm ∂x1 (x) . . . ∂g1 ∂xn (x) ∇g1 (x)T .. .. = . . T ∂gm ∇g (x) m ∂xn (x) 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Einschub: Jacobimatrix Für eine Funktion g : Rn → Rm mit g (x) = (g1 (x), . . . , gm (x))T ist ∂g1 ∂x1 (x) ... . .. . Jg (x) = . . ∂gm ∂x1 (x) . . . ∂g1 ∂xn (x) ∇g1 (x)T .. .. = . . T ∂gm ∇g (x) m ∂xn (x) die Jacobimatrix von g (x) im Punkt x. So ist z.B. ∇2 f (x) = J∇f (x). g (x + h) = g (x) + Jg (x)h + o(h) ist das lineare Modell von g im Punkt x. Vorlesung 6 II Freie Optimierung 13 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate mit kleinen Residuen r1 (x) 1 .. min f (x) := kr (x)k2 = rj2 (x) mit r (x) = . x 2 2 j=1 rm (x) m 1X und in einer Umgebung von x ∗ sei kr (x)k klein (=kleine Residuen). Vorlesung 6 II Freie Optimierung 14 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate mit kleinen Residuen r1 (x) 1 .. min f (x) := kr (x)k2 = rj2 (x) mit r (x) = . x 2 2 j=1 rm (x) m 1X und in einer Umgebung von x ∗ sei kr (x)k klein (=kleine Residuen). Betrachte Gradienten und Hessematrix von f (Kettenregel): Pm T ∇f (x) = j=1 rj (x)∇rj (x) = Jr (x) r (x) Vorlesung 6 II Freie Optimierung 15 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Nichtlineare kleinste Quadrate mit kleinen Residuen r1 (x) 1 .. min f (x) := kr (x)k2 = rj2 (x) mit r (x) = . x 2 2 j=1 rm (x) m 1X und in einer Umgebung von x ∗ sei kr (x)k klein (=kleine Residuen). Betrachte Gradienten und Hessematrix von f (Kettenregel): Pm T ∇f (x) = j=1 rj (x)∇rj (x) = Jr (x) r (x) Pm Pm T 2 ∇2 f (x) = j=1 ∇rj (x)∇rj (x) + j=1 rj (x)∇ rj (x) P m = Jr (x)T Jr (x) + j=1 rj (x) ∇2 rj (x) ≈ Jr (x)T Jr (x) |{z} klein → Jr (x)T Jr (x) liefert eine gute Näherung für die Hessematrix. Vorlesung 6 II Freie Optimierung 16 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Das Gauss-Newton-Verfahren Zur Lösung von minx f (x) := 21 kr (x)k2 mit r : Rn → Rm wähle statt der Newton-Schrittrichtung ∇2 fk hkN = −∇fk die Gauss-Newton-Richtung JkTJk hkGN = −JkT rk , Vorlesung 6 wobei Jk := Jr (x (k) ), rk := r (x (k) ) II Freie Optimierung 18 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Das Gauss-Newton-Verfahren Zur Lösung von minx f (x) := 21 kr (x)k2 mit r : Rn → Rm wähle statt der Newton-Schrittrichtung ∇2 fk hkN = −∇fk die Gauss-Newton-Richtung JkTJk hkGN = −JkT rk , wobei Jk := Jr (x (k) ), rk := r (x (k) ) Vorteile: • Es muss keine zweite Ableitung von r (x) berechnet werden. • Ist rk klein (kleine Residuen), ist JkTJk gute Näherung für ∇2 f . Vorlesung 6 II Freie Optimierung 19 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Das Gauss-Newton-Verfahren Zur Lösung von minx f (x) := 21 kr (x)k2 mit r : Rn → Rm wähle statt der Newton-Schrittrichtung ∇2 fk hkN = −∇fk die Gauss-Newton-Richtung JkTJk hkGN = −JkT rk , wobei Jk := Jr (x (k) ), rk := r (x (k) ) Vorteile: • Es muss keine zweite Ableitung von r (x) berechnet werden. • Ist rk klein (kleine Residuen), ist JkTJk gute Näherung für ∇2 f . • Ist Rang(Jk ) = n (d.h. JkTJk 0) und ∇fk 6= 0, so ist hkGN Abstiegsrichtung: (hkGN )T ∇fk = (hkGN )T JkT rk = −(hkGN )T JkTJk hkGN = −kJk hkGN k2 < 0, denn wegen JkTJk 0 ist Jk hkGN = 0 ⇔ JkT rk = ∇fk = 0. Vorlesung 6 II Freie Optimierung 20 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Das Gauss-Newton-Verfahren Zur Lösung von minx f (x) := 21 kr (x)k2 mit r : Rn → Rm wähle statt der Newton-Schrittrichtung ∇2 fk hkN = −∇fk die Gauss-Newton-Richtung JkTJk hkGN = −JkT rk , wobei Jk := Jr (x (k) ), rk := r (x (k) ) Vorteile: • Es muss keine zweite Ableitung von r (x) berechnet werden. • Ist rk klein (kleine Residuen), ist JkTJk gute Näherung für ∇2 f . • Ist Rang(Jk ) = n (d.h. JkTJk 0) und ∇fk 6= 0, so ist hkGN Abstiegsrichtung: (hkGN )T ∇fk = (hkGN )T JkT rk = −(hkGN )T JkTJk hkGN = −kJk hkGN k2 < 0, denn wegen JkTJk 0 ist Jk hkGN = 0 ⇔ JkT rk = ∇fk = 0. • Die Gleichung für hkGN hat die Form ATAx = AT b (Normalgleichung) hkGN ist Lösung des linearen Kleinste-Quadrate-Problems minh kJkT h − rk k2 ⇒ alle numerischen Verfahren des linearen Falls sind verwendbar. Vorlesung 6 II Freie Optimierung 21 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Das Gauss-Newton-Verfahren Zur Lösung von minx f (x) := 21 kr (x)k2 mit r : Rn → Rm wähle statt der Newton-Schrittrichtung ∇2 fk hkN = −∇fk die Gauss-Newton-Richtung JkTJk hkGN = −JkT rk , wobei Jk := Jr (x (k) ), rk := r (x (k) ) Vorteile: • Es muss keine zweite Ableitung von r (x) berechnet werden. • Ist rk klein (kleine Residuen), ist JkTJk gute Näherung für ∇2 f . • Ist Rang(Jk ) = n (d.h. JkTJk 0) und ∇fk 6= 0, so ist hkGN Abstiegsrichtung: (hkGN )T ∇fk = (hkGN )T JkT rk = −(hkGN )T JkTJk hkGN = −kJk hkGN k2 < 0, denn wegen JkTJk 0 ist Jk hkGN = 0 ⇔ JkT rk = ∇fk = 0. • Die Gleichung für hkGN hat die Form ATAx = AT b (Normalgleichung) hkGN ist Lösung des linearen Kleinste-Quadrate-Problems minh kJkT h − rk k2 ⇒ alle numerischen Verfahren des linearen Falls sind verwendbar. • Ist Rang(Jk ) < n, verwendet man im Levenberg-Marquardt-Verfahren (JkT Jk + λI )h = −Jk rk , 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Wie berechnet man ∇f (∇2 f ) für das Orakel 1. (2.) Ordnung? Vorlesung 6 II Freie Optimierung 24 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr 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 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Numerisches Differenzieren Für die Berechnung von ∇f (x̄) werden die partiellen Ableitungen durch Differenzenquotienten angenähert [Vorsicht: Stellenauslöschung!]: Vorwärtsdifferenz ∂f f (x̄ + hei ) − f (x̄) (x̄) ≈ ∂xi h zentrale Differenz ∂f f (x̄ + hei ) − f (x̄ − hei ) (x̄) ≈ ∂xi 2h Vorlesung 6 II Freie Optimierung Näherung 1. Ordnung Näherung 2. Ordnung 26 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Vorwärtsdifferenz Vorwärtsdifferenz ∂f f (x̄ + hei ) − f (x̄) (x̄) ≈ ∂xi 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). √ 1 • Dann liefert die Wahl h = ε = ε 2 das beste Ergebnis. ∂f (x̄) bis auf einen Fehler der Größe const · h genau ∂xi bestimmt (oft zu ungenau). • Damit wird Vorlesung 6 II Freie Optimierung 27 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Zentrale Differenz zentrale Differenz ∂f f (x̄ + hei ) − f (x̄ − hei ) (x̄) ≈ ∂xi 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). 2 • Dann liefert die Wahl h = ε 3 das beste Ergebnis. • Damit wird bestimmt. Vorlesung 6 ∂f (x̄) bis auf einen Fehler der Größe const · h2 genau ∂xi II Freie Optimierung 28 / 29 3 Einführung 4 Orakel und Modellfunktionen 5 Optimalitätsbedingungen 6 Newton-Verfahren 7 Line-Search-Verfahr Praktische Aspekte des Numerischen Differenzierens Bei der Berechung von ∇2 f oder der Jacobimatrix Jg einer Funktion g : Rn → Rm 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