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
● Minimierungs- algorithmen können gegen lokale Minima konvergieren
➢ Es gibt keine allgemeine Methode zum Finden des globalen Minimums
➔ Ausprobieren unterschied- licher
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):
d.h. dF/dxi = 0 für alle i
g(x) = 0
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)
➔ Minimum
positive-semidefinit (i >= 0)
➔ „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
➔ Anwendung auf Ableitung zur Minimum-Suche:
xk + 1 = xk – F'(xik) / F''(xk )
● Konvergenzverhalten nicht garantiert
Newton-Raphson-Methode zur Nullstellenbestimmung
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
●SuchmethodeItem Newton-Methode Verwendet nur Funktionswerte,
keine Ableitungen Verwendet nur 1. und 2.
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 vorher- gehenden Funktions-
berechnungen 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,
z.B. d < und Fk – Fk + 1 <
Empfehlung Blobel: = 0.01
➔ Abbruch bei Erreichen eine Maximalzahl von Iterationen
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 Optimierungs- algorithmen
➢ 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 Minimierungs- programms