Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden

https://github.com/fmfn/BayesianOptimization

Ich habe versucht, diese Bayes'sche Optimierung zu verwenden. Ich brauchte ein wenig Einfallsreichtum, also werde ich es verlassen.

Es wird nur maximiert

optimizer.maximize(
    init_points=2,
    n_iter=3,
)

Aus der README. Es schien, dass nur "Maximieren" als Optimierungsmethode bereitgestellt wurde. Ich wollte das Suchranking optimieren (ich möchte ganz oben im Ranking stehen), also habe ich dem Ranking einfach ein Minus hinzugefügt und es optimiert.

optimizer = BayesianOptimization(
    f=foo,
    pbounds=pbounds,
)

Dies bedeutet, dass der Rückgabewert dieses foo negativ gemacht wurde. Es mag einen Weg auf der Seite "Maximieren" oder "Optimieren" geben, aber ich konnte ihn nicht finden.

Die Argumente der zu optimierenden Funktion sind begrenzt

def foo(x, y):
    return -x ** 2 - (y - 1) ** 2 + 1

Dies ist die zu optimierende Funktion.

pbounds = {'x': (2, 4), 'y': (-3, 3)}

Es ist ein Mechanismus, der eine Reihe solcher Argumente liefert und nach dem optimalen Wert darin sucht. An meinem Punkt wollte ich ein anderes Argument wie "foo (x, y, z)" geben, und wenn ich "maximieren" ließ, wie es war, trat ein Fehler auf. Als Gegenmaßnahme habe ich z zu einer globalen Variablen gemacht und sie zwangsweise übergeben. Ich weiß nicht, ob es richtig ist.

Vorsichtsmaßnahmen bei der Bestimmung des zusammengesetzten Verhältnisses zweier Werte

Dies hat nichts mit der Bayes'schen Optimierung zu tun, aber als ich das optimale Zusammensetzungsverhältnis von x und y entschied, schrieb ich zuerst wie folgt.

def foo(a):
   return a*x+y 

damit,

pbounds = {'a': (0, 100)}

Was hast du getan? Es ist nicht gut.

def foo(a):
   return a*x+(100-a)*y 

so

pbounds = {'a': (0, 100)}

Das hat funktioniert.

Recommended Posts

Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Ich habe die Bayes'sche Optimierung ausprobiert!
Ich habe versucht, TradeWave zu verwenden (BitCoin-Systemhandel in Python)
GPyOpt, ein Paket zur Bayes'schen Optimierung in Python
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe Line Benachrichtigung in Python versucht
Python in der Optimierung
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe Python> autopep8 ausprobiert
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe Python> Decorator ausprobiert
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, Robinsons Bayesian Spam Filter mit Python zu implementieren
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ich habe versucht, mit Python ein Tippspiel zu spielen
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, das Verhalten von E / A-Eventlets in Python nicht zu blockieren
Ich habe versucht, ein Python 3-Modul in C hinzuzufügen
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
Ich habe versucht, die Bayes'sche lineare Regression durch Gibbs-Sampling in Python zu implementieren
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe Python auf Japanisch geschrieben