TL; DR
Ich empfehle die Verwendung von LIPO. Es ist nachweislich korrekt und nachweislich besser als die reine Zufallssuche (PRS). Es ist auch extrem einfach zu implementieren und weist keine Hyperparameter auf. Ich habe keine Analyse durchgeführt, die LIPO mit BO vergleicht, aber ich gehe davon aus, dass die Einfachheit und Effizienz von LIPO impliziert, dass es BO übertrifft.
(Siehe auch: Was sind einige der Nachteile der bayesianischen Hyperparameteroptimierung? )
Bayesianische Optimierung
Bayes'sche Optimierungsmethoden bauen Ersatzmodelle für Gauß'sche Prozesse auf, um den Parameterraum zu untersuchen. Die Hauptidee ist, dass näher beieinander liegende Parametertupel ähnliche Funktionswerte haben. Die Annahme einer Ko-Varianz-Struktur zwischen Punkten ermöglicht es dem Algorithmus, fundierte Vermutungen darüber anzustellen, welches beste Parametertupel als Nächstes am sinnvollsten ist. Diese Strategie trägt dazu bei, die Anzahl der Funktionsbewertungen zu verringern. Tatsächlich besteht die Motivation der BO-Methoden darin, die Anzahl der Funktionsbewertungen so gering wie möglich zu halten, während "der ganze Büffel" verwendet wird, um gute Vorhersagen darüber zu treffen, welcher Punkt als nächstes zu testen ist. Es gibt verschiedene Leistungszahlen (erwartete Verbesserung, erwartete Quantilverbesserung, Verbesserungswahrscheinlichkeit ...), die verwendet werden, um die Punkte zu vergleichen, die als nächstes besucht werden sollen.
Vergleichen Sie dies mit einer Grid-Suche, bei der niemals Informationen aus früheren Funktionsauswertungen verwendet werden, um Informationen darüber zu erhalten, wohin Sie als Nächstes gehen müssen.
Dies ist im Übrigen auch eine leistungsstarke globale Optimierungstechnik, die keine Annahmen über die Konvexität der Oberfläche macht. Wenn die Funktion stochastisch ist (z. B. Auswertungen haben inhärent zufälliges Rauschen), kann dies direkt im GP-Modell berücksichtigt werden.
Auf der anderen Seite müssen Sie bei jeder Iteration mindestens einen GP anpassen (oder mehrere, die "besten" auswählen oder über Alternativen oder vollständig Bayes'sche Methoden mitteln). Das Modell wird dann verwendet, um (wahrscheinlich Tausende) Vorhersagen zu treffen, normalerweise in Form einer mehrstufigen lokalen Optimierung, mit der Beobachtung, dass es viel billiger ist, die GP-Vorhersagefunktion zu bewerten als die Funktion, die optimiert wird. Aber selbst bei diesem Rechenaufwand kann es vorkommen, dass auch nicht konvexe Funktionen mit einer relativ geringen Anzahl von Funktionsaufrufen optimiert werden können.
Ein häufig zitierter Artikel zu diesem Thema ist Jones et al. , "Efficient Global Optimization of Expensive Black-Box Functions". Es gibt jedoch viele Variationen dieser Idee.
Zufällige Suche
p q
q= 0,95p = 0,95100 × ( 1 - q) = 5nqn= 0,95n1 - 0,95n. Alles zusammen haben wir
1 - qn≥ p⟹n ≥ log( 1 - p )Log( q)
n ≥ 59
n = 60n = 60
Da Sie eine Wahrscheinlichkeitsgarantie dafür haben, wie gut die Ergebnisse sind, kann dies ein überzeugendes Instrument sein, um Ihren Chef davon zu überzeugen, dass keine weiteren Experimente durchgeführt werden müssen.
LIPO und seine Varianten
Dies ist eine aufregende Ankunft, die für mich sicherlich neu ist, wenn sie nicht neu ist. Dabei werden abwechselnd informierte Grenzen für die Funktion und Abtastwerte für die beste Grenze sowie quadratische Näherungen verwendet. Ich arbeite immer noch an allen Details, aber ich denke, das ist sehr vielversprechend. Dies ist eine schöne Blog-Zusammenfassung , und der Artikel ist Cédric Malherbe und Nicolas Vayatis " Globale Optimierung von Lipschitz-Funktionen ".