機械学習のためのベイズ最適化入門)を使うと、機械学習の時の各種Try&Errorで決めざるを得ないようなハイパーパラメータの探索を効率よく実施できる可能性があります。考え方などは最近色々解説記事が増えてきたおかげで理解はできるのですが、GridSearchのライブラリみたいな形ではWeb上で見つけられなかったので、今回作りました。車輪の再発明なのだと思うのですが、まあ再発明は勉強にはなるので良しとします。最大探索回数を適当に計算。基本的な使い方は以下のようになります。notebook上で試したものを以下に置いてます。起伏を複数作った後、ノイズを乗っけてちょっと凸凹した2次元空間を用意します。部分が最も値の大きい地点です。探索こんな感じで進んでいきます。探索回数は200回です。序盤まずは全体的に空間を調べています。序盤2運良く、真ん中上にある本命の近くを何度か調べたようです。本命の地点は結構調査済みになりました。中盤2もう一つの良さそうな左下の山も丹念にチェック。良さそうなところがないか空白地点をチェック。他に特に良さそうなところも無く終了。人間がやってもこんな感じになりそうです。所感200回の探索で50x50のパラメータ空間から良いポイントを見つけられました。最善の地点を見つけられはしませんが、センスの良い探索をしてくれています。発生することがしばしばあります。大きくしたらどうだ」と言われるので、今のところそれで対応しています(それで良いのかよくわかってないです)。実際に機械学習のハイパーパラメータの評価のケースでは、結構ノイズも大きいのでこの問題はしばしば起こります。)だと少し変な感じです。さいごに作ってみると、結構色々なシーンで使えそうな感じです。人生もこんな感じだよなぁ。※本記事は、Sprocketエンジニアの森下健がQiitaで公開したPythonでベイズ最適化を使ってハイパーパラメータを探索するライブラリ実装のメモを転載したものです。