この項目では、最適化アルゴリズムについて説明しています。解析的(漸近)近似については「最急降下法 (漸近解析)(英語版 ) あるいは鞍点法(英語版 ) 」をご覧ください。
「勾配降下法 」はこの項目へ転送されています。確率的 勾配降下法については「確率的勾配降下法 」をご覧ください。
最急降下法 (さいきゅうこうかほう、英 : gradient descent, steepest descent )[1] は、関数 (ポテンシャル面)の傾き (一階微分 )のみから、関数の最小値 を探索する連続最適化問題 の勾配法 のアルゴリズム の一つ。勾配法としては最も単純であり、直接・間接にこのアルゴリズムを使用している場合は多い。最急降下法をオンライン学習に改良した物を確率的勾配降下法 と呼ぶ。
尚、最急降下法の“最急”とは、最も急な方向に降下することを意味している。すなわち、収束 の速さに関して言及しているわけではない(より速いアルゴリズムがあり得る)。
手法
n 次のベクトル x = (x 1 , x 2 , ... , x n ) を引数 とする関数 を f (x ) としてこの関数の極小値 を求めることを考える。
勾配法では反復法 を用いて x を解に近づけていく。k 回目の反復で解が x (k ) の位置にあるとき、最急降下法では次のようにして値を更新する[1] 。
x
(
k
+
1
)
=
x
(
k
)
−
α
grad
f
(
x
(
k
)
)
=
x
(
k
)
−
α
[
∂
f
(
x
(
k
)
)
/
∂
x
1
(
k
)
∂
f
(
x
(
k
)
)
/
∂
x
2
(
k
)
⋮
∂
f
(
x
(
k
)
)
/
∂
x
n
(
k
)
]
{\displaystyle {\begin{aligned}{\boldsymbol {x}}^{(k+1)}={\boldsymbol {x}}^{(k)}-\alpha \operatorname {grad} f({\boldsymbol {x}}^{(k)})={\boldsymbol {x}}^{(k)}-\alpha {\begin{bmatrix}\partial f({\boldsymbol {x}}^{(k)})/\partial x_{1}^{(k)}\\\partial f({\boldsymbol {x}}^{(k)})/\partial x_{2}^{(k)}\\\vdots \\\partial f({\boldsymbol {x}}^{(k)})/\partial x_{n}^{(k)}\end{bmatrix}}\end{aligned}}}
非線形(制約付き)
凸最適化
組合せ最適化
メタヒューリスティクス