Vorlesung VIII

Werbung
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
Herunterladen