Ich habe es mit einem Optimierungsproblem zu tun, bei dem eine große Anzahl von Variablen optimiert werden muss. Nennen wir beispielsweise diese Variablen , y und z, und ich möchte die Funktion f ( x , y , z ) minimieren . Die von mir verwendete Optimierungsmethode kann nicht alle Variablen gleichzeitig optimieren. Ich vereinfache stattdessen das Problem, indem ich jeweils nur eine Variable optimiere und dabei die anderen Variablen festhalte.
Dh ich fixiere und z = z 0 und optimiere dann die Funktion nur über x . Diese 1D-Optimierung ergibt einen optimalen Wert x ∗ . Ich fixiere dann x = x ∗ , z = z 0 und optimiere dann über y . Mir ist klar, dass dies nicht unbedingt eine global optimale Lösung bietet, sondern ein lokales Minimum ergeben sollte.
Ich frage mich, wie diese Methode heißt und wo ich Informationen dazu finden kann. Auch wenn es eine passendere Community gibt, lassen Sie es mich bitte wissen. Vielen Dank
Bearbeiten: Die Optimierung wird über , dann y , dann z , dann x usw. durchgeführt, bis die Lösung konvergiert.
quelle
Antworten:
Dies ist ein Koordinatenabstieg . Ich glaube, es wird bei sehr großen Problemen verwendet, wenn andere Methoden wie der Gradientenabstieg möglicherweise zu langsam sind (z . B. http://epubs.siam.org/doi/abs/10.1137/100802001 ). Es sollte zu einem lokalen Minimum konvergieren, aber es würde auch mehr Schritte erfordern als so etwas wie Gradientenabstieg oder Newton-Typ-Methoden.
quelle
Der ursprünglich beschriebene Ansatz (nur eine Iterationsoptimierung in jeder der drei Variablen x, y, z) konvergiert nicht garantiert zur optimalen Lösung, es sei denn, F (x, yz) ist variabel in univariate Funktionen trennbar. Daher ist das, was Sie beschreiben, technisch gesehen keine Optimierungs- "Methode", sondern eine Optimierungs- "Heuristik", ähnlich einer Operator-Aufteilungsmethode oder ADI-Methoden (Alternating Direction Implicit).
quelle