(六)最速下降法

(六)最速下降法本文主要内容如下 1 最速下降法 2 多元二次函数优化问题的步长选取 3 等值线 面的几何分析 最速下降法

大家好,欢迎来到IT知识分享网。

1. 最速下降法

数值求解极小值问题的基本思想在于从给定的初始点 x ⃗ 0 \vec{x}_0 x
0
出发,沿某一搜索方向 d ⃗ 0 \vec{d}_0 d
0
进行搜索,同时通过确定最佳步长 α 0 \alpha_0 α0 使函数值沿该搜索方向下降最大。依此方式不断进行,形成函数值下降的迭代算法
,即:
x ⃗ k + 1 = x ⃗ k + α k d ⃗ k   ( k = 0 , 1 , 2 , …   )   f ( x ⃗ k + 1 ) < f ( x ⃗ k ) \vec{x}_{k+1}=\vec{x}_k+\alpha_k\vec{d}_k\ (k=0,1,2,\dots)\\\ \\ f(\vec{x}_{k+1})<f(\vec{x}_k) x
k+1
=
x
k
+
αkd
k
 (k=
0,1,2,) f(x
k+1
)<
f(x
k
)

对于任意的 n n n 元函数 f ( x ⃗ )   ( x ⃗ ∈ R n ) f(\vec{x})\ (\vec{x}\in\mathbb{R}^n) f(x
) (x
Rn)
的方向导数(反映函数在当前位置沿任意方向的变化快慢):
d f ( x ⃗ ) d r ⃗ ∣ x ⃗ = x ⃗ 0 = lim ⁡ Δ r → 0 f ( x 1 + Δ x 1 , x 2 + Δ x 2 , … , x n + Δ x n ) − f ( x 1 , … , x n ) Δ r = g r a d ( f ) ∣ x ⃗ = x ⃗ 0 ⋅ r ⃗ \begin{aligned} &\left.\dfrac{df(\vec{x})}{d\vec{r}}\right|_{\vec{x}=\vec{x}_0}=\lim_{\Delta r\rightarrow0}\dfrac{f(x_1+\Delta x_1,x_2+\Delta x_2,\dots,x_n+\Delta x_n)-f(x_1,\dots,x_n)}{\Delta r}\\\\ &\uad\uad\quad=\left.grad(f)\right|_{\vec{x}=\vec{x}_0}\cdot\vec{r} \end{aligned} dr
df(x
)

x
=x
0
=Δr0limΔrf(x1+Δx1,x2+Δx2,,xn+Δxn)f(x1,,xn)
=grad(f)x
=x
0
r

其中, r ⃗ = 1 Δ r [ Δ x 1 , Δ x 2 , … , Δ x n ] \vec{r}=\dfrac{1}{\Delta r}\begin{bmatrix}\Delta x_1,\Delta x_2,\dots,\Delta x_n\end{bmatrix} r
=
Δr1[Δx1,Δx2,,Δxn]
为任意单位方向, Δ r = Δ x 1 2 + ⋯ + Δ x n 2 \Delta r=\sqrt{\Delta x_1^2+\dots+\Delta x_n^2} Δr=Δx12++Δxn2




上式说明:函数的负梯度方向是函数值在该点下降最快的方向。 因此,很容易想到利用负梯度作为搜索方向,这便是为何将其称为最速下降法(Steepest Descent)或梯度法,即
x ⃗ k + 1 = x ⃗ k − α k ▽ f ( x ⃗ k )   ( k = 0 , 1 , 2 , …   ) \vec{x}_{k+1}=\vec{x}_k-\alpha_k\bigtriangledown f(\vec{x}_k)\ (k=0,1,2,\dots) x
k+1
=
x
k
αkf(x
k
) (k=
0,1,2,)

搜索方向确定后,步长还有待确定。我们希望函数沿着搜索方向上能够“前进”到该方向上的极小值,如图所示:

(六)最速下降法
换而言之,每步搜寻所采取的最佳步长 α \alpha α 的确定是通过在搜索方向上进行一维极小值问题的求解 (试探法,插值法…) 获得,即
min ⁡ α f [ x ⃗ k − α ▽ f ( x ⃗ k ) ] = min ⁡ α ϕ ( α ) \min_{\alpha}f[\vec{x}_k-\alpha\bigtriangledown f(\vec{x}_k)]=\min_{\alpha}\phi(\alpha) αminf[x
k
αf(x
k
)]=
αminϕ(α)

根据一元极值问题的必要条件:
ϕ ′ ( α ) = − { ▽ f [ x ⃗ k − α ▽ f ( x ⃗ k ) ] } T ⋅ [ ▽ f ( x ⃗ k ) ] = − [ ▽ f ( x ⃗ k + 1 ) ] T ⋅ [ ▽ f ( x ⃗ k ) ] = 0 \phi'(\alpha)=-\{\bigtriangledown f[\vec{x}_k-\alpha\bigtriangledown f(\vec{x}_k)]\}^T\cdot[\bigtriangledown f(\vec{x}_k)]=-[\bigtriangledown f(\vec{x}_{k+1})]^T\cdot[\bigtriangledown f(\vec{x}_k)]=0 ϕ(α)={
f[x
k
αf(x
k
)]}T
[f(x
k
)]=
[f(x
k+1
)]T
[f(x
k
)]=
0

这说明了在最速下降法中, 相邻两个迭代点上的函数梯度相互垂直,即相邻两个搜索方向互相垂直 ,形成“之”字形的直齿锯齿现象。




(六)最速下降法
由于锯齿现象,当迭代点接近极小点时,搜索的步长变得越来越小,因而收敛速度减慢,这种情况似乎与“最速下降”的名称相矛盾,这主要是因为梯度是函数的局部性质 (从局部上看,在一点附近函数的下降是快的),但从整体上看则走了许多弯路,函数的下降并不算快。不过最速下降法最初的几步往往可以下降的较快

2. 抛物型多元二次函数优化问题的步长选取

对于抛物型多元二次函数:
g ( x ⃗ ) = 1 2 x ⃗ T A x ⃗ − b ⃗ T x ⃗ + c ( A ∈ S P D ; c ∈ R ) g(\vec{x})=\frac{1}{2}\vec{x}^T\bold{A}\vec{x}-\vec{b}^T\vec{x}+c(\bold A\in SPD;c\in\mathbb{R}) g(x
)=
21x
T
Ax
b
T
x
+
cASPD;cR

若采用最速下降法求解其最小值:

  • 搜索方向:
    − ▽ g = − A x ⃗ k + b ⃗ = r ⃗ k -\bigtriangledown g=-\bold{A}\vec{x}_k+\vec{b}=\vec{r}_k g=Ax
    k
    +
    b
    =
    r
    k

    其中, r ⃗ k \vec{r}_k r
    k
    为迭代法求解线性方程组 A x ⃗ = b ⃗ \bold A \vec{x}=\vec{b} Ax
    =
    b
    k k k 步的残差。

  • 搜索路径:
    x ⃗ k + 1 = x ⃗ k + α k r ⃗ k   r ⃗ k + 1   T ⋅ r ⃗ k = 0 \vec{x}_{k+1}=\vec{x}_k+\alpha_{k}\vec{r}_k\\\ \\ \vec{r}_{k+1}^{\ T}\cdot\vec{r}_k=0 x
    k+1
    =
    x
    k
    +
    αkr
    k
     r
    k+1 T
    r
    k
    =
    0

对于这种情况,在求解最佳步长时,可以不用在搜索方向上进行一维搜索的数值计算,可以通过理论的方式直接推导出 α k \alpha_{k} αk 的计算表达式:
α k = r ⃗ k   T ⋅ r ⃗ k r ⃗ k   T ⋅ A ⋅ r ⃗ k \alpha_{k}=\dfrac{\vec{r}_k^{\ T}\cdot\vec{r}_k}{\vec{r}_k^{\ T}\cdot\bold{A}\cdot\vec{r}_k} αk=r
k T
Ar
k
r
k T
r
k

综上所述,上述多元二次函数的优化问题的求解格式为:

  1. r ⃗ k = b ⃗ − A ⋅ x ⃗ k \vec{r}_k=\vec{b}-\bold{A}\cdot\vec{x}_k r
    k
    =
    b
    Ax
    k
  2. x ⃗ k + 1 = x ⃗ k + r ⃗ k   T ⋅ r ⃗ k r ⃗ k   T ⋅ A ⋅ r ⃗ k r ⃗ k \vec{x}_{k+1}=\vec{x}_k+\dfrac{\vec{r}_k^{\ T}\cdot\vec{r}_k}{\vec{r}_k^{\ T}\cdot\bold{A}\cdot\vec{r}_k}\vec{r}_k x
    k+1
    =
    x
    k
    +
    r
    k T
    Ar
    k
    r
    k T
    r
    k
    r
    k

其中, k = 0 , 1 , 2 , 3 … k=0,1,2,3\dots k=0,1,2,3

3. 抛物型多元二次函数等值线/面的几何分析

  • 平移变换 x ⃗ = y ⃗ + x ⃗ 0 \vec{x}=\vec{y}+\vec{x}_0\quad x
    =
    y
    +
    x
    0
    (其中, x ⃗ 0 \vec{x}_0 x
    0
    为待定的常向量)
    1 2 x ⃗ T A x ⃗ − b ⃗   T x ⃗ + c = 1 2 ( y ⃗ + x ⃗ 0 ) T A ( y ⃗ + x ⃗ 0 ) − b ⃗   T ( y ⃗ + x ⃗ 0 ) + c = 1 2 y ⃗   T A y ⃗ + y ⃗   T ( A x ⃗ 0 − b ⃗ ) + 1 2 x ⃗ 0   T A x ⃗ 0 − b ⃗   T x ⃗ 0 + c   ( 令  x ⃗ 0 = A − 1 b ⃗ ) = 1 2 y ⃗   T A y ⃗ − 1 2 b ⃗   T A − 1 b ⃗ + c = β \begin{aligned} &\quad\dfrac{1}{2}\vec{x}^T\bold A\vec{x}-\vec{b}^{\ T}\vec{x}+c\\\\ &=\dfrac{1}{2}(\vec{y}+\vec{x}_0)^T\bold A(\vec{y}+\vec{x}_0)-\vec{b}^{\ T}(\vec{y}+\vec{x}_0)+c\\\\ &=\dfrac{1}{2}\vec{y}^{\ T}\bold A\vec{y}+\vec{y}^{\ T}(\bold A \vec{x}_0-\vec{b})+\dfrac{1}{2}\vec{x}_0^{\ T}\bold A\vec{x}_0-\vec{b}^{\ T}\vec{x}_0+c\ (令\ \vec{x}_0=\bold A^{-1}\vec{b})\\\\ &=\dfrac{1}{2}\vec{y}^{\ T}\bold A\vec{y}-\dfrac{1}{2}\vec{b}^{\ T}\bold A^{-1}\vec{b}+c=\beta\\\\ \end{aligned} 21x
    T
    Ax
    b
     T
    x
    +c
    =21(y
    +x
    0
    )TA(y
    +x
    0
    )b
     T
    (y
    +x
    0
    )+c
    =21y
     T
    Ay
    +y
     T
    (Ax
    0
    b
    )+21x
    0 T
    Ax
    0
    b
     T
    x
    0
    +c ( x
    0
    =A1b
    )
    =21y
     T
    Ay
    21b
     T
    A1b
    +c=β

  • 旋转操作 y ⃗ = Q z ⃗ , Q T A Q = D \vec{y}=\bold{Q}\vec{z},\bold{Q^TAQ=D} y
    =
    Qz
    QTAQ=D
    (正交合同),其中, A \bold A A的特征对为 u ⃗ i − λ i A \vec{u}_i-\lambda^A_i u
    i
    λiA

    Q = [ u ⃗ 1 u ⃗ 2 … u ⃗ n ]   D = [ λ 1 A λ 2 A ⋱ λ n A ] \begin{aligned} &\bold Q=\begin{bmatrix}\vec{u}_1&\vec{u}_2&\dots&\vec{u}_n\end{bmatrix}\\\ \\ &\bold D=\begin{bmatrix}\lambda^A_1\\\\&&\lambda^A_2\\\\&&&\ddots\\\\&&&&\lambda^A_n \end{bmatrix} \end{aligned}  Q=[u
    1
    u
    2
    u
    n
    ]
    D=
    λ1Aλ2AλnA

    则有:
    1 2 x ⃗ T A x ⃗ − b ⃗   T x ⃗ + c = 1 2 y ⃗   T A y ⃗ − 1 2 b ⃗   T A − 1 b ⃗ + c = 1 2 z ⃗   T D z ⃗ − 1 2 b ⃗   T A − 1 b ⃗ + c = β \begin{aligned} &\quad\dfrac{1}{2}\vec{x}^T\bold A\vec{x}-\vec{b}^{\ T}\vec{x}+c\\\\ &=\dfrac{1}{2}\vec{y}^{\ T}\bold A\vec{y}-\dfrac{1}{2}\vec{b}^{\ T}\bold A^{-1}\vec{b}+c\\\\ &=\dfrac{1}{2}\vec{z}^{\ T}\bold D\vec{z}-\dfrac{1}{2}\vec{b}^{\ T}\bold A^{-1}\vec{b}+c=\beta\\\\ \end{aligned} 21x
    T
    Ax
    b
     T
    x
    +c
    =21y
     T
    Ay
    21b
     T
    A1b
    +c
    =21z
     T
    Dz
    21b
     T
    A1b
    +c=β


    z ⃗   T D z ⃗ = β − 2 c + b ⃗   T A − 1 b ⃗ ≜ α {   > 0   ( A 为正定矩阵 )   < 0   ( A 为负定矩阵 ) \vec{z}^{\ T}\bold D\vec{z}=\beta-2c+\vec{b}^{\ T}\bold A^{-1}\vec{b}\triangleq\alpha \begin{cases} \ >0\ (A为正定矩阵)\\\\ \ <0\ (A为负定矩阵) \end{cases} z
     T
    Dz
    =
    β2c+b
     T
    A1b
    α

     >0 (A为正定矩阵) <0 (A为负定矩阵)


    z ⃗   T D z ⃗ = α ⟹ z 1 2 α λ 1 A + z 2 2 α λ 2 A + ⋯ + z n 2 α λ n A = 1 \vec{z}^{\ T}\bold D\vec{z}=\alpha\Longrightarrow \dfrac{z_1^2}{\dfrac{\alpha}{\lambda^A_1}}+\dfrac{z_2^2}{\dfrac{\alpha}{\lambda^A_2}}+\dots+\dfrac{z_n^2}{\dfrac{\alpha}{\lambda^A_n}}=1 z
     T
    Dz
    =
    αλ1Aαz12+λ2Aαz22++λnAαzn2=1

    其中,
    z ⃗ = Q T ( x ⃗ − A − 1 b ⃗ ) \vec{z}=\bold{Q}^T(\vec{x}-\bold A^{-1}\vec{b}) z
    =
    QT(x
    A1b
    )

    通过标准型可以较容易地知道“椭圆“ 的相关信息:









  • k k k 轴所在直线的一般方程(面的交线)为:
    z i = 0   ( i = 1 , 2 , … , n 且 i ≠ k ) z_i=0\ (i=1,2,\dots,n且i\ne k) zi=0 (i=1,2,,ni=k)
    k k k 轴对应的单位方向与 z i = 0   ( i = 1 , 2 , … , n 且 i ≠ k ) z_i=0\ (i=1,2,\dots,n且i\ne k) zi=0 (i=1,2,,ni=k) 定义的 n − 1 n-1 n1 个平面的法线 u ⃗ i   ( i = 1 , 2 , … , n 且 i ≠ k ) \vec{u}_i\ (i=1,2,\dots,n且i\ne k) u
    i
     (i=
    1,2,,ni=k)
    正交,这说明 k k k轴所在方向即为特征向量 u ⃗ k \vec{u}_k u
    k
    所在的方向
    。并且轴线方向不因等值面 β \beta β 的不同而改变,即所有椭圆等值面的轴具有相同的方向且同心,这意味着倘若初始点任意选择,并不再选择负梯度方向作为搜索方向,而选择 A \bold A A 的特征方向作为搜索方向(即平行于各轴进行搜索),那么至多 n 步便能寻得最小值
    (六)最速下降法


  • 各个半轴长为:
    a i = α λ i A a_i=\sqrt{\dfrac{\alpha}{\lambda^A_i}} ai=λiAα

    即,某一特定的等值线,特征值越大的方向,椭圆越扁平

另外,梯度沿着等值线、等值面的外法线方向,那么轴线上的各点梯度便指向 ”椭圆“ 中心,说明:若初始点恰巧选择在 ”椭圆“ 的轴线,最速下降法仅一步便可以求得上述优化问题的解

4. 基于最速下降法的 “变步长Richardson 迭代法” 的收敛性分析

那么,当对称正定矩阵 A \bold A A 的最大特征值越接近于最小特征值时,收敛速度越快,换而言之,等值线的椭圆长轴短轴长度越接近时收敛速度越快,最佳的情况是等值线为同心圆,此时仅需一步便可得到精确解。而若椭圆偏心率越大,越扁平,即最大特征值与最小特征值相差越大,收敛速度便会越小。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130616.html

(0)
上一篇 2025-08-14 13:15
下一篇 2025-08-14 13:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信