Optim method

大森裕浩 本文

Scientific computing project

見本用に関数最適化ルーチン "optim" の html ヘルプファイルを別途置いておきます。 "optim" はオプションで複数の最適化手法を選ぶことができ、問題に応じた適切な手法を簡単に試行錯誤で探すことができます。また複数の手法で得られた解を比較すれば、解の妥当性を容易に検証することもできます。これだけでも R を使う価値があると思います。 いずれも複数パラメータが可で、グラディエントベクトルを明示的にあたえたり、数値微分で計算するように指示できます。otptim は再帰的に使用できます(私の経験では、制御パラメータ値の選択に極めて敏感な、たちの悪い最適化問題で、制御パラメータ値自身を変数に取る二段階の最適化で良い結果を得ることが出来ました)。

===================================================================
(1) Nelder-Mead法 関数値のみを使用、頑健、相対的に遅い(既定手法) 。
-----------------------------------------------------------------------------------------------
(2) BFGS法(準ニュートン法) 関数値とグラディエントを使用 。
-----------------------------------------------------------------------------------------------
(3) CG法(共役勾配法) BFGS法より破綻しやすいが、メモリ使用量が少く大規模問題に
適する三種類の更新法(Fletcher-Reeves, Polak-Ribiere, Beale-Sorenson)を選択可 。
-----------------------------------------------------------------------------------------------
(4) L-BFGS-B法 矩形型拘束条件を持つ準ニュートン法 。
-----------------------------------------------------------------------------------------------
(5) SANN法 Metropolis 法を使うシミュレーテッドアニーリング法、関数値のみを使用、
頑健、遅い 。
====================================================================

沒有留言: