Post

最急降下法(Steepest Descent Method)

最急降下法(Steepest Descent Method)とは

最急降下法(Steepest Descent Method)は,目的関数 $f(x)$ を最も急激に減少させる方向(勾配)に進むことで,局所最小値を求める反復最適化アルゴリズムである.


探索方向の定義

点 $x_k$ における勾配 $\nabla f(x_k)$ に基づいて,探索方向 $d_k$ を次のように定める:

\[d_k = -\nabla f(x_k)\]

ここで:

  • $\nabla f(x_k)$:点 $x_k$ における関数 $f$ の勾配ベクトル(gradient vector)
  • $d_k$:探索方向(search direction)

減少性の確認

$\nabla f(x_k) \ne 0$ のとき,次が成り立つ(探索方向と勾配方向の内積):

\[\nabla f(x_k)^T d_k = -\|\nabla f(x_k)\|^2 < 0\]

つまり,$d_k$ は $f$ の値を確実に減少させる方向である.

アルゴリズム:最急降下法(Steepest Descent Method)

Algorithm: Steepest Descent method

  • 初期点 $x_0 \in \mathbb{R}^n$ を選ぶ
  • 繰り返し($k=0,1,2,\dots$):
    • 勾配のノルムが小さくなったら停止: $\nabla f(x_k)| \approx 0$
    • 探索方向を計算: $d_k = -\nabla f(x_k)$
    • ステップサイズを決定: $\alpha_k = \arg\min_{\alpha > 0} f(x_k + \alpha d_k)$
    • 探索点を更新: $x_{k+1} = x_k + \alpha_k d_k$

コメントと補足

  • $\nabla f(x_k)$ は関数の等高線に垂直で,関数値が最も急激に増加する方向を示す.
  • $-\nabla f(x_k)$ はその反対方向,つまり最も急激に減少する方向である.
  • 直線探索でステップ幅 $\alpha_k$ を最適化することで,無駄な反復を避けられる.
  • 局所最適性の確認には,ヘッセ行列 $H(x_k) = \nabla^2 f(x_k)$ の正定性をチェックする.

参考資料

  • 大塚 敏之, 非線形最適制御入門(Introduction to Nonlinear Optimal Control),コロナ社, 2011.
  • Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. Springer.
This post is licensed under CC BY 4.0 by the author.