ドッグレッグ法

提供: 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により構築することでこの問題を解く。各反復において、ガウス・ニュートン法ステップは次のように与えられる。

δgn=(𝑱𝑱)1𝑱𝒇(𝒙)

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

δsd=𝑱𝒇(𝒙)

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

F(𝒙+tδsd)12𝒇(𝒙)+t𝑱(𝒙)δsd2=F(𝒙)+tδsd𝑱𝒇(𝒙)+12t2𝑱δsd2

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

t=δsd𝑱𝒇(𝒙)𝑱δsd2=δsd2𝑱δsd2

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

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

脚注

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

参考文献

関連項目

外部リンク

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