1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ニュートン法とガウス・ニュートン法

Posted at

1. 一般的なニュートン法

最適化問題において、関数 $f(x)$ の最小値を見つけるためのニュートン法(Newton's Method)の更新式は:
$$
dx = -[\nabla^2 f(x)]^{-1} \nabla f(x)
$$

2. 残差最小化問題

残差ベクトル (residual vector) $r(x)$ の二乗和を最小化する問題を考えます:

$$
f(x) = \frac{1}{2}r(x)^T r(x)
$$

この問題をニュートン法で解くために、必要な導関数を計算します。

勾配 (Gradient)

$$
\nabla f(x) = J(x)^T r(x)
$$

ここで $J(x)$ はヤコビ行列です。この形式は正規方程式の形式と一致します。

ヘッセ行列

$$
\nabla^2 f(x) = J(x)^T J(x) + \sum_{i=1}^m r_i(x)\nabla^2 r_i(x)
$$

ヘッセ行列 (Hessian Matrix) は2つの項からなります:第1項はヤコビ行列の積、第2項は残差と二階微分の積です。

これらを組み合わせると、ニュートン法の更新式は以下のようになります:
$$
dx = -[J(x)^T J(x) + \sum_{i=1}^m r_i(x)\nabla^2 r_i(x)]^{-1} J(x)^T r(x)
$$

ガウス・ニュートン法の導出

ニュートン法のヘッセ行列の第2項
$$
\sum_{i=1}^m r_i(x)\nabla^2 r_i(x)
$$
に着目します。この項は以下の特徴があります:

  • 計算コストが高い(二階微分が必要)
  • 残差 $r_i(x)$ が大きい場合、正定値性を損なう可能性がある
  • 局所的な収束性に悪影響を与えることがある

この第2項を省略することで、ガウス・ニュートン法 (Gauss-Newton Method) が導出されます:

$$
dx = -[J(x)^T J(x)]^{-1} J(x)^T r(x)
$$

利点

  1. ヘッセ行列の近似 $J(x)^T J(x)$ は常に半正定値
  2. 二階微分の計算が不要
  3. 残差が小さい場合、良好な収束性を示す

収束性と擬似逆行列

残差が小さい場合($|r(x)| \approx 0$)、省略された項も小さくなるため:

$$
\left|\sum_{i=1}^m r_i(x)\nabla^2 r_i(x)\right| \approx 0
$$

この場合、ガウス・ニュートン法は元のニュートン法に近い振る舞いを示し、局所的な二次収束性を持ちます。実は、ガウス・ニュートン法の更新式:

$$
dx = -[J(x)^T J(x)]^{-1} J(x)^T r(x)
$$

は、ヤコビ行列 $J(x)$ のムーア・ペンローズ逆行列(擬似逆行列)$J(x)^+$ を用いた形式:

$$
dx = -J(x)^+ r(x)
$$

と数学的に等価です。つまり、ガウス・ニュートン法は自然と擬似逆行列を用いた最適化を行っていることになります。これにより、$J(x)^T J(x)$ が正則でない場合でも、特異値分解(SVD)を用いて数値的に安定した解を得ることができます。

最小二乗法との関係

ガウス・ニュートン法は、非線形最小二乗問題を解くための効率的な方法です。残差ベクトル $\mathbf{r}(\mathbf{x}) = [r_1(\mathbf{x}), r_2(\mathbf{x}), ..., r_m(\mathbf{x})]^T$ に対して、最小二乗法の目的関数は以下のように表現できます:

$$
f(\mathbf{x}) = \frac{1}{2}|\mathbf{r}(\mathbf{x})|^2 = \frac{1}{2}\sum_{i=1}^m r_i(\mathbf{x})^2
$$

この形式は、先ほどのガウス・ニュートン法の導出で使用した目的関数と同じです。つまり、ガウス・ニュートン法は非線形最小二乗問題を解くために特化された手法と言えます。

線形最小二乗問題の場合

残差が線形の場合、つまり $\mathbf{r}(\mathbf{x}) = A\mathbf{x} - \mathbf{b}$ のとき:

$$
f(\mathbf{x}) = \frac{1}{2}|A\mathbf{x} - \mathbf{b}|^2
$$

この場合、ヤコビ行列は定数行列 $J(\mathbf{x}) = A$ となり、ガウス・ニュートン法の更新式は:

$$
d\mathbf{x} = -(A^T A)^{-1}A^T(A\mathbf{x} - \mathbf{b})
$$

これは線形最小二乗問題の正規方程式の解と一致します。この場合、一回の反復で厳密解に到達します。

非線形最小二乗問題の場合

非線形の場合、ガウス・ニュートン法は各反復で残差を一次のテイラー展開で近似し、その近似問題を解きます:

  1. 残差の一次近似:
    $$\mathbf{r}(\mathbf{x} + d\mathbf{x}) \approx \mathbf{r}(\mathbf{x}) + J(\mathbf{x})d\mathbf{x} + O(|d\mathbf{x}|^2)$$

    ここで、$J(\mathbf{x})$ は残差ベクトル $\mathbf{r}(\mathbf{x})$ のヤコビ行列:
    $$J(\mathbf{x}) = \begin{bmatrix}
    \frac{\partial r_1}{\partial x_1} & \cdots & \frac{\partial r_1}{\partial x_n} \
    \vdots & \ddots & \vdots \
    \frac{\partial r_m}{\partial x_1} & \cdots & \frac{\partial r_m}{\partial x_n}
    \end{bmatrix}$$

  2. 近似された目的関数:
    $$f(\mathbf{x} + d\mathbf{x}) \approx \frac{1}{2}|\mathbf{r}(\mathbf{x}) + J(\mathbf{x})d\mathbf{x}|^2$$

  3. この近似問題の解が更新式となります:
    $$d\mathbf{x} = -[J(\mathbf{x})^T J(\mathbf{x})]^{-1} J(\mathbf{x})^T \mathbf{r}(\mathbf{x})$$

このように、ガウス・ニュートン法は各反復で線形最小二乗問題を解くことで、非線形最小二乗問題の解を求めていきます。

レーベンバーグ・マーカート法と修正ニュートン法

レーベンバーグ・マーカート法 (Levenberg-Marquardt Method) は、ガウス・ニュートン法を改良した手法で、修正ニュートン法 (Modified Newton Method) と類似した考え方を持ちます。修正ニュートン法では、ヘッセ行列に制御パラメータを加えて数値的安定性を向上させます:

$$
dx = -[H + \mu I]^{-1} \nabla f(x)
$$

同様に、レーベンバーグ・マーカート法では近似ヘッセ行列 $J(x)^T J(x)$ に制御パラメータ $\lambda$ を加えます:

$$
dx = -[J(x)^T J(x) + \lambda I]^{-1} J(x)^T r(x)
$$

両手法とも、制御パラメータ($\mu$ または $\lambda$)を調整することで、数値的な安定性を向上させ、より広い範囲の初期値からの収束を可能にします。特に、パラメータが大きい場合は最急降下法に近い振る舞いを示し、小さい場合はそれぞれの元の手法(ニュートン法またはガウス・ニュートン法)に近づきます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?