J'ai essayé d'utiliser l'optimisation bayésienne de Python

https://github.com/fmfn/BayesianOptimization

J'ai essayé d'utiliser cette optimisation bayésienne. J'avais besoin d'un peu d'ingéniosité, alors je vais laisser.

Il n'y a que maximiser

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

À partir de README. Il semble que seul «maximiser» soit fourni comme méthode d'optimisation. Ce que je voulais faire était d'optimiser le classement de recherche (je veux frapper en haut du classement), j'ai donc simplement ajouté un moins au classement et je l'ai optimisé.

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

Cela signifie que la valeur de retour de ce foo a été rendue négative. Il y a peut-être un moyen du côté «maximiser» ou «optimiseur», mais je ne l'ai pas trouvé.

Les arguments de la fonction à optimiser sont limités

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

C'est la fonction à optimiser.

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

C'est un mécanisme qui donne une gamme d'arguments comme celui-ci et cherche à y trouver la valeur optimale. À mon point, je voulais donner un autre argument comme foo (x, y, z), et si je laisse maximiser le manger tel quel, une erreur se produit. En guise de contre-mesure, j'ai fait de z une variable globale et je l'ai passée de force. Je ne sais pas si c'est correct.

Précautions lors de la détermination du rapport composite de deux valeurs

Cela n'a rien à voir avec l'optimisation bayésienne, mais au moment de décider du rapport de composition optimal de x et y, j'ai d'abord écrit comme suit.

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

alors,

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

Qu'est-ce que tu as fait? Ce n'est pas bien.

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

Donc

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

Cela a fonctionné.

Recommended Posts

J'ai essayé d'utiliser l'optimisation bayésienne de Python
J'ai essayé l'optimisation bayésienne!
J'ai essayé d'utiliser TradeWave (commerce du système BitCoin en Python)
GPyOpt, un package d'optimisation bayésienne en Python
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé la notification de ligne en Python
Python en optimisation
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter PLSA dans Python 2
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé d'implémenter PPO en Python
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé Python> autopep8
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé Python> décorateur
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
J'ai essayé d'implémenter le filtre anti-spam bayésien de Robinson avec python
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé la détection d'objets en utilisant Python et OpenCV
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
J'ai essayé d'implémenter TOPIC MODEL en Python
J'ai essayé de lire un fichier CSV en utilisant Python
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé le comportement d'E / S Eventlet non bloquant en Python
J'ai essayé d'ajouter un module Python 3 en C
J'ai essayé d'implémenter le tri sélectif en python
J'ai essayé d'implémenter la régression linéaire bayésienne par échantillonnage de Gibbs en python
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai écrit python en japonais