深度学习笔记之优化算法(一)铺垫:梯度下降法VS最速下降法

深度学习笔记之优化算法——铺垫:梯度下降法VS最速下降法

  • 引言
    • 回顾:
      • 条件数
      • 范数
    • 相关描述
      • 关于梯度下降法
      • 最速下降法
      • 单位范数的描述
    • 梯度下降法VS最速下降法
      • 梯度下降法等价于最速下降法的情况
      • 欧式范数约束产生的更新方向可能不是最优方向
      • 梯度下降法与最速下降法不等价的情况
    • 范数的选取与收敛速度的关系

引言

从本节开始,将介绍深度学习中常见的优化算法。在介绍随机梯度下降之前,将针对最速下降法与梯度下降法之间差异性做一些说明。

关于条件数的介绍优点喧宾夺主~本节主要目的不是描述梯度下降法的缺陷,而是描述最速下降法梯度下降法之间的差异性

回顾:

条件数

在梯度下降法在强凸函数的收敛性证明中介绍了梯度下降法 m m m-强凸函数上的收敛性定理

条件

  • 目标函数 f ( ⋅ ) f(\cdot) f()向下有界,在其定义域内可微;并且 f ( ⋅ ) f(\cdot) f() m m m-强凸函数
  • 关于 f ( ⋅ ) f(\cdot) f()梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) f()满足 L \mathcal L L-利普希兹连续
  • 梯度下降法在迭代过程中,其步长 α k \alpha_k αk存在明确的约束范围 α k ∈ ( 0 , 2 L + m ) \begin{aligned}\alpha_k \in \left(0, \frac{2}{\mathcal L + m}\right)\end{aligned} αk(0,L+m2)

结论
数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {xk}k=0 Q \mathcal Q Q-线性收敛的收敛速度收敛于最优数值解 x ∗ x^* x

在证明过程中,实现了线性收敛的定义式的证明:
∥ x k + 1 − x ∗ ∥ ∥ x k − x ∗ ∥ = ∥ x k − α ⋅ ∇ f ( x k ) − x ∗ ∥ ∥ x k − x ∗ ∥ ≤ 1 − α ⋅ 2 L m L + m ∈ ( 0 , 1 ) \begin{aligned} \frac{\|x_{k+1} - x^*\|}{\|x_k - x^*\|} & = \frac{\|x_k - \alpha \cdot \nabla f(x_k) - x^*\|}{\|x_k - x^*\|} \\ & \leq \sqrt{1 - \alpha \cdot \frac{2 \mathcal L m}{\mathcal L + m}} \in (0,1) \end{aligned} xkxxk+1x=xkxxkαf(xk)x1αL+m2Lm (0,1)
如果目标函数 f ( ⋅ ) f(\cdot) f()满足二阶连续可微的条件下,并且其梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) f()满足 L \mathcal L L-利普希兹连续,那么 f ( ⋅ ) f(\cdot) f()对应的 Hessian Matrix ⇒ ∇ 2 f ( ⋅ ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(\cdot) Hessian Matrix2f()必然存在并且有:

  • 下面的推导过程详见梯度下降法在强凸函数的收敛性分析。
  • 其中 I \mathcal I I表示单位矩阵
    m ⋅ I ≼ ∇ 2 f ( ⋅ ) ≼ L ⋅ I m \cdot \mathcal I \preccurlyeq \nabla^2 f(\cdot) \preccurlyeq \mathcal L \cdot \mathcal I mI2f()LI

正定矩阵 ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) 2f()进行分解,可得到 n n n正特征值 { λ i } i = 1 n \{\lambda_i\}_{i=1}^n {λi}i=1n
其中 Q \mathcal Q Q是正交矩阵。
∇ 2 f ( ⋅ ) = Q Λ Q − 1 = Q ( λ 1 λ 2 ⋱ λ n ) Q − 1 \nabla^2 f(\cdot) = \mathcal Q \Lambda \mathcal Q^{-1} = \mathcal Q \begin{pmatrix}\lambda_1 & \quad & \quad & \quad \\ \quad & \lambda_2 & \quad & \quad \\ \quad & \quad & \ddots & \quad \\ \quad & \quad & \quad & \lambda_n \end{pmatrix} \mathcal Q^{-1} 2f()=QΛQ1=Q λ1λ2λn Q1
这些特征值必然满足:
0 < m ≤ λ m i n ≤ λ m a x ≤ L { λ m i n = min ⁡ { λ i } i = 1 n λ m a x = max ⁡ { λ j } j = 1 n 0 < m \leq \lambda_{min} \leq \lambda_{max} \leq \mathcal L \quad \begin{cases} \lambda_{min} = \min \{\lambda_i\}_{i=1}^n \\ \lambda_{max} = \max \{\lambda_j\}_{j=1}^n \end{cases} 0<mλminλmaxL{λmin=min{λi}i=1nλmax=max{λj}j=1n
在上述条件下,取一种特殊情况
关于 α = 1 L = 2 L + L ∈ ( 0 , 2 L + m ) \begin{aligned}\alpha = \frac{1}{\mathcal L} = \frac{2}{\mathcal L + \mathcal L} \in \left(0,\frac{2}{\mathcal L + m} \right)\end{aligned} α=L1=L+L2(0,L+m2)恒成立,目的是将条件数收敛速度关联起来
λ m a x = L ; λ m i n = m ; α = 1 L \lambda_{max} = \mathcal L;\lambda_{min} = m;\alpha = \frac{1}{\mathcal L} λmax=L;λmin=m;α=L1
将上述情况代入原式,那么线性收敛定义式简化为:
∥ x k − α ⋅ ∇ f ( x k ) − x ∗ ∥ ∥ x k − x ∗ ∥ ≤ 1 − 1 L ⋅ 2 L m L + m = λ m a x − λ m i n λ m a x + λ m i n = 1 − 1 K [ ∇ 2 f ( ⋅ ) ] 1 + 1 K [ ∇ 2 f ( ⋅ ) ] \begin{aligned} \frac{\|x_k - \alpha \cdot \nabla f(x_k) - x^*\|}{\|x_k - x^*\|} & \leq \sqrt{1 - \frac{1}{\mathcal L} \cdot \frac{2 \mathcal L m}{\mathcal L + m}} \\ & = \sqrt{\frac{\lambda_{max} - \lambda_{min}}{\lambda_{max} + \lambda_{min}}}\\ & = \sqrt{\frac{1 - \frac{1}{\mathcal K[\nabla^2 f(\cdot)]}}{1 + \frac{1}{\mathcal K[\nabla^2 f(\cdot)]}}} \end{aligned} xkxxkαf(xk)x1L1L+m2Lm =λmax+λminλmaxλmin =1+K[2f()]11K[2f()]1
其中 K [ ∇ 2 f ( ⋅ ) ] = λ m a x λ m i n \begin{aligned}\mathcal K[\nabla^2 f(\cdot)] = \frac{\lambda_{max}}{\lambda_{min}}\end{aligned} K[2f()]=λminλmax被称作 Hessian Matrix ⇒ ∇ 2 f ( ⋅ ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(\cdot) Hessian Matrix2f()条件数 ( Condition Number ) (\text{Condition Number}) (Condition Number),可以发现:

  • 条件数可看作是目标函数 f ( ⋅ ) f(\cdot) f()自身的性质,因为它仅与 ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) 2f()最大、最小特征值相关。
  • 条件数与收敛速度之间的关系: K [ ∇ 2 f ( ⋅ ) ] \mathcal K[\nabla^2 f(\cdot)] K[2f()]趋近于 ∞ \infty 时,有:
    lim ⁡ K [ ∇ 2 f ( ⋅ ) ] ⇒ ∞ ∥ x k − α ⋅ ∇ f ( x k ) − x ∗ ∥ ∥ x k − x ∗ ∥ ≤ lim ⁡ K [ ∇ 2 f ( ⋅ ) ] ⇒ ∞ 1 − 1 K [ ∇ 2 f ( ⋅ ) ] 1 + 1 K [ ∇ 2 f ( ⋅ ) ] = 1 − 0 1 + 0 = 1 \mathop{\lim}\limits_{\mathcal K[\nabla^2 f(\cdot)] \Rightarrow \infty} \frac{\|x_k - \alpha \cdot \nabla f(x_k) - x^*\|}{\|x_k - x^*\|} \leq \mathop{\lim}\limits_{\mathcal K[\nabla^2 f(\cdot)] \Rightarrow \infty} \sqrt{\frac{1 - \frac{1}{\mathcal K[\nabla^2 f(\cdot)]}}{1 + \frac{1}{\mathcal K[\nabla^2 f(\cdot)]}}} = \sqrt{\frac{1 - 0}{1 + 0}} = 1 K[2f()]limxkxxkαf(xk)xK[2f()]lim1+K[2f()]11K[2f()]1 =1+010 =1
    取等时,收敛速度将从线性收敛退化至次线性收敛

也就是说:

  • 使用梯度下降法时,在特定条件的情况下,其收敛速度与目标函数 f ( ⋅ ) f(\cdot) f()自身性质——条件数存在关联关系
  • 条件数越大,收敛速度越慢;该现象被称作病态问题

范数

范数通常被用来度量向量空间中,向量的长度或大小。我们通常使用特征空间中的点与特征空间原点之间的明可夫斯基距离来描述向量的范数
D m k ( x , O ) = [ ∑ k = 1 n ( x k ) m ] 1 m \mathcal D_{mk}(x,\mathcal O) = \left[\sum_{k=1}^{n}(x_k )^m \right]^{\frac{1}{m}} Dmk(x,O)=[k=1n(xk)m]m1
其中 m m m表示阶数,上式也称作 m m m-阶范数。例如 m = 2 m=2 m=2对应的二阶范数(也称欧式范数):
∥ x ∥ 2 = [ ∑ k = 1 n ( x k ) 2 ] 1 2 = x 1 2 + x 2 2 + ⋯ + x n 2 \begin{aligned} \|x\|_2 & = \left[\sum_{k=1}^n (x_k)^2\right]^{\frac{1}{2}} \\ & = \sqrt{x_1^2 + x_2^2 + \cdots + x_n^2} \end{aligned} x2=[k=1n(xk)2]21=x12+x22++xn2

范数不仅描述了向量的大小;反过来,如果固定范数的阶数和大小,它可以描述满足阶数与大小条件的集合。以二维特征空间为例,在范数大小为 1 1 1的前提下,不同阶数对应的集合形状表示如下:
基于相同大小不同阶数描述集合的表示效果
很明显,当阶数 p < 1 p < 1 p<1是,其对应集合是一个非凸集合;相反,对应集合是一个凸集合

相关描述

在笔记线搜索方法——方向角度的结尾提到:在当前迭代步骤中,负梯度方向作为下降方向,对应目标函数的下降效果最明显,因而被称作最速下降方向,从而称最速下降法为梯度下降法。但如果详细追究,它们之间依然存在一些区别。

关于梯度下降法

梯度下降法直观地认为:负梯度方向 − ∇ f ( ⋅ ) -\nabla f(\cdot) f()是目标函数 f ( ⋅ ) f(\cdot) f()的值下降最快的方向。对应迭代过程表示如下:
x k + 1 = x k + η ⋅ Δ x k Δ x k = − ∇ f ( x k ) x_{k+1} = x_k + \eta \cdot \Delta x_k \quad \Delta x_k = - \nabla f(x_k) xk+1=xk+ηΔxkΔxk=f(xk)

因而每次迭代过程中将决策变量 x k x_k xk沿着负梯度方向移动,从而使目标函数值逐渐收敛。思路虽然简单,但由于下降方向 ⇒ − ∇ f ( ⋅ ) \Rightarrow - \nabla f(\cdot) f()被确定,导致梯度下降法的收敛速度非常大的依赖于目标函数 f ( ⋅ ) f(\cdot) f()自身 Hessian Matrix \text{Hessian Matrix} Hessian Matrix的条件数
解释: Hessian Matrix \text{Hessian Matrix} Hessian Matrix并没有直接参与梯度下降法的迭代过程,只是下降方向被确定为 − ∇ f ( ⋅ ) - \nabla f(\cdot) f()时,作为 f ( ⋅ ) f(\cdot) f()自身性质的条件数就已经对梯度下降法的收敛速度进行约束了。

最速下降法

根据上面链接笔记中的描述:负梯度方向只是下降方向的一种,而下降方向 P k \mathcal P_k Pk的判定逻辑是:满足目标函数 f ( x k + 1 ) = f ( x k + α k P k ) f(x_{k+1}) = f(x_k + \alpha_k \mathcal P_k) f(xk+1)=f(xk+αkPk)的一阶泰勒展开式 f ( x k ) f(x_k) f(xk)之间存在严格的单调性
其中 O ( ∥ α k P k ∥ ) \mathcal O(\|\alpha_k \mathcal P_k\|) O(αkPk)表示关于 α k P k \alpha_k\mathcal P_k αkPk的二阶无穷小。
f ( x k + 1 ) = f ( x k + α k P k ) = f ( x k ) + 1 1 ! α k ⋅ ( P k ) T ∇ f ( x k ) + O ( ∥ α k P k ∥ ) ≈ f ( x k ) + α k ⋅ ( P k ) T ∇ f ( x k ) Monotonicity:  f ( x k + 1 ) − f ( x k ) ≈ α k ⋅ ( P k ) T ∇ f ( x k ) < 0 ⇒ ( P k ) T ∇ f ( x k ) < 0 ( α k > 0 ) \begin{aligned} f(x_{k+1}) & = f(x_k + \alpha_k \mathcal P_k) \\ & = f(x_k) + \frac{1}{1!} \alpha_k \cdot (\mathcal P_k)^T\nabla f(x_k) + \mathcal O(\|\alpha_k \mathcal P_k\|) \\ & \approx f(x_k) + \alpha_k \cdot (\mathcal P_k)^T \nabla f(x_k) \\ \text{Monotonicity: } \quad \\ f(x_{k+1}) - f(x_k) &\approx \alpha_k \cdot (\mathcal P_k)^T \nabla f(x_k) < 0 \\ & \Rightarrow (\mathcal P_k)^T \nabla f(x_k)< 0 \quad (\alpha_k >0) \end{aligned} f(xk+1)Monotonicity: f(xk+1)f(xk)=f(xk+αkPk)=f(xk)+1!1αk(Pk)Tf(xk)+O(αkPk)f(xk)+αk(Pk)Tf(xk)αk(Pk)Tf(xk)<0(Pk)Tf(xk)<0(αk>0)
方向导数的角度考虑,将 k k k次迭代过程的更新方向记作变量 P \mathcal P P,从而将最速下降方向 P k \mathcal P_k Pk描述为:选择合适的更新方向 P \mathcal P P,使得 f ( x k + 1 ) f(x_{k+1}) f(xk+1)或者 f ( x k + 1 ) − f ( x k ) f(x_{k+1}) - f(x_k) f(xk+1)f(xk)关于 P \mathcal P P方向的方向导数最小

  • 由于 f ( x k ) f(x_k) f(xk)是已知项,因而其关于 P \mathcal P P的方向导数为 0 0 0。但 f ( x k + 1 ) f(x_{k+1}) f(xk+1) f ( x k + 1 ) − f ( x k ) f(x_{k+1}) - f(x_k) f(xk+1)f(xk)描述的意义不相同,这里使用 f ( x k + 1 ) − f ( x k ) f(x_{k+1}) - f(x_k) f(xk+1)f(xk)进行描述。
  • 关于该方向导数的描述,见《深度学习(花书)》P55.
    { f ( x k + 1 ) − f ( x k ) = ϕ k ( P ) = α k ⋅ P T ∇ f ( x k ) P k = arg ⁡ min ⁡ P ∂ ϕ k ( P ) ∂ α k = arg ⁡ min ⁡ P P T ∇ f ( x k ) \begin{cases} f(x_{k+1}) - f(x_k) = \phi_k(\mathcal P) = \alpha_k \cdot \mathcal P^T \nabla f(x_k) \\ \quad \\ \mathcal P_k = \begin{aligned} \mathop{\arg\min}\limits_{\mathcal P} \frac{\partial \phi_k(\mathcal P)}{\partial \alpha_k} = \mathop{\arg\min}\limits_{\mathcal P} \mathcal P^T \nabla f(x_k) \end{aligned} \end{cases} f(xk+1)f(xk)=ϕk(P)=αkPTf(xk)Pk=Pargminαkϕk(P)=PargminPTf(xk)

单位范数的描述

如果对上述最速下降方向进行标准化,即标准化最速下降方向 ( Normalized Steepest Descent ) (\text{Normalized Steepest Descent}) (Normalized Steepest Descent)在单位范数 ( Unit Norm ) (\text{Unit Norm}) (Unit Norm)步长内能够使目标函数下降最多的方向。记作:
需要注意的是,这里的单位范数步长描述的并不是 α k \alpha_k αk(因为它是标量),而是对 P \mathcal P P的约束。由于这里仅观察 P \mathcal P P的变化情况,从而令 α k = 1 \alpha_k=1 αk=1
P n s d = arg ⁡ min ⁡ P { [ ∇ f ( x k ) ] T P ∣ ∥ P ∥ ≤ 1 } \mathcal P_{nsd} = \mathop{\arg\min}\limits_{\mathcal P} \{[\nabla f(x_k)]^T \mathcal P \mid \|\mathcal P\| \leq 1\} Pnsd=Pargmin{[f(xk)]TPP1}
对应非标准化的最速下降方向 P s d \mathcal P_{sd} Psd可表示为:
其中 ∥ ⋅ ∥ ∗ \| \cdot \|_* 表示对偶范数;其对应展开式中 sup ⁡ \sup sup表示上确界。
P s d = ∥ ∇ f ( x k ) ∥ ∗ P n s d = sup ⁡ { [ ∇ f ( x k ) ] T P n s d ∣ ∥ P n s d ∥ ≤ 1 } \begin{aligned} \mathcal P_{sd} & = \|\nabla f(x_k)\|_* \mathcal P_{nsd} \\ & = \sup \left\{ [\nabla f(x_k)]^T \mathcal P_{nsd} \mid \|\mathcal P_{nsd} \|\leq 1\right\} \end{aligned} Psd=∥∇f(xk)Pnsd=sup{[f(xk)]TPnsdPnsd1}

可以看出:最速下降方向受到单位范数步长的限制。重点在于:不同类型的单位范数步长,其对应的限制范围也存在差异。例如 p = 1 , 2 , 4 p=1,2,4 p=1,2,4时对应小于单位范数的描述范围对比如下:
其中橙色线描述的单位圆也被称作欧式范数
不同范数类型对应的单位范数效果
再如:矩阵 2 2 2-范数 ∥ z ∥ Q \|z\|_{\mathcal Q} zQ:对应小于单位范数描述范围表示如下:
关于矩阵2范数 ∥ z ∥ Q = ( z T Q z ) 1 / 2 \|z\|_{\mathcal Q} = (z^T \mathcal Qz)^{1/2} zQ=(zTQz)1/2的描述范围与 Q \mathcal Q Q的性质相关。下图中的橙色线表示对角矩阵 Q = ( 1 0 0 2 ) \mathcal Q = \begin{pmatrix}1 \quad 0 \\ 0\quad 2\end{pmatrix} Q=(1002)的情况;蓝色线则表示正定矩阵 Q = ( 1 1 1 2 ) \mathcal Q = \begin{pmatrix} 1 \quad 1 \\ 1 \quad 2 \end{pmatrix} Q=(1112)的情况。
矩阵2范数示例

梯度下降法VS最速下降法

梯度下降法等价于最速下降法的情况

如果上述关于 P n s d = arg ⁡ min ⁡ V { [ ∇ f ( x k ) ] T P ∣ ∥ P ∥ ≤ 1 } \mathcal P_{nsd} = \mathop{\arg\min}\limits_{\mathcal V} \{[\nabla f(x_k)]^T \mathcal P \mid \|\mathcal P\| \leq 1\} Pnsd=Vargmin{[f(xk)]TPP1}的描述中,单位范数步长 ∣ ∣ P ∣ ∣ ||\mathcal P|| ∣∣P∣∣欧式范数,那么此时的最速下降法与梯度下降法等价。因为在欧式范数 ∥ P ∥ ≤ 1 \|\mathcal P\|\leq 1 P1的描述范围内,某位置 x k x_k xk标准最速下降方向 P n s d \mathcal P_{nsd} Pnsd与该位置对应的负梯度方向 − ∇ f ( x k ) -\nabla f(x_k) f(xk)相同。举一个例子:

  • 假设目标函数 f ( x ) = x T Q x ; x ∈ R 2 f(x) = x^T \mathcal Q x;x \in \mathbb R^2 f(x)=xTQx;xR2标准型,并且 Q = I \mathcal Q = \mathcal I Q=I(单位矩阵)。该函数的等值线以及欧式范数的描述范围表示如下:
    此时,无论是欧式范数描述范围还是等值线,都是标准圆的格式,因而使得 [ ∇ f ( x k ) ] T P [\nabla f(x_k)]^T \mathcal P [f(xk)]TP达到最小的方向就是负梯度方向
    最速下降与梯度下降等价示例

  • 其中红色虚线表示 f ( x ) f(x) f(x)等值线蓝色圆以及内部的灰色阴影表示欧式范数描述范围。在迭代过程中某时刻黄色点 x k x_k xk,此时该点处的梯度方向 ∇ f ( x k ) \nabla f(x_k) f(xk)负梯度方向 − ∇ f ( x k ) -\nabla f(x_k) f(xk)见上图。

  • 最速下降法的角度观察,为了让 x k x_k xk更快地达到最优值点(特征空间原点处所在位置):

    • 通过计算 [ ∇ f ( x k ) ] T P = ∥ ∇ f ( x k ) ∥ ⋅ ∥ P ∥ ⋅ cos ⁡ θ [\nabla f(x_k)]^T \mathcal P = \|\nabla f(x_k)\| \cdot \|\mathcal P\| \cdot \cos \theta [f(xk)]TP=∥∇f(xk)Pcosθ,在向量大小 ∥ P ∥ \|\mathcal P\| P夹角 θ \theta θ两者的共同作用下,找到最优更新方向(灰色阴影内的绿色箭头)。
      \quad

    至此,找到一个红色点,坐标空间原点指向红色点的向量就是 P n s d \mathcal P_{nsd} Pnsd。从图像中可以看出:负梯度方向 − ∇ f ( x k ) -\nabla f(x_k) f(xk) P n s d \mathcal P_{nsd} Pnsd所指方向完全相同
    由于欧式范数的原因, P n s d \mathcal P_{nsd} Pnsd − ∇ f ( x k ) -\nabla f(x_k) f(xk)大小、方向均完全相同。

很明显,此时的这种目标函数格式,可以满足:全局范围内,梯度下降方向等价于最速下降方向

欧式范数约束产生的更新方向可能不是最优方向

那么在其他目标函数中,欧式范数会产生什么样的现象 ? ? ?
假设目标函数 f ( x ) = x T Q x ; x ∈ R 2 f(x) = x^T \mathcal Q x;x\in \mathbb R^2 f(x)=xTQx;xR2,其中 Q \mathcal Q Q正定矩阵且 Q = ( 1 1 1 2 ) \mathcal Q = \begin{pmatrix} 1 \quad 1 \\ 1 \quad 2 \end{pmatrix} Q=(1112)。假设这里依然使用欧式范数,对应等值线与欧式范数描述范围表示如下:
区别于上图,此时的等值线是椭圆,并且对应正交基与坐标轴不平行。
更新方向不是最优方向示例
与上面的配置相同,此时的最速下降法梯度下降法依然是等价的绿色箭头表示负梯度方向 − ∇ f ( x k ) -\nabla f(x_k) f(xk) P n s d \mathcal P_{nsd} Pnsd。这里发现一个新现象:更新方向 − ∇ f ( x ) -\nabla f(x) f(x) P n s d \mathcal P_{nsd} Pnsd并没有指向最优方向,也就是说:这里的更新方向并不是最优方向;真正指向最优方向的是红色箭头

梯度下降法与最速下降法不等价的情况

换一种角度:假设这里没有使用欧式范数,而是使用 L 1 \mathcal L_1 L1范数,也可以得到一些其他效果:
最速下降法与梯度下降法不等价示例2
其中绿色箭头描述的是梯度下降法产生的更新方向;红色箭头则描述的是最速下降法的更新方向。很明显:红色箭头描述的位置相比于绿色箭头更接近最优解。此时两者不等价。

范数的选取与收敛速度的关系

范数的选取对于收敛速度产生较大的影响。当目标函数 f ( ⋅ ) f(\cdot) f()二阶连续可微的情况下,使用矩阵 2 2 2-范数,它的收敛速度会显著提高。在关于目标函数 f ( x ) f(x) f(x)优化问题的迭代过程中,在 x k x_k xk点处如果使用其对应 Hessian Matrix ⇒ ∇ 2 f ( x k ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(x_k) Hessian Matrix2f(xk)定义的矩阵 2 2 2-范数,该位置对应的实际更新方向 P s d \mathcal P_{sd} Psd可表示为:
P s d = − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) \mathcal P_{sd} = - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k) Psd=[2f(xk)]1f(xk)

这就是经典牛顿法描述的更新方向。
这里不再展开,只是为了描述选取合适的关于更新方向的范数约束,可以提高迭代的收敛速度。

Reference \text{Reference} Reference
笔记 || 梯度法与最速下降法的本质区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/139258.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统:系统引导以及虚拟机

1.操作系统引导的过程 ①CPU从一个特定主存地址开始取指令&#xff0c;执行ROM中的引导程序&#xff08;先进行硬件自检&#xff0c;再开机)②将磁盘的第一块&#xff1a;主引导记录读入内存&#xff0c;执行磁盘引导程序&#xff0c;扫描分区表③从活动分区&#xff08;又称主…

ubuntu 里根文件系统的扩容,/dev/ubuntu-vg/ubuntu-lv 文件系统扩充到整个分区

笔者安装了ubuntu服务器版软件&#xff0c;由于系统安装的时候没有划分好磁盘分区&#xff0c;只采用了1000G固态硬盘的 200G来安装系统&#xff0c;安装完毕后&#xff0c;用df -h 命令查看如下&#xff1a; 根文件系统仅占用了 196G&#xff0c;而本身硬盘的尺寸为1000G&…

03【深度学习】YOLOV3-WIN11环境搭建(配置+训练)

一、深度学习&#xff1a;YOLOV3-WIN11环境搭建 本篇文字是【深度学习】YOLOV5-WIN11环境搭建&#xff08;配置训练)&#xff0c;首先介绍win11下 基于Anaconda、pytorch的YOLOV5深度学习环境搭建&#xff0c;环境配置顺序&#xff1a;显卡驱动 - CUDA - cudnn - Anaconda - py…

Linux实现HTTP服务器

在Linux系统中&#xff0c;我们可以利用HTTP服务器代理来实现网络请求的转发和加速&#xff0c;从而提高网站的访问速度和性能。本文将为您详细介绍如何搭建HTTP服务器代理&#xff0c;让您在网络世界中畅通无阻&#xff0c;更加快速高效地进行数据通信。 一、了解HTTP服务器代…

李宏毅机器学习第一课

机器学习就是让机器找一个函数f&#xff0c;这个函数f是通过计算机找出来的 如果参数少的话&#xff0c;我们可以使用暴搜&#xff0c;但是如果参数特别多的话&#xff0c;我们就要使用Gradient Descent Regression (输出的是一个scalar数值) Classification &#xff08;在…

4+机器学习+实验验证

今天给同学们分享一篇4机器学习实验验证的生信文章“Identification and Analysis of Neutrophil Extracellular Trap-Related Genes in Osteoarthritis by Bioinformatics and Experimental Verification”&#xff0c;这篇文章于2023年8月31日发表在 J Inflamm Res 期刊上&am…

上网行为监管软件(上网行为管理软件通常具有哪些功能)

在我们的日常生活中&#xff0c;互联网已经成为了我们获取信息、交流思想、进行工作和娱乐的重要平台。然而&#xff0c;随着互联网的普及和使用&#xff0c;网络安全问题也日益突出&#xff0c;尤其是个人隐私保护和网络行为的规范。在这个背景下&#xff0c;上网行为审计软件…

21 mysql ref 查询

前言 这里主要是 探究一下 explain $sql 中各个 type 诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断 这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录 以及 相关的差异 此系列文章建议从 mysql const 查询 开始看 测试表结构…

AOSP源码中Android.mk文件中的反斜杠符号(\)的作用和使用

简介 在AOSP&#xff08;Android Open Source Project&#xff09;源码中的Android.mk文件中&#xff0c;反斜杠符号&#xff08;\&#xff09;的主要作用是将一行代码拆分成多行&#xff0c;以提高可读性并帮助组织较长的代码块。这对于定义复杂的构建规则和变量时特别有用。…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal &#xff1a; queryWrapper where 条件不为空的时候&#xff0c;才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了&#xff0c; 因为DataPermission 注解进…

Mybatis 映射器与XML配置职责分离

之前我们介绍了使用XML配置方式完成对数据的增删改查操作&#xff0c;使用此方式在实际调用时需要使用【命名空间.标签编号】的方式执行&#xff0c;此方式在编写SQL语句时很方便&#xff0c;而在执行SQL语句环节就显得不太优雅&#xff1b;另外我们也介绍了使用映射器完成对数…

内网穿透,轻松实现PostgreSQL数据库公网远程连接!

文章目录 前言1. 安装postgreSQL2. 本地连接postgreSQL3. Windows 安装 cpolar4. 配置postgreSQL公网地址5. 公网postgreSQL访问6. 固定连接公网地址7. postgreSQL固定地址连接测试 前言 PostgreSQL是一个功能非常强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;,下…

TCP协议中常见的问题

文章目录 TCP协议中常见的问题谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f;谈谈TCP协议的3次握手过程&#xff1f;TCP协议为什么要3次握手&#xff1f;2次&#xff0c;4次不行吗&#xff1f;谈谈TCP协议的四次挥手过程&#xff1f;什么是流量控制&#xff1f;什么是…

软考软件设计师-存储管理-文件管理-计算机网络(中

文章目录 一、存储管理页面置换算法 (最佳OPT)存储页面-先进先出置换算法&#xff08;FIFO)最久未使用算法(最近最久未使用LRU&#xff09; 二、文件管理初识文件管理文件目录-绝对路径文件管理-文件的结构文件管理-索引的分配 空闲存储空间的管理(位示图法&#xff09;三、计算…

精品Python数字藏品购物商城爬虫-可视化大屏

《[含文档PPT源码等]精品基于Python实现的数字藏品爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技术&#xff1a;JavaScript、VUE.js&a…

视频编解码器H.264和H265有什么区别?

对于大型视频文件来说&#xff0c;视频编解码器至关重要&#xff0c;它可以将文件压缩为较小的尺寸&#xff0c;从而可以更轻松地存储和加快传输速度。而两种最常用的编解码器是H.264和H.265&#xff0c;那么它们两者之间有什么区别&#xff0c;哪一个更好呢&#xff1f; 1. 什…

【Linux网络编程】gdb调试技巧

这篇博客主要要记录一下自己在Linux操作系统Ubuntu下使用gbd调试程序的一些指令&#xff0c;以及使用过程中的一些心得。 使用方法 可以使用如下代码 gcc -g test.c -o test 或者 gcc test.c -o test ​ -g的选项最好添加&#xff0c;如果不添加&#xff0c;l指令无法被识别 …

zabbix学习3--zabbix6.x-proxy

文章目录 proxy proxy # 安装mysql 8.0# 获取源码包【https://www.zabbix.com/cn/download_sources】 mkdir -p /data/zabbix_proxy/{data,install,logs,php} mkdir -p /var/run/zabbix_proxy tar xf zabbix-6.4.3.tar.gz -C /data/zabbix_proxy/install/ cd /data/zabbix_pro…

iOS应用程序数据保护:如何保护iOS应用程序中的图片、资源和敏感数据

目录 转载&#xff1a;怎么保护苹果手机移动应用程序ipa中文件安全&#xff1f; 前言 1. 对敏感文件进行文件名称混淆 2. 更改文件的MD5值 3. 增加不可见水印处理 3. 对html&#xff0c;js&#xff0c;css等资源进行压缩 5. 删除可执行文件中的调试信息…

基于骨架的动作识别:SkeleTR: Towrads Skeleton-based Action Recognition in the Wild

论文作者&#xff1a;Haodong Duan,Mingze Xu,Bing Shuai,Davide Modolo,Zhuowen Tu,Joseph Tighe,Alessandro Bergamo 作者单位&#xff1a;The Chinese University of Hong Kong; AWS AI Labs. 论文链接&#xff1a;http://arxiv.org/abs/2309.11445v1 内容简介&#xff1…