探索アルゴリズム#

探索アルゴリズム AlgorithmSolver の結果 \(f(x)\) を用いて パラメータ空間 \(\mathbf{X} \ni x\) を探索し、 \(f(x)\) の最小化問題を解きます。 ODAT-SE では以下の探索アルゴリズムが利用できます。 各項目をクリックすると、入力パラメータや出力ファイルなどの詳細な使用方法を確認できます。

局所最適化アルゴリズムによる最適値探索 minsearch

Nelder-Mead法(シンプレックス法)による最適化を行います。勾配を使わない直接探索法で、少数のパラメータに対して高速に収束します。scipy を利用します。

大域最適化 global_search

scipy.optimize の大域最適化ルーチンによる探索を行います。差分進化法 (differential evolution)、shgo、direct が利用でき、候補点の評価を MPI により並列化できます(direct を除く)。scipy を利用します。

mapper

パラメータ空間をグリッド状に分割し、すべての格子点で \(f(x)\) を評価します。MPI による並列化に対応しており、パラメータ空間の全体像を把握するのに適しています。

ランダム探索 random_search

ランダムにパラメータを選んで目的関数を評価します。指定した範囲から一様乱数によりパラメータをサンプリングし、パラメータ空間の大域的な概観を把握するのに適しています。MPI による並列化に対応しています。

ベイズ最適化 bayes

ベイズ最適化により探索を行います。ガウス過程回帰を用いて \(f(x)\) のサロゲートモデルを構築し、獲得関数に基づいて次の評価点を選択します。少数の評価回数で効率的に最適解を探索できます。physbo を利用します。

テンソル列最適化 ttopt

テンソル列(テンソルトレイン)最適化により探索を行います。目的関数を大きなテンソルとしてモデル化し、交差近似に基づく勾配不要の手法で最小値を探索します。MPI による並列化に対応しています。

レプリカ交換モンテカルロ法 exchange

レプリカ交換モンテカルロ法(パラレルテンパリング)により探索を行います。異なる温度のレプリカ間で配置を交換することで、局所解への捕捉を回避します。mpi4py を利用します。

ポピュレーションアニーリングモンテカルロ法 pamc

ポピュレーションアニーリングモンテカルロ法により探索を行います。多数のレプリカ(ウォーカー)を徐々に冷却しながらリサンプリングすることで、効率的にパラメータ空間を探索します。