- 追加された行はこの色です。
- 削除された行はこの色です。
- 共役勾配法 へ行く。
* 共役勾配法 (conjugate gradient method) [#m4f618ad]
//ここには %項目の説明を書いてください.よろしければ署名しておいてください.
最急勾配法と同様の,関数の極小(大)値を求める方法.
最急勾配法では,最適な点に向かって直線的に向かわず,ジグザグに向かうので収束が遅い.そこで,今まで進んできた方向も考慮して,最適な点に向かって進むように工夫している.
次の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 は次元数).--あかほ
**関連項目 [#d43435d8]
//英語や同義語のあとに,#brで区切って関連する項目をリストしてください.
-[[conjugate gradient method]]
#br
-[[最急勾配法]]
-[[最適化]]
#br
-[[検索:共役勾配法]]
**リンク集 [#b8c37e4e]
//関連するWWW資源があればリンクしてください.
-[[Conjugate Gradient Method>http://www.cse.uiuc.edu/iem/optimization/ConjugateGradient/]] @ Scientific Computing
#br
-[[Wikipedia:Conjugate_gradient_method]]
-[[PlanetMath:ConjugateGradientAlgorithm]]
-[[NumericalRecipes:c10-6]] Conjugate Gradient Methods in Multidimensions
**関連文献 [#e75f4996]
//この%項目%に関連する書籍や論文を紹介してください.
-[[Book/最適化の手法]] 4.5章
-[[Book/Neural Networks for Pattern Recognition]] 7.7章