TL; DR
LIPOの使用をお勧めします。証明可能なほど正確であり、純粋なランダム検索(PRS)よりも証明可能なほど優れています。実装も非常に簡単で、ハイパーパラメーターはありません。私はLIPOとBOを比較する分析を行っていませんが、LIPOの単純さと効率性はLIPOがBOを上回ることを意味すると期待しています。
(参照:ベイジアンハイパーパラメーター最適化の欠点は何ですか?)
ベイジアン最適化
ベイジアン最適化タイプの方法は、パラメータ空間を探索するためにガウスプロセス代理モデルを構築します。主な考え方は、互いに近いパラメータータプルが同様の関数値を持つため、ポイント間の共分散構造の仮定により、アルゴリズムは、次に試すのに最も価値のあるパラメータータプルについて、経験に基づいた推測を行うことができます。この戦略は、関数評価の回数を減らすのに役立ちます。実際、BOメソッドの動機は、「バッファロー全体を使用して」関数評価の回数をできる限り少なくして、次にテストするポイントを適切に推測することです。次の訪問ポイントを比較するために使用されるさまざまなメリットの数値(予想される改善、予想される変位値の改善、改善の確率...)があります。
これとは対照的に、グリッド検索のようなもので、以前の関数評価の情報を使用して次に進むべき場所を知らせることはありません。
ちなみに、これは強力な大域的最適化手法でもあるため、表面の凸性についての仮定はありません。さらに、関数が確率的である場合(たとえば、評価に固有のランダムノイズがある場合)、これはGPモデルで直接考慮することができます。
一方、反復ごとに少なくとも1つのGPを適合させる必要があります(またはいくつかのGP、「最良」の選択、代替案の平均化、または完全ベイズ法)。次に、このモデルを使用して、通常はマルチスタートローカル最適化の形式で(おそらく数千)の予測を行います。その際、最適化中の関数よりもGP予測関数を評価する方がはるかに安価です。しかし、この計算オーバーヘッドがあっても、非凸関数であっても、比較的少数の関数呼び出しで最適化できる場合があります。
このトピックに関して広く引用されている論文は、ジョーンズ他、「高価なブラックボックス関数の効率的なグローバル最適化」です。しかし、このアイデアには多くのバリエーションがあります。
ランダム検索
コスト関数の評価に費用がかかる場合でも、ランダム検索は依然として有用です。ランダム検索は実装が簡単です。研究者が行う唯一の選択は、結果が何らかの変位値qにある確率 を設定することです。残りは基本確率の結果を使用して自動的に進みます。p q
q= 0.95p = 0.95100 × (1 − q)= 5nqn= 0.95n1 − 0.95n。すべてをまとめると、
1 − qn≥のP⟹N ≥ ログ(1 − p )ログ(q)
私たちの特定のケースではこれは得。N ≥ 59
この結果は、ほとんどの人がランダム検索に試行タプルを推奨する理由です。n = 60は、中程度の数のパラメーターがあるときにGaussian Processベースの方法で良好な結果を得るために必要な実験の数に匹敵することに注意してください。Gaussian Processesとは異なり、クエリタプルの数は、検索するハイパーパラメーターの数によって変化しません。実際、多数のハイパーパラメーターの場合、ガウスのプロセスベースのメソッドは多くの反復を行って前進することができます。n = 60n = 60
結果がどれだけ良いのかを確率的に保証しているので、さらに実験を行う必要がないことを上司に納得させる説得力のあるツールになります。
LIPOとそのバリアント
これはエキサイティングな到着であり、もしそれが新しいものでなければ、私にとって確かに新しいものです。情報に基づいた境界を関数に配置することと、最適な境界からサンプリングすることと、二次近似を使用することを交互に行うことで続行します。私はまだすべての詳細に取り組んでいますが、これは非常に有望だと思います。これは素晴らしいブログ記事であり、論文はCédricMalherbeとNicolas Vayatisの「リプシッツ関数のグローバルな最適化」です。