ガウス・ニュートン法
データフィッティングにおいて、与えられたモデル関数 y = f (x , β) がm 個のデータ点 {(xi , yi ); i = 1, ... , m } に最もよくフィットするようなn (≤ m )個のパラメータβ = (β1 , ... , βn )を見つけることが目的である。
このとき、残差を
r i ( β ) = y i − f ( x i , β ) {\displaystyle r_{i}({\boldsymbol {\beta }})=y_{i}-f(x_{i},{\boldsymbol {\beta }})}
とする。
このとき、ガウス・ニュートン法は残差の平方和
S ( β ) = ∑ i = 1 m ( r i ( β ) ) 2 {\displaystyle S({\boldsymbol {\beta }})=\sum _{i=1}^{m}(r_{i}({\boldsymbol {\beta }}))^{2}}
の最小値を反復計算で求める。初期推測値β から初めて、この方法は以下の計算を繰り返す。
β ( s + 1 ) = β ( s ) − ( J r T J r ) − 1 J r T r ( β ( s ) ) , ( s = 0 , 1 , 2 , ... ) . {\displaystyle {\boldsymbol {\beta }}^{(s+1)}={\boldsymbol {\beta }}^{(s)}-({J_{r}}^{\mathrm {T} }{J_{r}})^{-1}{J_{r}}^{\mathrm {T} }{\boldsymbol {r}}({\boldsymbol {\beta }}^{(s)}),\quad (s=0,1,2,\dots ).
min  [ ‖ r ( β s ) + J r ( β s ) Δ ‖ 2 2 ] {\displaystyle \operatorname {min} \left[{\|{\boldsymbol {r}}({\boldsymbol {\beta }}^{s})+J_{r}({\boldsymbol {\beta }}^{s}){\boldsymbol {\Delta }}\|_{2}}^{2}\right]}
は線形最小二乗法の問題であるため、陽的に解くことができ、正規方程式を与える。ここで ||*||2 は 2-ノルム(ユークリッドノルム)である。
正規方程式は未知の増分Δについてのm 本の線形同次方程式である。これはコレスキー分解を用いることで、またはより良い方法としてはJr のQR分解を用いることで、1ステップで解ける。大きな系に対しては、共役勾配法のような反復解法が有効である。Jr の列ベクトルが線形従属である場合、JrJr が非正則になるため反復解法は失敗する。
後に示すように、ガウス・ニュートン法は近似関数の最適化に用いられるニュートン法から与えられる。その結果、ガウス・ニュートン法の収束の速さはほとんど2次である。
パラメータβを持つ関数S の最小化をするとき、ニュートン法による漸化式は
β ( s + 1 ) = β ( s ) − H − 1 g {\displaystyle {\boldsymbol {\beta }}^{(s+1)}={\boldsymbol {\beta }}^{(s)}-H^{-1}{\boldsymbol {g}}\,}
である。ここでg はS の勾配ベクトル、H はS のヘッシアンである。 S = ∑ i = 1 m r i 2 {\displaystyle S=\sum _{i=1}^{m}r_{i}^{2}} であるから、勾配g は次で与えられる:
g = 2 J r T r , or, g j = 2 ∑ i = 1 m r i ∂ r i ∂ β j . {\displaystyle {\boldsymbol {g}}=2{J_{r}}^{\mathrm {T} }{\boldsymbol {r}},\quad {\text{or,}}\quad g_{j}=2\sum _{i=1}^{m}r_{i}{\frac {\partial r_{i}}{\partial \beta _{j}}}.}
ヘッシアンH は勾配g をβ で微分することで計算される:
H j k = 2 ∑ i = 1 m ( ∂ r i ∂ β j ∂ r i ∂ β k + r i ∂ 2 r i ∂ β j ∂ β k ) .