Die Bayes'sche Optimierung wurde kürzlich verwendet, um Hyperparameter für maschinelles Lernen zu optimieren.
Als ich nach Modulen suchte, die die Bayes'sche Optimierung in Python verwenden können, fand ich viel und war mir nicht sicher, welches ich verwenden sollte. Ich habe in Semina gehört, dass es besser ist, gegenseitige Informationen zu verwenden, als UCB für die Erfassungsfunktion zu verwenden. Als ich nach einem Python-Modul suchte, das gegenseitige Informationen verwenden konnte, fand ich BayesOpt. Es fiel mir jedoch schwer, es zu installieren, daher werde ich die Installationsmethode beschreiben.
Gehen Sie in Python2.7 wie folgt vor: (Mit Python3 hat es nicht funktioniert.)
$ 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. Drücken Sie "t", um in den Vorschubmodus zu wechseln und die folgenden Parameter entsprechend Ihrer Umgebung anzupassen. (Wenn Sie Anaconda auf einem Mac verwenden, sieht es wie folgt aus)
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"
Wird unten geändert und ausgeführt.
params['crit_name'] = "cMI"
#params['crit_params'] = [1, 0.5]
params['kernel_name'] = "kMaternISO5"
Recommended Posts