ステップ制御概論

局所モデルが実際のヘッセ行列に基づいている「ニュートン法」を使っても,根あるいは最小値に近くない限り,モデルステップではそれ以上解に近付けないことがある.次の問題はその簡単な例である.

いくつかのユーティリティ関数を含むパッケージをロードする.
In[1]:=
Click for copyable input
これは刻み幅制御を停止した状態での根探索の簡単な例である.ここでは,反復が2つの点の間を行き来し,収束しない.注意:プラットフォームによっては収束することもある点に注意する.これは,振動を破るのに十分な機械数計算の微妙な違いによる.
In[2]:=
Click for copyable input
Out[2]=
これは上と同じ問題で,刻み幅制御を使用したものである.最初の評価点が関数の大きさを減少させていないので,直線探索がステップを制限し,反復が解に収束する.
In[3]:=
Click for copyable input
Out[3]=

よい刻み幅制御アルゴリズムは,繰り返し,あるいは根や最小値付近からの逸脱を防止する.しかし,それと同時に,モデル関数に基づいたステップが適当な場合,刻み幅制御アルゴリズムはそれらを制限すべきではない.さもなければアルゴリズムの収束率は危うくされてしまう.よく使われる刻み幅制御アルゴリズムには,「直線探索法」「信頼領域法」の2つがある.直線探索法では,モデル関数がステップの方向を与え,収束に至る適切な点を見付けるための探索がその方向に沿って行われる.信頼領域法ではモデル関数が信頼される距離が,ステップごとに更新される.モデルステップがその距離の中にあればそれが使われ,さもなければ信頼領域の境界におけるモデル関数の近似された最小値が使われる.一般に,信頼領域法の方がより強力ではあるが,こちらの方が多くの数値線形代数を必要とする.

どちらの刻み幅制御メソッドも当初は最小化を念頭に開発された.しかし,メリット関数とともに用いると,どちらも非線形方程式の根の探索にうまく適用できる.Mathematica では2ノルムのメリット関数 が使われる.

New to Mathematica? Find your learning path »
Have a question? Ask support »