改善バージョン
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/13 02:53 UTC 版)
「ガウス・ニュートン法」の記事における「改善バージョン」の解説
ガウス・ニュートン法は、初期推定値が真の解から大きく離れていたり、モデル関数の非線形性が大きい場合には安定性が悪い。また、残差平方和S は反復ごとに必ずしも減少するわけではない。そのため、実用上は安定化が必要である。 S は反復ごとに必ずしも減少するわけではないが、増分ベクトルΔはS が減少する方向を向いているから、S (βs) が停留点にない限り、任意の十分に小さなα> 0 に対して S (βs + αΔ) < S (βs) が成り立つ。したがって、発散したときに、更新方程式に縮小因子αを導入して β s + 1 = β s + α Δ {\displaystyle {\boldsymbol {\beta }}^{s+1}={\boldsymbol {\beta }}^{s}+\alpha {\boldsymbol {\Delta }}} とすることが解決法の一つとなる。 言い換えれば、増分ベクトルΔは目的関数S の下り方向を指してはいるが長すぎるので、その道のほんの一部を行くことで、S を減少させようというアイディアである。縮小因子αの最適値は直線探索で見つけることができる。つまり、直接探索法を(通常 0 < α ≤ 1 の区間で)用いて、S を最小化する値を探すことでαの大きさは決められる。 最適な縮小因子αが 0 に近いような場合、発散を回避する別の方法はLevenberg-Marquardtアルゴリズム(英語版)(信頼範囲(英語版)法)を使うことである。増分ベクトルが最急降下方向に向くように正規方程式は修正される。 ( J T J + λ D ) Δ = J T r , {\displaystyle (J^{\mathrm {T} }J+\lambda D)\Delta =J^{\mathrm {T} }{\boldsymbol {r}},} ここでD は正定値対角行列である。λが 0 から増大するにつれて増分ベクトルΔは長さが単調に減少し、かつ方向は最急降下方向に近づくため、λを十分大きくすれば必ずより小さいS の値を見出せることが保証されている。 いわゆるMarquardtパラメータλは直線探索により最適化されるが、λが変わるたびに毎回シフトベクトルの再計算をしなければならないため非効率的である。より効率的な方法は、発散が起きた時にλをS が減少するまで増加させる。そしてその値を1回の反復から次まで維持する、しかしλを 0 に設定することができるときにもしカットオフ値に届くまで可能なら減少させる。このときS の最小値は標準のガウス・ニュートン法の最小化になる。
※この「改善バージョン」の解説は、「ガウス・ニュートン法」の解説の一部です。
「改善バージョン」を含む「ガウス・ニュートン法」の記事については、「ガウス・ニュートン法」の概要を参照ください。
- 改善バージョンのページへのリンク