数値最適化において、非線形共役勾配法は共役勾配法を非線形最適化に一般化したものである。二次関数の場合
最小値勾配が0のときに得られる値:
線形共役勾配法は線形方程式の解を求める 非線形共役勾配法は、一般的に非線形関数の勾配を用いて局所最小値を求めるために用いられる。単独で機能します。これは、関数が最小値付近でほぼ二次関数である場合に有効です。これは、関数が最小値で2回微分可能であり、かつその最小値における2階微分が非特異である場合に該当します。
関数が与えられた場合の最小化する変数、その勾配これは最大増加方向を示しています。単純に反対方向(最も急な下降方向)から始めればよいのです。
歩幅調節可能そして、この方向で最小値に達するまで線探索を実行します。:
最も急な方向への最初の反復の後以下の手順は、次の共役方向に沿って移動する1回の反復を構成する。、 どこ:
純粋な二次関数では、最小値はN回以内の反復で到達します (丸め誤差を除く) が、二次関数でない場合は、進行が遅くなります。後続の探索方向では共役性が失われるため、探索方向を少なくともN回ごとに、または進行が停止した場合はそれよりも早く、最急降下方向にリセットする必要があります。ただし、反復ごとにリセットすると、この方法は最急降下法になります。アルゴリズムは、最小値が見つかったときに停止します。最小値は、方向リセット後 (つまり、最急降下方向) に進行がなくなったとき、または何らかの許容基準に達したときに決定されます。
線形近似の範囲内では、パラメータはそしてこれらは線形共役勾配法の場合と同じですが、線探索によって得られたものです。共役勾配法は狭い(条件の悪い)谷をたどることができますが、最急降下法では速度が低下し、交差パターンをたどります。
最もよく知られている4つの公式開発者の名前が付けられています。
これらの式は二次関数では同等ですが、非線形最適化の場合、好ましい式は経験則または好みの問題です。一般的な選択肢は方向を自動的にリセットします。[ 5 ]
ニュートン法に基づくアルゴリズムは、収束速度がはるかに速い可能性があります。ニュートン法では、ステップの方向と長さの両方が、線形方程式系の解として勾配から計算されます。係数行列は、(ニュートン法の場合)正確なヘッセ行列、または(準ニュートン法の場合、反復中の勾配の変化がヘッセ行列の推定値の更新に使用される)その推定値です。高次元問題の場合、ヘッセ行列の正確な計算は通常、非常にコストがかかり、その保存も問題となる場合があり、メモリ(ただし、限定メモリL-BFGS準ニュートン法を参照)。
共役勾配法は最適制御理論を用いて導出することもできる。[ 6 ]この加速最適化理論では、共役勾配法は非線形最適フィードバックコントローラとして現れる。
二重積分器システムの場合、
数量 そして 可変フィードバックゲインである。[ 6 ]