Optimierung Optimierung Häufige Aufgabe bei Parameterschätzung: Minimierung der negativen log-Likelihood-Funktion F(a) oder der Summe der quadratischen Abweichungen S(a) und Berechnung der Unsicherheit aus der zweiten Ableitung am Minimum Optimierung: ➔ Bestimmung des Minimums eine Gütefunktion F(x = x1 , ..., xn ) (und deren Kovarianzmatrix am Minimum) mit oder ohne Nebenbedingungen in Gleichungs- oder Ungleichungsform Optimalität: x* ist ein lokales Minimum, wenn ➢ ➔ F(x*) < F(x) für alle x ≠ x* in der Umgebung von x* Achtung: lokales Minimum muss nicht globales Minimum sein! Problem lokaler Minima ● ➢ ➔ Minimierungsalgorithmen können gegen lokale Minima konvergieren Es gibt keine allgemeine Methode zum Finden des globalen Minimums Ausprobieren unterschiedlicher Startwerte Minimierung ohne Nebenbedingungen F(x) sei eine glatte Funktion (1. und 2. Ableitung stetig) ● Oft erfüllt, zumindest in Lösungsnähe ➔ Gradient: ➢ Notwendige Bedingung für Minimum (oder Maximum oder Sattelpunkt): g(x) = 0 d.h. dF/dxi = 0 für alle i Hesse-Matrix ➔ Hesse-Matrix (Matrix der 2. Ableitungen, n x n, symmetrisch): ➢ Taylor-Entwicklung: F(x + ∆x) = F(x) + gT ∆x + ½ ∆xT H ∆x + … ● Liegt vielen Minimierungsalgorithmen zugrunde Hinreichende Bedingung für lokales Minimum: g(x) = 0 und H(x) positiv definit Spektrale Zerlegung Für eine symmetrische Matrix H existieren n orthogonale Eigenvektoren ui mit Eigenwerten i : ➔ H ui = i ui Orthogonale Matrix U = (u1 , …, un ) mit normierten Eigenvektoren als Spalten transformiert H in Diagonalmatrix: Wegen U- 1 = UT gilt: ➔ H = U D UT = ∑ i = 1 … n i ui ui T H- 1 hat identische Eigenvektoren mit Eigenwerten 1/i Eigenwerte der Hesse-Matrix ➔ Konditionszahl: = m a x / mi n Numerische Berechnung der inversen Matrix kann problematisch sein, wenn die Konditionszahl groß ist (H „fast“ singulär) Hesse-Matrix bei g(x)=0: positiv definit (i > 0) ➔ positive-semidefinit (i >= 0) ➔ Minimum „Tal“, Lösungen oft instabil indefinit (i > 0 und j < 0) ➔ Sattelpunkt Eindimensionale Minimierung: Suchmethode Voraussetzung: Unimodale Funktion (eindeutiges Minimum) 1) Einschluss des Minimums ● Ausgangspunkt: Startwerte x1 und x2 mit F(x1 ) > F(x2 ) ● Iteration: xk = xk – 1 + (xk – 1 – xk – 2 ) (z.B. = 3) ● Abbruchbedingung: F(xk ) > F(xk – 1 ) 2) Reduktion des Einschlussintervalls ● Ausgangspunkt: Tripel (xk – 2 , xk – 1 , xk ) mit F(xk – 1 ) < F(xk – 2 ), F(xk ) ● Testpunkt xt zwischen xk – 1 und xk (oder xk – 2 und xk – 1 ) – Falls F(xt ) < F(xik– 1 ): Neues Triple (xk – 1 , xt , xik) – Falls F(xt ) > F(xik– 1 ): Neues Triple (xk – 2 , xk – 1 , xt ) Methode des Goldenen Schnitts Wahl des Testpunkts xt zwischen xA und xB , so dass (xB – xt ) / (xB – xA) = (xt – xA ) / (xB – xt ) Lange Teilstrecke zu Gesamtstrecke = kurze zu lange Teilstrecke ➔ ➢ ● Verhältnis des goldenen Schnitts: = (√5 -1) / 2 = 0.618034... Konstante Reduktion des Einschlussintervalls pro Iteration um Faktor Sinnvoll = 1/ zu wählen in 1. Phase der Suche Suchmethode ist robust, da unabhängig vom Verhalten der Funktion Newton-Methode Newton-Raphson-Methode zur Nullstellenbestimmung ➔ Anwendung auf Ableitung zur Minimum-Suche: xk + 1 = xk – F'(xik) / F''(xk ) ● Konvergenzverhalten nicht garantiert Konvergenzverhalten Iterationsmethode ist lokal konvergent von der Ordnung p, wenn es eine positive Konstante c (c < 1 für p = 1) gibt, so dass für alle Startwerte x0 in einer Umgebung des Fixpunktes x* gilt: |xk + 1 – x*| < c |xk – x*|p ● Newton-Methode ist lokal quadratisch konvergent Vergleich Suchmethode - Newton-Methode Suchmethode Item ● Newton-Methode Verwendet nur Funktionswerte, Verwendet nur 1. und 2. keine Ableitungen Ableitung, keine Funktionswerte Robust Konvergenz nicht garantiert Lokal linear konvergent Lokal quadratisch konvergent Robuste und schnelle Methode durch Kombination beider Methoden Kombinierte Methode Polynom-Interpolationsmethode: Bekanntes Minimum für Polynom durch berechnete Funktionswerte ergibt nächsten Testpunkt ➢ ● Parabolische Interpolation entspricht Newton-Methode mit numerisch berechneten Ableitungen Bei sehr asymmetrischer Intervallteilung: Verwendung des goldenen Schnitts Suchmethoden in mehreren Dimensionen Gittermethode: ● k gleichverteilte Testwerte pro Dimension ➔ Erfordert kn Berechnungen bei n Dimensionen ➢ Ungeeignet für große n Monte-Carlo-Methode: ● Funktionsberechnung an zufällig verteilten Testpunkten ➔ Auch bei großen n geeignet ➢ gut für Bestimmung von Startwerten Einfache Parametervariation: ● Eindimensionale Minimierung in einem Parameter ● Dann Minimierung in nächstem Parameter → Iteration ➔ I.A. nur schnelle Konvergenz wenn Minimierung in Richtung der Eigenvektoren der Hesse-Matrix Beispiel einfache Parametervariation ➔ Langsame Konvergenz, da Suchrichtung nicht der Richtung der Eigenvektoren der Hesse-Matrix entspricht Simplex-Methode n+1 Punkte x1 , ..., xn + 1 im Rn → n-dimensionaler Polyeder oder Simplex ● ● ● ➔ ➔ Sortierung, so dass F(x1 ) < … < F(xn + 1 ) Schwerpunktes der n besten Punkte: c = ∑ i = 1 … n xi / n Spiegelung des schlechtesten Punktes an c: xr = c + (c – xn + 1 ) Falls F(x1 ) < F(xr ) < F(xn ): xr ersetzt xn + 1 Falls F(xr ) < F(x1 ): gute Richtung ● Streckung: xs = c + (xr – c), > 1 Falls F(xs ) < F(xr ): xs ersetzt xn + 1 , ansonsten xr ersetzt xn + 1 Falls F(xr ) > F(xn ): Simplex zu groß ● Abflachung: xs = c – (c – xn + 1 ), 0 < < 1 ➔ ● ➔ ● Falls F(xs ) < F(xn + 1 ): xs ersetzt xn + 1 Ansonsten Kontraktion um x1 : xj = x1 + (xj – x1 ), 0 < < 1 Beispiel Simplex-Methode in 2 Dimensionen Simplex passt sich Verlauf der Funktion an Informationen aus vorhergehenden Funktionsberechnungen werden genutzt, ohne Ableitungen zu verwenden Methode des steilsten Abstiegs ∆x = -g Einfach, aber ernsthafte Nachteile: ● Keine natürliche Schrittweite gegeben ● Nur lineare Konvergenz Insbesondere langsam wenn Konditionszahl von H groß: c ≈ [( – 1)( + 1)]2 ➔ Besser: Newton-Methode Newton-Methode in mehreren Dimensionen Quadratische Näherung: ● F(x + ∆x) ≈ F(x) + gT ∆x + ½ ∆xT H ∆x ● g(x + ∆x) ≈ g + H ∆x Bedingung für Minimum: g(x + ∆x) = 0 ➔ Newton-Schritt: ∆x = -H– 1 g Line-Search in Newton-Richtung Funktionsverlauf in Newton-Richtung: f(z) = F(x + z ∆x) ● Quadratische Näherung: f(z) = F(x) + d(z2/2 – z) mit d = -gT ∆x ➔ Minimierung von f(z) bei jedem Schritt Algorithmus mit Line-Search ● Definiere Startwert x0 ● Berechne Suchvektor ∆x, z.B. Newton-Vektor ∆x = -H– 1 g ● Minimiere Funktion in Richtung des Suchvektors (line search) ➔ Eindimensionale Minimierung von f(z) = F(x + z ∆x) ● Iteration: xk + 1 = xk + zm i n ∆x ● Konvergenztest: ➔ xk + 1 ist Lösung bei erfolgreichem Konvergenztest, Empfehlung Blobel: = 0.01 Abbruch bei Erreichen eine Maximalzahl von Iterationen ➔ z.B. d < und Fk – Fk + 1 < Beispiel: Anpassung einer Exponentialfunktion Simplex + Newton Modifizierte Newton-Methode Falls Hesse-Matrix nicht positiv definit ➔ ● Verwende modifizierte Hesse-Matrix H' zur Berechnung des Newton-Vektors Spektrale Zerlegung Setze i' = max(|i |, ) + Rücktransformation ● Sehr aufwendig Addition der Einheitsmatrix In H' = H + In H' positiv definit, falls >|m i n | ● klein → nahe Newton-Richtung, groß → nahe steilstem Abstieg Numerische Differentiation ➢ Vorwärts-Differenz: f'(x) = [f(x + h) – f(x)] / h ➢ Rückwärtz-Differenz: f'(x) = [f(x) – f(x – h)] / h ➢ Zentrale Differenz: f'(x) = [f(x + h) – f(x – h)] / 2h ➔ Erfordert eine Funktionsauswertung mehr Abbruchfehler (durch Vernachlässigung höherer Ordnungen): ● ● Einseitige Ableitung ∝ h f'' Zentrale Ableitung ∝ h2 f''' → viel besser, insbesondere in Minimum-Nähe Rundungsfehler: ● ∝1/h Methoden mit variabler Metrix ● ➔ Statt numerischer Berechnung der Hesse-Matrix (O(n2 ) Berechnungen erforderlich) Iterative Schätzung der Hesse-Matrix aus Änderung der Gradientenvektors z.B. BFGS-Formel Nebenbedingungen als Gleichungen Minimierung von F(x), mit m Bedingungen f1 (x) = … fm (x) = 0 ➔ ➢ ➢ z.B. Energie- und Impulserhaltung Parametertransformation ➔ z.B. mit r = const, statt x und y Methode der Lagrange'schen Multiplikatoren ● (x, ) = F(x) + ∑ i = 1 … m i fi (x) ● Minimierung von : d/di = 0 = fi (x) → Nebenbedingung erfüllt ➔ ➢ Zurückführung auf Minimierung ohne Nebenbedingungen, aber mit m zusätzlichen Dimensionen Alternative: Minimierungsalgorithmen, die Nebenbedingungen berücksichtigen (z.B. durch projizierten Gradient und Hesse-Matrix bei linearen Nebenbedingungen) Nebenbedingungen als Ungleichungen Minimierung von F(x), mit m Bedingungen hi (x) > 0, für i = 1, …, m ➔ z.B. Masse > 0 oder 0 < Wahrscheinlichkeit < 1 ➢ Am günstigsten: ➢ ➢ Konvergenz weit weg von den Grenzen ➔ Geeignete Wahl der Startparameter Parametertransformation ● z.B. für a < x < b: x' = arcsin(2 (x – a) / (b – a) – 1) ● Kann zu (numerischen) Problemen führen ➔ Falls möglich, vermeiden Kostenmethode Häufige Nebenbedingung: Parameterwert und Unsicherheit bekannt aus anderen Messungen: xi = xi0 ± i ➢ ● Addition einer Kosten-(oder Straf-/Penalty-)Funktion: ● 2-Fit: F'(x) = F(x) + (xi – xi0)2 ,/ i2 ● ML-Fit: F'(x) = F(x) – ln p(xi , xi0 , i) = F(x) + ½ (xi – xi0)2 ,/ i2 ➔ Entspricht zusätzlichem Datenpunkt für Parameter xi Methode kann auch zur näherungsweisen Berücksichtigung von Nebenbedingungen in Gleichungs- oder Ungleichungsform verwendet werden Lösung von Gleichungssystemen Lösung des Gleichungssystem f1 (x) = … fm (x) = 0 entspricht Minimierungsproblem nur mit Nebenbedingungen ➢ Zu minimierende Gütefunktion: F(x) = ∑ i = 1 … m fi (x) ● F = 0 am Minimum bei lösbaren Gleichungssystemen ● Auch anwendbar bei überbestimmten Gleichungssystemen – ● Ergebnis hängt dann von der Gewichtung ab Methode kann recht ineffizient gegenüber angepassten Algorithmen sein Empfehlungen ➢ ➢ ➢ ➢ Nutzen Sie existierende, gut getestete Optimierungsalgorithmen Achten Sie darauf, dass es keine Unstetigkeiten gibt Versuchen Sie, numerische Probleme zu vermeiden (z.B. durch geeignete Skalierungen, doppelte Genauigkeit) Verifizieren Sie analytisch berechnete Ableitungen durch numerische ➢ Versuchen Sie, Parametergrenzen zu vermeiden ➢ Probieren Sie unterschiedliche Startwerte aus ➢ Achten Sie auf Fehler- und Warnmeldungen des Minimierungsprogramms