最速下降法

算法

最速下降法

注意

  • 先确定搜索方向:负梯度方向;
  • 然后确定步长:步长 λ \lambda λ选择的是关于 λ \lambda λ的一元函数 f ( x k + λ d k ) f(x_k+\lambda d_k) f(xk+λdk)的最优解。

原理介绍:为什么负梯度方向是下降方向

最速下降法
证明:
f f f在点 x x x沿方向 d d d的导数为 f ′ ( x ; d ) = lim ⁡ λ → 0 + f ( x + λ d ) − f ( x ) λ f'(x;d)=\lim\limits_{\lambda\rightarrow0^+}\frac{f(x+\lambda d)-f(x)}{\lambda} f(x;d)=λ0+limλf(x+λd)f(x),而等式右端又是关于 λ \lambda λ的一次函数 θ ( λ ) = f ( x + λ d ) \theta(\lambda)=f(x+\lambda d) θ(λ)=f(x+λd) 0 0 0的导数,所以 lim ⁡ λ → 0 + f ( x + λ d ) − f ( x ) λ = θ ′ ( λ ) = lim ⁡ λ → 0 + ∇ f ( x + λ d ) T d = ∇ f ( x ) T d \lim\limits_{\lambda\rightarrow0^+}\frac{f(x+\lambda d)-f(x)}{\lambda}=\theta'(\lambda)=\lim\limits_{\lambda\rightarrow0^+}\nabla f(x+\lambda d)^Td=\nabla f(x)^Td λ0+limλf(x+λd)f(x)=θ(λ)=λ0+limf(x+λd)Td=f(x)Td
于是,题目中的优化问题就变为 min ⁡ { ∇ f ( x ) T d : ∣ ∣ d ∣ ∣ ≤ 1 } \min\{\nabla f(x)^Td:||d||\leq 1\} min{f(x)Td:d1}.
由于 ∇ f ( x ) T d = ∣ ∣ ∇ f ( x ) ∣ ∣ ⋅ ∣ ∣ d ∣ ∣ ⋅ cos ⁡ ( α ) ≥ − ∣ ∣ ∇ f ( x ) ∣ ∣ ⋅ ∣ ∣ d ∣ ∣ ≥ − ∣ ∣ ∇ f ( x ) ∣ ∣ . \nabla f(x)^Td=||\nabla f(x)||\cdot||d||\cdot \cos(\alpha)\geq-||\nabla f(x)||\cdot||d||\geq -||\nabla f(x)||. f(x)Td=f(x)dcos(α)f(x)df(x).
d = − ∇ f ( x ) / ∣ ∣ ∇ f ( x ) ∣ ∣ d=-\nabla f(x)/||\nabla f(x)|| d=f(x)/f(x)时, ∇ f ( x ) T d = − ∣ ∣ ∇ f ( x ) ∣ ∣ \nabla f(x)^Td=-||\nabla f(x)|| f(x)Td=f(x)。所以, d = − ∇ f ( x ) / ∣ ∣ ∇ f ( x ) ∣ ∣ d=-\nabla f(x)/||\nabla f(x)|| d=f(x)/f(x)是原问题的最优解。

为什么负梯度方向是下降方向呢?

首先来看看下降方向的定义:
如果存在 δ > 0 \delta>0 δ>0,s.t. ∀ λ ∈ ( 0 , δ ) , \forall \lambda\in(0,\delta), λ(0,δ), 都有 f ( x + λ d ) < f ( x ) f(x+\lambda d)<f(x) f(x+λd)<f(x),则称方向 d d d f f f在点 x x x的下降方向。

若是 d = − ∇ f ( x ) d=-\nabla f(x) d=f(x), 那么 lim ⁡ λ → 0 + f ( x + λ d ) − f ( x ) λ = ∇ f ( x ) T d = − ∣ ∣ ∇ f ( x ) ∣ ∣ 2 < 0 \lim\limits_{\lambda\rightarrow0^+}\frac{f(x+\lambda d)-f(x)}{\lambda}=\nabla f(x)^Td=-||\nabla f(x)||^2<0 λ0+limλf(x+λd)f(x)=f(x)Td=f(x)2<0,所以负梯度方向是下降方向,而由上面的引理,单位负梯度方向是最速下降方向。