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 /d i = 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