ドッグレッグ法

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:翻訳直後 ドッグレッグ法(ドッグレッグほう、テンプレート:Lang-en-short)またはパウエルのドッグレッグ法(パウエルのドッグレッグほう、テンプレート:Lang-en-short)は、1970年テンプレート:Ill2によって導入された、非線形最小二乗問題を解くための反復最適化アルゴリズムであるテンプレート:Sfnレーベンバーグ・マルカート法と同様にガウス・ニュートン法勾配降下法とを組み合わせた解法であるが、信頼領域を明示的に使用する。各反復において、ガウス・ニュートン法により算出されたステップが信頼領域内にある場合は、それを使用して現在の解を更新する。ガウス・ニュートン法により算出されたステップが信頼領域外に出てしまう場合、コーシー点と呼ばれる最急降下方向に沿った目的関数の最小点を探す。コーシー点が信頼領域の外側にある場合は、信頼領域の境界まで切りつめられ、新しい解として採用される。コーシー点が信頼領域内にある場合、新しい解は、信頼領域の境界と、コーシー点とガウス・ニュートン法によるステップを結ぶ線(ドッグレッグステップ)との交点を次の解とするテンプレート:Sfn

このアルゴリズムの名前は、ドッグレッグステップの構成がゴルフドッグレッグホールの形状に似ていることに由来するテンプレート:Sfn

定式化

ドッグレッグステップの構成

fi:nを所与として、次の形式の最小二乗問題を考える。

F(𝒙)=12𝒇(𝒙)2=12i=1m(fi(𝒙))2

パウエルのドッグレッグ法は最適点𝒙=argmin𝒙F(𝒙)に収束する点𝒙k=𝒙k1+δkにより構築することでこの問題を解く。各反復において、ガウス・ニュートン法ステップは次のように与えられる。

𝜹𝒈𝒏=(𝑱𝑱)1𝑱𝒇(𝒙)

ここで、𝑱=(fixj)ヤコビ行列を表わす。一方、最急降下方向は次式のように与えられる。

𝜹𝒔𝒅=𝑱𝒇(𝒙)

目的関数を最急降下方向に沿って線形化すると、以下を得る。

F(𝒙+t𝜹𝒔𝒅)12𝒇(𝒙)+t𝑱(𝒙)𝜹𝒔𝒅2=F(𝒙)+t𝜹𝒔𝒅𝑱𝒇(𝒙)+12t2𝑱𝜹𝒔𝒅2

コーシー点におけるパラメータテンプレート:Mvarの値を計算するには、最後の表式をテンプレート:Mvarに関して微分したものとゼロを結んだ等式を解けばよく、解は次の式で与えられる。

t=𝜹𝒔𝒅𝑱𝒇(𝒙)𝑱𝜹𝒔𝒅2=𝜹𝒔𝒅2𝑱𝜹𝒔𝒅2

所与の信頼半径Δのもと、パウエルのドッグレッグ法では次のように更新ステップ𝜹𝒌を選択する。

  • ガウス・ニュートンステップ𝜹𝒈𝒏が信頼領域内にある場合(𝜹𝒈𝒏Δ)、𝜹𝒈𝒏
  • 𝜹𝒈𝒏と最急降下ステップ𝜹𝒔𝒅の両方が信頼領域の外にある場合(t𝜹𝒔𝒅>Δ)、Δ𝜹𝒔𝒅𝜹𝒔𝒅
  • 𝜹𝒈𝒏は信頼領域の外側にあるが、t𝜹𝒔𝒅は内側にある場合、t𝜹𝒔𝒅+s(𝜹𝒈𝒏t𝜹𝒔𝒅)sについて𝜹=Δを満たすよう解いたもの(ドッグレッグステップ)テンプレート:Sfn

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

関連項目

外部リンク

テンプレート:最適化アルゴリズム