遺伝的アルゴリズムvs共役勾配法


8

シミュレーションの結果が実験構造にできる限り近づくように、分子フレームワークのいくつかの力場パラメータを最適化しようとしています。

以前は、本質的にランダムにパラメーター空間をサンプリングし、最適に機能する組み合わせを選択し、変異パラメーターのセットを作成し、目的の関数に最適なパラメーターが得られるまでこのプロセスを繰り返す遺伝的アルゴリズムを作成しました。また、アルゴリズム自体のいくつかの最適化も実行します。ここで、変異した値の分布は、より高速な収束を優先するように最適化されます。

私のアドバイザーは遺伝的アルゴリズムについて聞いたことがなく、彼が推奨する方法、つまり共役勾配法とシンプレックスアルゴリズムについて聞いたことがありません。

私の状況では、目的関数は実験的な場所からのすべての原子の偏差の関数です(つまり、構造最適化です)。システムは4-10K原子です。CGMやシンプレックスアルゴリズムの学習に時間を費やす価値はありますか?3つのうち、この状況に最適なのはどれですか。


5
新しいツールについて学ぶことは常に価値があります。(共役勾配と単純な方法は、それぞれ、非線形及び線形最適化の主力、およびアプリケーションの膨大な多様性を有している。)
クリスチャンClason

回答:


12

共役勾配法は、厳密に凸の汎関数の最小値を見つけるのに適しています。これは、非線形楕円PDEを最適化問題として再定式化する場合に一般的です。それについて知りたい場合は、最初に線形システムのCG法について読むことをお勧めします。そのため、Agonizing Painを使用しない共役勾配法の概要を参照することをお勧めします。残念ながら、多くの本は、直感的なレベルで理解できるかどうかという心配をせずに、アルゴリズムを帽子から引き出して扱います。そこから、非線形共役勾配法を考案する方法を見ることは大きな飛躍ではありません。

遺伝的アルゴリズムについて私が知っていることから、それらは多くの極小値を持つ目的汎関数の大域的最小値を見つけるのにより適しています。その場合、目的関数はどこでも凸型ではないため、CGを使用できません。コストは、ランダム化されたアルゴリズムの収束が遅いことです。

CGについて学ぶ価値があるかどうかは、次の条件によって異なります。

  • CGが適用できるかどうか
  • あなたのアプローチはすでにどれだけ速いですか
  • CGがどれだけ高速になるか(私の推測:使用できる場合はかなり多い)
  • CGの学習/コーディングに費やす時間
  • あなたの顧問に無知にならないようにしたい
  • 問題が後で発生すると予想される大きさ。

私の2セント:それはかなりきちんとしたツールですが、私はいつもそれを使用しているので、偏っています。


2
+1「苦痛のない共役勾配法入門」
Subodh

3

CMAESご覧ください。基本的には、凸関数のCGですが、他のタイプの関数(複数の最小値を持つ非凸関数を含む)のグローバルで堅牢なオプティマイザーを表します。しかし、私は数百の未知数よりも大きなものへのその適用を見たことはありません。

また、CGはTikhonov正則化と組み合わせて適用できることにも注意してください。これにより、ある意味で、関数の凸性が高まり、最小化が容易になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.