最优化之最速下降

第四章 无约束优化方法

4.2 最速下降法

  最速下降法的基本思想:当当前点 x k x_k xk处的梯度不为0时(或不满足精度要求时),从当前点 x k x_k xk出发,沿负梯度方向 − ∇ f ( x k ) -\nabla f(x_{k}) f(xk)前进到下一个点 x ( k + 1 ) x_{(k+1)} x(k+1)

4.2.1 算法实现

考虑无约束优化问题:

                                     m i n f ( x ) min f(x) minf(x)

其中 f f f 具有一阶连续偏导数。

最速下降算法
输入:函数 f f f R n R^n Rn : → \rightarrow R R R,具有一阶连续偏导数,初始点 x ( 0 ) x^{(0)} x(0) 允许误差 ϵ \epsilon ϵ
输出:满足精度要求的点 x ‾ \overline{x} x
    1 k ← 1 k\gets 1 k1
    2 w h i l e ∣ ∣ ∇ f ( x ( k ) ) ∣ ∣ > ϵ while ||\nabla f(x^{(k)})|| > \epsilon whilef(x(k))>ϵ d o do do
    3    下降方向 d k ← − ∇ f ( x ( k ) ) d^{k}\gets −\nabla f(x^{(k)}) dkf(x(k))
    4    计算步长因子 α k \alpha_{k} αk
    5    x ( k + 1 ) ← d ( k ) + α k d ( k ) x^{(k+1)} \gets d^{(k)}+\alpha_{k}d^{(k)} x(k+1)d(k)+αkd(k)
    4    k ← k + 1 k\gets k+1 kk+1
    5 e n d w h i l e endwhile endwhile
    6 r e t u r n return return x ˉ ← x ( k ) \bar{x}\gets x^{(k)} xˉx(k)

4.2.2 例题讲解

Example :用最速下降法解 m i n f ( x ) = 2 x 1 2 + x 2 2 min f(x)=2x^{2}_{1}+x^{2}_{2} minf(x)=2x12+x22,初始点 x ( 1 ) = ( 1 1 ) x^{(1)}=\begin{pmatrix}1 \\ 1\end{pmatrix} x(1)=(11) ϵ = 0.1 \epsilon=0.1 ϵ=0.1
    解:目标函数在 x x x处的梯度为:

     ∇ f ( x ) = ( 4 x 1 2 x 2 ) \nabla f(x)=\begin{pmatrix}4x_{1}\\ 2x_{2}\end{pmatrix} f(x)=(4x12x2)

    第1次迭代

     ∇ f ( x ( 1 ) ) = ( 4 2 ) \nabla f(x^{(1)})=\begin{pmatrix}4\\ 2\end{pmatrix} f(x(1))=(42),其模为 4 2 + 2 2 > 0.1 \sqrt{4^{2}+2^{2}}>0.1 42+22 >0.1

    令搜索方向 d ( 1 ) = − ( ∇ f ( x ( 1 ) ) ) = ( − 4 − 2 ) d^{(1)}=-(\nabla^{}f(x^{(1)}))=\begin{pmatrix}-4\\ -2\end{pmatrix} d(1)=(f(x(1)))=(42)

    从 x ( 1 ) x^{(1)} x(1)出发,沿方向 d ( 1 ) d^{(1)} d(1)进行一维搜索,求步长 α 1 \alpha_{1} α1,即求解 m i n α > 0 f ( x ( 1 ) + α d ( 1 ) ) min_{\alpha>0}f(x^{(1)}+\alpha d^{(1)}) minα>0f(x(1)+αd(1)) ,其中,

     f ( x ( 1 ) + α d ( 1 ) ) f(x^{(1)}+\alpha d^{(1)}) f(x(1)+αd(1))= f ( ( 1 1 ) + α ( − 4 − 2 ) ) = 2 ( 1 − 4 α ) 2 + ( 1 − 2 α ) 2 f(\begin{pmatrix}1\\ 1\end{pmatrix}+\alpha \begin{pmatrix}-4\\ -2\end{pmatrix}) = 2(1-4\alpha)^{2}+(1-2\alpha)^{2} f((11)+α(42))=2(14α)2+(12α)2

    求导解出最小值点为 α 1 = 5 18 \alpha_1=\frac{5}{18} α1=185

    因此,在方向 d ( 1 ) d^{(1)} d(1)处问题的极小点为 x ( 2 ) = d ( 1 ) + α 1 d ( 1 ) = ( − 1 / 9 4 / 9 ) x^{(2)}=d^{(1)}+\alpha_{1}d^{(1)}=\begin{pmatrix}-1/9\\ 4/9\end{pmatrix} x(2)=d(1)+α1d(1)=(1/94/9)

    第2次迭代

     ∇ f ( x ( 2 ) ) = ( − 4 / 9 8 / 9 ) \nabla f(x^{(2)})=\begin{pmatrix}-4/9\\ 8/9\end{pmatrix} f(x(2))=(4/98/9),其模为 ( − 4 / 9 ) 2 + ( 8 / 9 ) 2 > 0.1 \sqrt{(-4/9)^{2}+(8/9)^{2}}>0.1 (4/9)2+(8/9)2 >0.1

    令搜索方向 d ( 2 ) = − ( ∇ f ( x ( 2 ) ) ) = ( 4 / 9 − 8 / 9 ) d^{(2)}=-(\nabla^{}f(x^{(2)}))=\begin{pmatrix}4/9\\ -8/9\end{pmatrix} d(2)=(f(x(2)))=(4/98/9)

    从 x ( 2 ) x^{(2)} x(2)出发,沿方向 d ( 2 ) d^{(2)} d(2)进行一维搜索,求步长 α 2 \alpha_{2} α2,即求解 m i n α > 0 f ( x ( 2 ) + α d ( 2 ) min_{\alpha>0}f(x^{(2)}+\alpha d^{(2}) minα>0f(x(2)+αd(2) ,其中,

     f ( x ( 2 ) + α d ( 2 ) ) f(x^{(2)}+\alpha d^{(2)}) f(x(2)+αd(2))= f ( ( − 1 / 9 4 / 9 ) + α ( 4 / 9 − 8 / 9 ) ) f(\begin{pmatrix}-1/9\\ 4/9\end{pmatrix}+\alpha \begin{pmatrix}4/9\\ -8/9\end{pmatrix}) f((1/94/9)+α(4/98/9))

    求导解出最小值点为 α 1 = 5 12 \alpha_1=\frac{5}{12} α1=125

    因此,在方向 d ( 2 ) d^{(2)} d(2)处问题的极小点为 x ( 3 ) = d ( 2 ) + α 2 d ( 2 ) = ( 2 / 27 2 / 27 ) x^{(3)}=d^{(2)}+\alpha_{2}d^{(2)}=\begin{pmatrix}2/27\\ 2/27\end{pmatrix} x(3)=d(2)+α2d(2)=(2/272/27)

    以此类推,共四次迭代,最终得到近似解 x ˉ = 2 243 ( − 1 4 ) \bar{x}=\frac{2}{243}\begin{pmatrix}-1\\ 4\end{pmatrix} xˉ=2432(14)

    实际上,问题的最优解为 x ⋆ = ( 0 0 ) x^{\star}=\begin{pmatrix}0\\ 0\end{pmatrix} x=(00)

在这里插入图片描述

4.2.3 最速下降法的锯齿现象

在最速下降法中,相邻的搜索方向垂直或近似垂直,这成为“锯齿现象”。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值