Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktische Optimierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Optimierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund."—  Präsentation transkript:

1 Praktische Optimierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund

2 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 2 Evolutionäre Algorithmen (EA) Wähle X (0) 2 R n, s 0 > > 0, k = 0 while (s k > ) { Y = X (k) + s k ¢ m (k) if f(Y) < f(X (k) ) then X (k+1) = Y ; s k+1 = a + (s k ) else X (k+1) = X (k) ; s k+1 = a – (s k ) k++ } (1+1)-EA: Mutation Selektion Schrittweitenanpassung: z.B. a + (s) = s / a – (s) = s ¢ 2 (0,1) Wie sollte die Mutationsverteilung gewählt werden? einfachstes Modell der Evolution: SchrittweiteZufallsvektor

3 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 3 Forderungen an Such- / Mutationsverteilung von m (k) 1.Keine Richtung ohne Grund bevorzugen 2.Kleine Änderungen wahrscheinlicher als große 3.Steuerbar: Größe der Umgebung, Streuung 4.Leicht erzeugbar 5.… Symmetrie um 0 Unimodal mit Modus 0 Parametrisierbar symmetrisch, multimodal symmetrisch, unimodal Evolutionäre Algorithmen (EA)

4 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 4 Gleichverteilung symmetrisch unimodal steuerbar r leicht erzeugbar: m = r (2 u – 1) wobei u 2 [0,1) gleichverteilt (aus Bibliothek) Evolutionäre Algorithmen (EA)

5 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 5 Betaverteilung symmetrisch unimodal steuerbar r, p leicht erzeugbar (Bibliothek) r = 1 Evolutionäre Algorithmen (EA)

6 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 6 Normalverteilung symmetrisch unimodal steuerbar nicht ganz so leicht erzeugbar (Bibliothek) Evolutionäre Algorithmen (EA)

7 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 7 Cauchyverteilung symmetrisch unimodal steuerbar c leicht erzeugbar (Bibliothek) Besonderheit: unendliche Varianz Evolutionäre Algorithmen (EA)

8 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 8 Höherdimensionale Suchräume: Symmetrie? Unimodalität? Steuerbarkeit? Rotationssymmetrie Definition: Sei T eine (n x n)-Matrix mit TT = I n. (I n : n-dim. Einheitsmatrix) T heißt orthogonale Matrix oder Rotationsmatrix. Beispiel: Evolutionäre Algorithmen (EA)

9 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 9 Definition: n-dimensionaler Zufallsvektor x heißt sphärisch symmetrisch oder rotationssysmmetrisch, x Tx für jede orthogonale Matrix T. x y bedeutet: x hat die gleiche Verteilung wie y Beispiel: Gleichverteilung auf Kreis (Hyperkugel der Dimension n = 2) u gleichverteilt in [0,1] = 2 u Evolutionäre Algorithmen (EA)

10 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 10 Satz: Zufallsvektor x rotationssymmetrisch, x r u (n), wobei r nichtnegative Zufallsvariable und u (n) Zufallsvektor mit Gleichverteilung auf n-dim. Hyperkugelrand mit Radius 1. Bemerkung: r und u (n) sind stochastisch unabhängig, u (n) Erzeugung von rotationssymmetrischen Zufallsvektoren: 1.Wähle zufällige Richtung u (n) 2.Wähle zufällige Schrittlänge r 3.Multiplikation: x = r u (n) Evolutionäre Algorithmen (EA)

11 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 11 Beispiel: Multivariate Normalverteilung S n (r) = { x 2 R n : || x || = r } Hyperkugelrand –Verteilung mit n Freiheitsgraden Gleichverteilung auf Hyperkugelrand Evolutionäre Algorithmen (EA)

12 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 12 Beispiel: Multivariate Cauchyverteilung F–Verteilung mit (n,1) Freiheitsgraden Gleichverteilung auf Hyperkugelrand Achtung: Zufallsvektor aus n unabh. Cauchy-Zufallsvariablen nicht rotationssymmetrisch! Evolutionäre Algorithmen (EA)

13 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 13 (1+1)-EA mit Schrittweitenanpassung (1/5-Erfolgsregel, Rechenberg 1973) Idee: Wenn viele erfolgreiche Mutationen, dann Schrittweite zu klein. Wenn wenige erfolgreiche Mutationen, dann Schrittweite zu groß. Ansatz: Protokolliere erfolgreiche Mutationen in gewissem Zeitraum Wenn Anteil größer als gewisse Schranke (z. B. 1/5), dann Schrittweite erhöhen, sonst Schrittweite verringern bei infinitesimal kleinem Radius ist Erfolgsrate = 1/2 Evolutionäre Algorithmen (EA)

14 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 14 Satz: (1+1)-EA mit 1/5-artiger Schrittweitensteuerung konvergiert für streng konvexe Probleme zum globalen Minimum mit linearer Konvergenzordnung. Jägersküpper 2006 lineare Konvergenzordnung: E[ f(X k+1 ) – f* | X k ] c ¢ E[ f(X k ) – f* ] mit c 2 (0,1) deshalb im allgemeinen, multimodalen Fall: ) schnelle Konvergenz zum lokalen Optimum Anmerkung: gleiche Konvergenzordnung wie Gradientenverfahren! Evolutionäre Algorithmen (EA)

15 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 15 Konvergenzproblematik bei der Schrittweitenanpassung Annahme: X 0 = 0 Frage: Wird lokales Optimum sicher verlassen (Übergang zu [z-,z+ ]) ? solange kein Erfolg: k = 0 ¢ k mit 2 (0,1) erhöhe Schrittweite bei Erfolg, sonst verkleinern Evolutionäre Algorithmen (EA)

16 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 16 Sei q k Wahrscheinlichkeit, im Schritt k das lokale Optimum zu verlassen. Kriterium für sicheres Verlassen: Kriterium für unsicheres Verlassen: Vereinfachung des log-Terms Evolutionäre Algorithmen (EA)

17 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 17 Lemma: Sei x 2 (0,1). Dann gilt: Beweis: Reihenentwicklung also: q.e.d. Evolutionäre Algorithmen (EA)

18 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 18 Hinreichendes Kriterium für unsicheres Verlassen: Lemmaweil q k monoton fallend p k = P{ 0 (z-, z+ )} = P{ z- < Z < z+ } = F Z (z+ )-F Z (z- ) = = 2 f Z (z- + ¢ 2 ) mit 2 (0,1) Mittelwertsatz der Differentialrechnung! Annahme: Dichte f Z (¢) von Z ist unimodal dann: 2 f Z (z+ ) < p k < 2 f Z (z- )und deshalb: q k = 2 f Z (z- ) Evolutionäre Algorithmen (EA)

19 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 19 Z sei normalverteilt Sei konvergiert nach Wurzelkriterium! falls ) kein sicheres Entkommen von lokalen Optima! Evolutionäre Algorithmen (EA)

20 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 20 Schrittweitensteuerung nach Rechenberg: Individuum (x, ) (k) = (k - k) /, falls (k - k) ¢, sonst # Verbesserungen # Mutationen > 1/5 während k Mutationen 2 (0,1) ½ R Problem: keine Konvergenz mit Wkeit 1 aber: schnelle Konvergenz zum lokalen Optimum + Wkeit > 0 dieses zu verlassen! ) kein globales Verfahren, aber gutes nicht-lokales Verhalten! Beobachtung: Anpassung sprunghaft ) Anpassung kontinuisieren! Evolutionäre Algorithmen (EA)

21 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 21 Schrittweitensteuerung nach Schwefel: Individuum (x, ) : auch Strategieparameter wie werden mutiert Mutation: 1. k+1 = k ¢ exp( N(0, ) ) 2. X k+1 = X k + k+1 ¢ N(0, I ) Wichtig: die bereits mutierte Schrittweite wird verwendet! Schrittweite wird multiplikativ verändert (logarithmisch normalverteilt), neue Schrittweite wird verwendet bei additiver Veränderung der Position = 1 / n 1/2 Evolutionäre Algorithmen (EA)

22 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 22 Bisher: rotationssymmetrische Mutationen Isolinie { x : f(x) = a } falls f(x) = || x || 2 (Höhenlinie) Isolinie gleicher Wkeitsdichte geringer Fortschritt wg. starker Krümmung f(x) = ½ xAx + bx + c guter Fortschritt Idee: Mutationsverteilung wie Höhenlinien ausrichten Evolutionäre Algorithmen (EA)

23 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 23 f(x) = ½ xAx + bx + c Wie erzeugt man solche Mutationsverteilungen? Z » N(0, 2 I n )) rotationssymmetrisch ( I n = Einheitsmatrix mit Rang n) Z » N(0, D 2 )) ellipsoid, achsenparallel ( D = diag( 1,..., n ), Diagonalmatrix) Z » N(0, C )) ellipsoid, frei beweglich ( C = Kovarianzmatrix) C = C (symmetrisch) und 8x: x C x > 0 (positiv definit) Evolutionäre Algorithmen (EA)

24 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 24 Wie muss Kovarianzmatrix C gewählt werden? Ansatz: Taylor-Reihenentwicklung f(x + h) = f(x) + hr f(x) + ½ hr 2 f(x) h + R(x, h) Restterme (ignorierbar, da h klein) quadratisch linear r 2 f(x) = H(x) Hessematrix enthält Informationen über Skalierung und Orientierung der Höhenlinien Es wird sich zeigen: Wähle C = H -1 ! Evolutionäre Algorithmen (EA)

25 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 25 Approximation: f(x) ¼ ½ xAx + bx + c) Hessematrix H = A Koordinatentransformation: x = Q yQ: (n x n) - Matrix ) f(Qy) = ½ (Qy) A (Qy) + b (Qy) + c = ½ yQAQy + bQy + c = ½ yQBBQy + bQy + cmit Cholesky-Zerlegung A = BB = ½ y(QB)(BQ)y + bQy + csei jetzt Q = B -1 = ½ yy + b B -1 y + c rotationssymmetrische Höhenlinien! also: wir benötigen Dreiecksmatrix Q bzw. B -1 Evolutionäre Algorithmen (EA)

26 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 26 B -1 ) durch Koordinatentransformation mit B -1 wird Problem kugelsymmetrisch! ) also kugelsymmetrische Mutation transformieren! Evolutionäre Algorithmen (EA)

27 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 27 Satz: Sei y » N(0, I n ) und QQ eine positiv definite Matrix mit Rang n. Dann x = Qy » N(0, QQ). ) mit Q = B -1 können wir Mutationsverteilungen wie gewünscht ausrichten! aber: woher bekommen wir Matrix Q? ) Selbstanpassung der Matrixelemente wie bei Schrittweite nach Schwefel da H = A = BB, ist H -1 = (BB) -1 = B -1 (B -1 ) = def C = QQ Q entsteht durch Cholesky-Zerlegung von C, ist also Dreiecksmatrix Skalierungsfaktoren je Zeile herausziehen: in Diagonalmatrix S ablegen Q zerlegbar in Q = S ¢ T mit t ii = 1 (S hat n Parameter, T hat n(n-1)/2 Parameter) Evolutionäre Algorithmen (EA)

28 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 28 Satz: Jede sym., pos. definite Matrix A ist zerlegbar via A = TDT und umgekehrt, wobei T orthogonale Matrix (T = T -1 ) und D Diagonalmatrix mit d ii > 0. ) also wählen wir S = D 1/2, so dass A = (TS)(TS) Satz: Jede orthogonale Matrix T kann durch das Produkt von n(n-1)/2 elementaren Rotationsmatrizen R ij ( k ) dargestellt werden: R ij ( ) = wie Einheitsmatrix, jedoch mit r ii = r jj = cos, r ij = -r ji = -sin Evolutionäre Algorithmen (EA)

29 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 29 Geometrische Interpretation durch Qy = TSy wird rotationssymmetrischer Zufallsvektor y 1.zunächst achsenparallel skaliert via Sy 2.und dann durch n(n-1)/2 elementare Rotationen in gewünschte Orientierung gebracht via T(Sy) Mutation der Winkel : (t+1) = ( (t) + W + ) mod (2 ) - 2 (-, ] wobei W » N(0, 2 ) mit = 5° / 180° Individuum jetzt: (x,, ) mit n Schrittweiten (Skalierungen) + n(n-1)/2 Winkel Praxis zeigt: Idee gut, aber Realisierung nicht gut genug (funktioniert nur für kleines n) Evolutionäre Algorithmen (EA)

30 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 30 Wie könnte man sonst noch an Matrixelemente von Q kommen? Bei (, ) – Selektion werden Paare (x, f(x)) berechnet. + Beobachtung: Modellannahme: f(x) ¼ ½ xAx + bx + c ) Falls > n(n+1)/2 + n + 1, dann überbestimmtes lineares Gleichungssystem: f(x 1 ) = ½ x 1 Ax 1 + bx 1 + c f(x ) = ½ x Ax + bx + c... v = (A, b, c) hat n(n-1)/2 + n + 1 zu schätzende Parameter, wobei A = BB ) multiple lineare Regression für f = Xv Xf = XXv (XX) -1 Xf = v ) aus Schätzer v = (A, b, c) bekommen wir Hessematrix H = A ) Cholesky-Dekomposition von H und Matrixinversion liefert Q Praxis zeigt: funktioniert sehr gut, aber zu hoher Aufwand: (XX) -1 kostet O(n 6 ) (Rudolph 1992) Evolutionäre Algorithmen (EA)

31 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 31 Idee: Matrix C nicht in jeder Generation schätzen, sondern iterativ nähern! (Hansen, Ostermeier et al. 1996ff.) Covariance Matrix Adaptation Evolutionary Algorithm (CMA-EA) dyadisches Produkt: dd = Setze initiale Kovarianzmatrix auf C (0) = I n C (t+1) = (1- ) C (t) + w i d i d i : Lernrate 2 (0,1) d i = (x i: – m) / Sortierung: f(x 1: ) f(x 2: )... f(x : ) m = Mittelpunkt aller selektierten Eltern ist positiv semidefinite Streuungsmatrix Aufwand: O( n 2 + n 3 ) Evolutionäre Algorithmen (EA)

32 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 32 m = Mittelpunkt aller selektierten Eltern Variante: p (t+1) = (1 - ) p (t) + ( (2 - ) eff ) 1/2 (m (t) – m (t-1) ) / (t) Evolutionspfad 2 (0,1) p (0) = 0 C (0) = I n C (t+1) = (1 - ) C (t) + p (t) (p (t) ) Aufwand: O(n 2 ) Cholesky-Zerlegung: O(n 3 ) für C (t) Evolutionäre Algorithmen (EA)

33 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 33 State-of-the-art: CMA-EA erfolgreiche Anwendungen in der Praxis insbesondere wenn Zielfunktionsauswertung zeitaufwändig (z.B. Zielfunktionsauswertung durch Simulationsprogramm) Implementierungen im WWW verfügbar Evolutionäre Algorithmen (EA)

34 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 34 Evolutionäre Algorithmen (EA) Parameter: Nachkommen p = eff = =

35 Kapitel 5 G. Rudolph: Praktische Optimierung WS 2008/09 35 Evolutionäre Algorithmen (EA) c = 1 + N(N+1)/(2 ) < opt = (2N) - 1/2 (Beyer/Sendhoff 2008)


Herunterladen ppt "Praktische Optimierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund."

Ähnliche Präsentationen


Google-Anzeigen