L'optimisation bayésienne a récemment été utilisée pour optimiser les hyperparamètres d'apprentissage automatique.
Lorsque j'ai recherché des modules pouvant utiliser l'optimisation bayésienne en python, j'en ai trouvé beaucoup et je ne savais pas lequel utiliser. J'ai entendu dans Semina qu'il vaut mieux utiliser les informations mutuelles que d'utiliser UCB pour la fonction d'acquisition. Ainsi, quand j'ai cherché un module python qui pourrait utiliser des informations mutuelles, j'ai trouvé BayesOpt. Cependant, j'ai eu du mal à l'installer, je vais donc décrire la méthode d'installation.
Procédez comme suit dans python2.7: (Cela ne fonctionnait pas avec python3.)
$ git clone https://github.com/rmcantin/bayesopt
$ cd bayesopt
$ brew install cmake
$ cmake -DBAYESOPT_PYTHON_INTERFACE=ON .
$ ccmake .
and press "t" to select advanced features. Then, look if the PYTHON_* variables point to the same install/version. Appuyez sur "t" pour passer en mode avancé et ajustez les paramètres suivants en fonction de votre environnement. (Lorsque vous utilisez anaconda sur mac, cela ressemble à ce qui suit)
PYTHON_EXECUTABLE /Users/macuser/.pyenv/versions/miniconda3-3.9.1/envs/py27/bin/python
PYTHON_INCLUDE_DIR /Users/macuser/.pyenv/versions/miniconda3-3.9.1/envs/py27/include/python2.7
PYTHON_LIBRARY /Users/macuser/.pyenv/versions/miniconda3-3.9.1/envs/py27/lib/libpython2.7.dylib
$ make
$ sudo make install
params['crit_name'] = "cSum(cEI,cDistance)"
params['crit_params'] = [1, 0.5]
params['kernel_name'] = "kMaternISO3"
Est modifié ci-dessous et exécuté.
params['crit_name'] = "cMI"
#params['crit_params'] = [1, 0.5]
params['kernel_name'] = "kMaternISO5"
Recommended Posts