梯度(Gradient)与步长(Step Size)
梯度与步长是优化算法(如梯度下降法)的核心概念。以下是它们的详细解释:
梯度(Gradient)
-
定义
梯度是一个向量,表示多元函数在某一点处各方向的偏导数。对于函数 $ f(\mathbf{x}) $,其梯度为:
∇ f ( x ) = [ ∂ f ∂ x 1 , ∂ f ∂ x 2 , … , ∂ f ∂ x n ] T \nabla f(\mathbf{x}) = \left[ \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right]^T ∇f(x)=[∂x1∂f,∂x2∂f,…,∂xn∂f]T -
几何意义
- 方向:梯度指向函数值上升最快的方向,其反方向即为函数值下降最快的方向。
- 大小:梯度的模长( ∥ ∇ f ∥ \|\nabla f\| ∥∇f∥)表示该方向的变化速率。
-
应用
在梯度下降法中,参数沿梯度反方向更新以最小化目标函数。例如,参数更新规则为:
w = w − α ∇ f ( w ) \mathbf{w} = \mathbf{w} - \alpha \nabla f(\mathbf{w}) w=w−α∇f(w)
其中 α \alpha α 为步长(学习率)。
步长(Step Size)
-
定义
步长(通常称为学习率)是一个标量值,记为 α \alpha α,用于控制参数更新的幅度。它决定了每次迭代中沿梯度方向移动的距离。 -
作用
- 过大:可能导致跳过最优解,甚至发散。
- 过小:收敛速度缓慢,训练时间增加。
-
动态调整
在高级优化方法(如AdaGrad
、Adam
)中,步长可根据梯度历史信息自适应调整,以平衡收敛速度与稳定性。 -
术语辨析
- 固定步长:预设的固定学习率(如 α = 0.01 \alpha = 0.01 α=0.01)。
- 线搜索步长:通过一维优化动态确定最优步长(如精确线搜索或
Armijo
条件)。
示例说明
假设目标函数为 $ J(\theta) $,梯度下降的更新公式为:
θ k + 1 = θ k − α ∇ J ( θ k ) \theta_{k+1} = \theta_k - \alpha \nabla J(\theta_k) θk+1=θk−α∇J(θk)
- 梯度 ∇ J ( θ k ) \nabla J(\theta_k) ∇J(θk) 提供了下降方向。
- 步长 α \alpha α 控制参数更新的幅度,直接影响收敛性。