ベイジアン最適化(ガウスプロセス)とシミュレーテッドアニーリングの実際の違いは何ですか


8

両方のプロセスは、未知の関数の最大値を推定するために使用されているようであり、明らかにその方法が異なります。

しかし、実際にはどちらの方法も本質的に交換可能ですか?どこで使用したいですか?

https://en.wikipedia.org/wiki/Simulated_annealing

http://www.iro.umontreal.ca/~bengioy/cifar/NCAP2014-summerschool/slides/Ryan_adams_140814_bayesopt_ncap.pdf

同様の質問
ベイズ最適化または勾配降下?


これが答えになるほど十分に網羅的ではないと思いますが、シミュレーテッドアニーリングでは、一般に、大域的最適点に近い点を見つけるために、より多くの関数評価が必要です。一方、ベイズ最適化は各反復でモデルを構築していますが、必要な関数評価は比較的少ないです。したがって、関数の評価にどの程度の費用がかかるかによって、ウォールタイムが短くなるため、どちらかを優先します。関数が非常に高価な場合のベイズ最適化と、関数が比較的安価な場合のアニーリング。
Sycorax氏は、2016

@Sycorax Bumpingほぼ同じトピックに関する10件の投稿を10分で投稿します-少し過剰だと思いませんか?どうやらそうではありませんが、そうです。
Mark L. Stone

@ MarkL.Stoneこれは多かれ少なかれ "遅い時間"(編集時の金曜日の午後8時)であり、これを行うのに適した時間です。メタスレッドがあります。
Sycorax氏は、2016

回答:


8

シミュレーテッドアニーリング(SA)は、ベイジアン最適化(BO)と比較して非常に単純なアルゴリズムです。どちらの方法もコスト関数の凸性を想定しておらず、どちらの方法も勾配情報に大きく依存していません。

SAは、ある程度教育を受けたランダムウォークです。候補解は、特定のジャンプスケジュール(冷却パラメーター)を持つ解空間を飛び越えます。あなたは前に着陸した場所を気にしません、あなたはあなたが次に着陸する場所を知りません。これは典型的なマルコフ連鎖アプローチです。基礎となるソリューションサーフェスに関する強力な仮定をモデル化しません。MCMCの最適化はSAから遠くまで進んでいますが(たとえば、ハミルトニアンモンテカルロを参照)、これ以上は拡張しません。SAの重要な問題の1つは、「高速」で何度も評価する必要があることです。そして、それは理にかなっています。可能な限り多くの状態(候補ソリューション)を探索するには、できるだけ多くのサンプルが必要です。ほんの少しの勾配情報のみを使用します(ほとんど常に「より良い」解を受け入れます)。

今BOを見てください。BO(またはコスト関数評価に対する単純なガウスプロセス(GP)回帰)は、関数評価に関して正反対のことを試みます。それはあなたが行う評価の数を最小化しようとします。ノイズを想定することが多いコスト関数の特定のノンパラメトリックモデル(通常はGP)を構築します。グラデーション情報は一切使用しません。BOを使用すると、少数の関数評価でコスト関数の有益なモデルを構築できます。その後、このフィットされた関数をその極値について「クエリ」します。再び悪魔は細部にあります。あなたはインテリジェントにサンプリングする必要があります(そしてあなたの以前のものも半分合理的であると仮定します)。特に関数が時間の経過とともに実際にわずかに進化することがわかっている場合(たとえば、ここ)、次に関数を評価する場所に関する作業があります。

BOに対するSAの明らかな利点は、SA内でソリューションスペースに制約を課すことが非常に簡単であることです。たとえば、非負の解が必要な場合は、サンプル分布を非負の解に限定します。同じことはBOではそれほど直接的ではありません。制約(たとえば、非負)に従って関数を評価する場合でも、実際にプロセスを制約する必要があるためです。このタスクは不可能ではありませんが、より複雑です。

一般に、コスト関数の評価が安価な場合はSAを、コスト関数の評価が高価な場合はBOを選択します。SAはゆっくりではあるが着実に好意から外れていると思う。特に、勾配のない最適化の作業(例:NEWQUABOBYQA)は、微分を評価する必要のない標準の勾配降下法と比較して、その主要な利点の1つを取り除きます。同様に、アダプティブMCMCでの作業(たとえば、上記の参照を参照)は、ほとんどすべてのケースでMCMC最適化の点で無駄になります。


答えてくれてありがとう。私はあなたがアニーリングが支持から外れることについておそらく正しいと思います。scipyは非推奨となり、basinhoppingdocs.scipy.org
doc

お役に立ててよかったです。先端をありがとう; 私はそのSciPyの変更に気づいていませんでした。
usεr11852

制約が本当に危険なものでない限り、GPフィットを制約することの重要な点は何ですか?もちろん、当てはめた関数を「照会」すると、制約付き最適化が実行されます。私は皮肉なことをしようとしているのではなく、あなたがどんな困難を目にしているのかを本当に知りたいのです。たとえば、線形の等式と不等式の制約は簡単なものです。非線形等式制約や整数制約などの非凸制約がある場合、それらは私の危険なカテゴリに分類される可能性があります。
Mark L. Stone

MarkL.Stone @:でも、線形制約(どころか危ないものが)ひどく高い次元でのフィッティングに影響を与えることができます-あなたは「フィットしても何かを」私は真剣に疑問このフィットは、あなたが何をしたいの正確な表現になることでしょう。さらに、GPR最適化の背後にあるほとんどの継続性ベースの結果は枠を超えています...明確にするために:BOは広範囲に使用していません。標準の準ニュートン法が失敗すると仮定すると、私は常に最初に導関数なしまたはHMCアプローチを提唱します。
usεr11852

まあ、私が制約を持っている場合、私が欲しいのは、当てはめられた関数が制約を満たすことです。私を信じて、私はGPフィットが私が欲しいもの、制約かどうかの正確な表現になるかどうか疑問を持っています。良い制約はあなたを助けることができます-それらはあるべき場所に物事を制約し、悪い地域で時間を無駄にすることからあなたを救います。もちろん、それはそれらが適切に実装されている場合です。線形制約があるときにウィンドウの外に出るGPR最適性の背後にある連続性ベースの結果の例を挙げられますか?有効な例として、制約なしでウィンドウ内にあるほうがよいでしょう。
Mark L. Stone、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.