ベイジアン最適化の実用的な実装の詳細


8

GPML [ http://www.gaussianprocess.org/gpml/code/matlabを使用して、Snoek、Larochelle、およびAdams [ http://arxiv.org/pdf/1206.2944.pdf]に続いて、ベイジアン最適化を試みています。 / doc /]。3ページで説明した期待される改善の取得関数を実装しました。次のクエリのどこで目的をクエリするかを決定するには、最大化するを使用する必要があります。バツ

aEバツ;バツyθ

しかし、の候補セットを考慮すべきかについてのガイダンスを見つけることができないようです。理論的には、ドメイン全体で最高のを見つけたいと考えています。この論文は、これが可能であると思われる方法で書かれています(「[EI]もガウス過程で閉じた形をしています」 )。しかし、実際問題として、私は、を計算する前に、これらの後任者が持っている間に検討する可能性のあるで事後予測平均と分散を計算する必要があります閉じた形でも、行列代数を使ってそれらを計算する必要があるため、の束を選択する方法をことができません。x xa E IxxバツバツバツaEバツバツ

質問: EI(または他の取得関数)を最大化する候補のの大(中?小?)セットを選択するための実用的な方法は何ですか?(これは論文のどこかにあり、見逃しただけですか?)バツ

現時点では、現在のセットを取得し、それを2000回置き換えてサンプリングしてから、各ポイントにガウスノイズを追加しています。大丈夫だと思います。バツ


このペーパーはまだ読んでいませんが、ラテンハイパーキューブデザインを使用して対象ドメインからサンプリングすることを検討しましたか?en.wikipedia.org/wiki/Latin_hypercube_sampling
RustyStatistician 2016

別の方法は、ドメインをグリッド化し(可能な場合)、グリッド化されたドメインのすべてのポイントを評価することです。
RustyStatistician 2016

これらはどちらも賢明な提案です、ありがとう!ラテンハイパーキューブについてはあまり知りませんが、通常のグリッドドメインでは、テプリッツとクロネッカーの代数を使用できるため、非常に大きなグリッドでも問題なく効率的になります。
stackoverflax 2016

回答:


6

通常は、任意のグローバルオプティマイザーを使用します。問題は、EI表面が非常にマルチモーダルで、接続されていないことです。この取得機能を最適化すること自体は、重要な問題です。

私がさまざまな論文で見た一般的な選択は、DIRECTアルゴリズムです。時々私が見てきたCMA-ES非線形最適化における最先端の方法です。他の形式の最適化の経験では、MCS(Multi-Level Coordinate Search)は比較的うまく機能する傾向があります。派生物のないグローバルオプティマイザーのレビューは、次の場所にあります

  • RiosとSahinidis、「導関数なしの最適化:アルゴリズムのレビューとソフトウェア実装の比較」、Journal of Global Optimization(2013)。

ところで、EIは分析的であるため、必要に応じてその勾配を計算して最適化を導くこともできますが、これは必須ではありません。効果的な手法は、まずグローバルオプティマイザーを実行して有望なソリューションを見つけ、次にローカルオプティマイザーを実行してそれを洗練することです(たとえば、MATLABではfminuncであるBFGSなどの準ニュートン法、または制約がある場合はfmincon)。

最後に、取得関数の最適化の速度が要因である場合(これは「従来の」BOシナリオではありません)、ラテンハイパーキューブデザインまたは準ランダムSobolシーケンスデザインから開始し、次に最適点からのローカルオプティマイザのいくつかのステップ。@ user777コメントも参照してください。これは標準のBOシナリオではないため、この方法を実際に使用する具体的なリファレンスはありません。


DIRECTまたはCMA-ESに言及する論文の例:

  • Calandra、R.、Seyfarth、A.、Peters、J.、&Deisenroth、MP(2015)。不確実性の下で歩行を学習するためのベイズ最適化。数学と人工知能の年代記、1-19(リンク)。
  • Mahendran、N.、Wang、Z.、Hamze、F.、&Freitas、ND(2012)。ベイジアン最適化を使用した適応MCMC。人工知能と統計に関する国際会議(751-760ページ)(リンク)。
  • Gunter、T.、Osborne、MA、Garnett、R.、Hennig、P.、&Roberts、SJ(2014)。高速ベイズ求積法による確率モデルでの推論のためのサンプリング。神経情報処理システムの進歩(pp。2789-2797)(リンク)。

「ベイズ最適化」をグーグル+希望するグローバル最適化アルゴリズムを実行すれば、たくさんの論文が見つかります。さらに、BOに関する他のほとんどすべての論文では、次のような文が見つかります。

[...] BOは通常、収集機能を最適化するために、各反復で補助グローバルオプティマイザーを必要とします。BOの文献では、このようなタスクを実行するために分割RECTangles(DIRECT)を使用するのが通例です。CMA-ESなどの他のグローバル最適化アルゴリズムも適用できます。


これは実際には私にとっては驚くべきことです!DIRECTまたはCMA-ESを使用している、あなたが念頭に置いている代表的なベイジアン最適化ペーパーを教えていただけますか?ありがとう。
stackoverflax

なぜそれが驚くのですか?これは標準です。ほとんどすべてのBOペーパーで、DIRECTまたは他のグローバルオプティマイザへの参照が見つかります。おそらくコミュニティでよく知られているので、いくつかの論文は言及することすらしません-当然のことです。上記のメインコメントにいくつかの参照を追加しました。
lacerbi 2016年

これは必ずしも良い解決策ではありませんが、ラテンハイパーキューブを使用してサンプリングされた一連のポイントでEIを評価する方が、最小値の近くにある必要があるだけでなく、必ずしもその上にある必要がない場合は、より安価であることがわかりました。
Sycoraxは、モニカを

@ user777:はい、速度が問題になっている場合は、LHとSobolの準ランダムシーケンスの両方を初期設計として使用していて(後者の方がわずかに有利ですが、問題に依存する場合があります)、ローカルオプティマイザを実行しています。最良のポイントからのBFGSなど。これをメインのコメントに追加します。
lacerbi 2016年

LHSアプローチのその場しのぎの性質を正当化する1つの方法は、最小値の推定の誤差が精度の微小な増加を損なうため、確率関数(表面)の最小値を見つける必要がないことです。しかし、これは非常に良い答えです。私はここにいる誰かがBOを気にかけてくれてうれしいです。:-)
Sycoraxによると、モニカは
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.