用途
gradient descent / steepest descent 是求解无约束问题的最常用方法,实现简单。是一种迭代方法,每一步求解目标函数的梯度向量。
方法
假设 f(x)是 R n R^n Rn 上有一阶连续编导数的函数,要求解的无约束最优化问题是
min x ∈ R n f ( x ) \displaystyle\min_{x \isin R^n} f(x) x∈Rnminf(x)
一次泰勒展开
f ( x ) = f ( x ( k ) ) + g k T ( x − x ( k ) ) f(x) = f(x^{(k)}) + g_k^T(x-x^{(k)}) f(x)=f(x(k))+gkT(x−x(k))
其中
g
k
=
g
(
x
(
k
)
)
=
∇
f
(
x
(
k
)
)
g_k=g(x^{(k)}) = \nabla f(x^{(k)})
gk=g(x(k))=∇f(x(k)) 为
f
(
x
)
f(x)
f(x) 在
x
(
k
)
x^{(k)}
x(k) 的梯度
取负梯度方向
p
k
=
−
∇
f
(
x
(
n
)
)
p_k=-\nabla f(x^{(n)})
pk=−∇f(x(n))
x
(
k
+
1
)
←
x
(
k
)
+
λ
k
p
k
x^{(k+1)} \leftarrow x^{(k)} + \lambda_k p_k
x(k+1)←x(k)+λkpk
其中
λ
k
\lambda_k
λk 是步长