NUBO:ベイズ最適化のための透明性の高いPythonパッケージ

arXiv stat.ML / 2026/4/29

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • NUBOは、物理実験や計算シミュレータなどの高コストで評価が必要なブラックボックス関数を最適化するための、透明性を重視したベイズ最適化フレームワークである。
  • 本パッケージは、ガウス過程によるサロゲートモデリングと獲得関数を用いて、評価回数を抑えつつ大域最適に近づく。
  • NUBOは、読みやすいクリーンなコード、正確な参照、充実したドキュメントにより透明性と利用しやすさを高めている。
  • モジュール化されたビルディングブロックにより、ユーザーが自分で最適化ループを書けるほか、境界条件や制約を持つパラメータ空間(離散・連続の混在を含む)で逐次・並列・非同期の最適化に対応する。
  • NUBOには十分にテストされ検証されたアルゴリズムのみを収録し、ライブラリをコンパクトに保ってユーザーを煩わせない設計としている。

要旨: NUBO(Newcastle University Bayesian Optimisationの略)は、物理実験やコンピュータシミュレータのような、評価にコストがかかるブラックボックス関数の最適化のためのベイズ最適化フレームワークである。ベイズ最適化は、ガウス過程によるサロゲートモデリングで目的関数を表現し、獲得関数を用いて候補点の選択を導き、目的関数の大域的最適解を近似するための、費用対効果の高い最適化戦略である。NUBOそのものは、ベイズ最適化をあらゆる分野の研究者にとって容易に利用できるようにするため、透明性とユーザー体験に重点を置いている。クリーンで理解しやすいコード、正確な参照、徹底したドキュメンテーションが透明性を保証し、一方でユーザー体験は、モジュール化され柔軟な設計、書きやすい構文、そしてベイズ最適化アルゴリズムの慎重な選定によって確保される。NUBOでは、用意されたビルディングブロックを用いて最適化ループ自体を書き下すことで、ユーザーが自身の問題に合わせてベイズ最適化を調整できる。有界で制約のある、および/または混合(離散および連続)のパラメータ入力空間に対して、逐次の単一点、並列の複数点、そして非同期の最適化をサポートする。NUBOには、十分にテストされ、良好な性能が検証されているアルゴリズムと手法のみが含まれる。これにより、パッケージがコンパクトに保たれ、不要に大量の選択肢でユーザーを圧倒することがない。パッケージはPythonで書かれているが、シミュレータや実験を最適化するためにPythonの専門知識は不要である。NUBOはBSD 3-Clauseライセンスのもとでオープンソースソフトウェアとして配布される。