これらのキーワードがハイライトされています:最適化 optimization
最急勾配法と同様の,関数の極小(大)値を求める方法.
最急勾配法では,最適な点に向かって直線的に向かわず,ジグザグに向かうので収束が遅い.そこで,今まで進んできた方向も考慮して,最適な点に向かって進むように工夫している.
次の2次形式の関数を考える
\[f(\mathbf{x})=\frac{1}{2}\mathbf{x}^\top A\mathbf{x}-\mathbf{b}^\top\mathbf{x}\]
適当な初期値 \(\mathbf{x}_0\) をきめ,\(\mathbf{d}_0=-\nabla f(\mathbf{x}_0)\) とし,\(\nabla f(\mathbf{x}_n)=0\) となるまで次のステップを反復して極小値を求める.
- 探索方向の更新
\[\mathbf{d}_n=-\nabla f(\mathbf{x}_n)+\frac{(\nabla f(\mathbf{x}_n))^\top\nabla f(\mathbf{x}_n)}{(\nabla f(\mathbf{x}_{n-1}))^\top\nabla f(\mathbf{x}_{n-1})}\mathbf{d}_{n-1}\]
- \(t_n\) を次式で求め \(\mathbf{x}_{n+1}=\mathbf{x}_n+t_n\mathbf{d}_n\)に更新.
\(n\) を一つ増やす.
\[t_n=-\frac{\mathbf{d}_n^\top\nabla f(\mathbf{x}_n)}{\mathbf{d}_n^\top A\mathbf{d}_n}\]
-- しましま
目的関数が2次関数のときは n ステップで終了する(n は次元数).--あかほ
関連項目†
リンク集†
関連文献†