【无约束优化】多维搜索——梯度方法

多维搜索中的梯度方法(Gradient Methods in Multidimensional Optimization)

在最优化理论中,梯度方法是一类利用目标函数的一阶导数信息(即梯度)来求解无约束优化问题 min⁡x∈Rnf(x)\min_{\mathbf{x} \in \mathbb{R}^n} f(\mathbf{x})minxRnf(x) 的重要迭代算法。其核心思想是:在每一步迭代中,沿着使函数值下降最快的方向——负梯度方向——进行搜索。


1. 核心思想:梯度与下降方向

  • 梯度(Gradient)
    对于可微多元函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:RnR,其在点 xk\mathbf{x}_kxk 处的梯度定义为:
    ∇f(xk)=(∂f∂x1,∂f∂x2,…,∂f∂xn)T \nabla f(\mathbf{x}_k) = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right)^T f(xk)=(x1f,x2f,,xnf)T
    梯度指向函数增长最快的方向。

  • 负梯度方向
    负梯度方向 −∇f(xk)-\nabla f(\mathbf{x}_k)f(xk) 是函数在该点下降最快的方向(基于一阶泰勒展开和柯西不等式推导得出)。

  • 基本迭代格式
    所有梯度类方法均遵循如下更新规则:
    xk+1=xk−αk∇f(xk) \mathbf{x}_{k+1} = \mathbf{x}_k - \alpha_k \nabla f(\mathbf{x}_k) xk+1=xkαkf(xk)
    其中:

    • xk\mathbf{x}_kxk:第 kkk 次迭代的当前点;
    • αk>0\alpha_k > 0αk>0:步长(step size),也称学习率(learning rate);
    • ∇f(xk)\nabla f(\mathbf{x}_k)f(xk):在 xk\mathbf{x}_kxk 处的梯度向量。

2. 梯度下降法(Gradient Descent, GD)

梯度下降法是最基础的梯度型优化算法。

基本原理

从初始点出发,沿负梯度方向逐步移动,期望函数值持续减小,最终收敛至局部极小点。

直观比喻:如同盲人下山,每一步都选择脚下最陡峭的下坡方向前进,直到感觉“地面平坦”为止。

算法步骤(标准形式)

  1. 给定初始点 x0\mathbf{x}_0x0,精度 ϵ>0\epsilon > 0ϵ>0,令 k=0k = 0k=0
  2. 计算梯度 ∇f(xk)\nabla f(\mathbf{x}_k)f(xk)
  3. ∥∇f(xk)∥<ϵ\|\nabla f(\mathbf{x}_k)\| < \epsilonf(xk)<ϵ,则停止,输出 xk\mathbf{x}_kxk 作为近似最优解。
  4. 设搜索方向 dk=−∇f(xk)\mathbf{d}_k = -\nabla f(\mathbf{x}_k)dk=f(xk)
  5. 通过线搜索确定步长 αk\alpha_kαk,使得 f(xk+αkdk)f(\mathbf{x}_k + \alpha_k \mathbf{d}_k)f(xk+αkdk) 显著下降(例如满足 Armijo 条件)。
  6. 更新:
    xk+1=xk+αkdk=xk−αk∇f(xk) \mathbf{x}_{k+1} = \mathbf{x}_k + \alpha_k \mathbf{d}_k = \mathbf{x}_k - \alpha_k \nabla f(\mathbf{x}_k) xk+1=xk+αkdk=xkαkf(xk)
  7. k←k+1k \gets k+1kk+1,返回步骤 2。

3. 最速下降法(Steepest Descent Method)

最速下降法是梯度下降法的一种具体实现,其特点是采用精确一维线搜索来确定最优步长。

核心理念

在负梯度方向上,寻找一个最优步长 αk\alpha_kαk,使得目标函数在该方向上达到最小值。

迭代过程

  • 在每次迭代中,求解以下一维优化问题:
    αk=arg⁡min⁡α≥0f(xk−α∇f(xk)) \alpha_k = \arg\min_{\alpha \geq 0} f(\mathbf{x}_k - \alpha \nabla f(\mathbf{x}_k)) αk=argα0minf(xkαf(xk))
  • 然后更新:
    xk+1=xk−αk∇f(xk) \mathbf{x}_{k+1} = \mathbf{x}_k - \alpha_k \nabla f(\mathbf{x}_k) xk+1=xkαkf(xk)

一个重要性质(针对二次函数)

f(x)=12xTAx−bTxf(\mathbf{x}) = \frac{1}{2} \mathbf{x}^T A \mathbf{x} - \mathbf{b}^T \mathbf{x}f(x)=21xTAxbTx,其中 AAA 为对称正定矩阵,则最速下降法具有:
∇f(xk+1)T∇f(xk)=0 \nabla f(\mathbf{x}_{k+1})^T \nabla f(\mathbf{x}_k) = 0 f(xk+1)Tf(xk)=0
相邻两次梯度相互正交,导致搜索路径呈现“锯齿形”(zig-zag),尤其当条件数较大时收敛缓慢。


4. 应用于二次型函数

考虑二次目标函数:
f(x)=12xTAx−bTx f(\mathbf{x}) = \frac{1}{2} \mathbf{x}^T A \mathbf{x} - \mathbf{b}^T \mathbf{x} f(x)=21xTAxbTx
其中 A∈Rn×nA \in \mathbb{R}^{n \times n}ARn×n 对称正定。

此时梯度为:
∇f(xk)=Axk−b \nabla f(\mathbf{x}_k) = A\mathbf{x}_k - \mathbf{b} f(xk)=Axkb

在最速下降法中,最优步长可通过解析表达式计算:
αk=∇f(xk)T∇f(xk)∇f(xk)TA∇f(xk) \alpha_k = \frac{\nabla f(\mathbf{x}_k)^T \nabla f(\mathbf{x}_k)}{\nabla f(\mathbf{x}_k)^T A \nabla f(\mathbf{x}_k)} αk=f(xk)TAf(xk)f(xk)Tf(xk)

此公式来源于将 f(xk−α∇f(xk))f(\mathbf{x}_k - \alpha \nabla f(\mathbf{x}_k))f(xkαf(xk))α\alphaα 求导并令导数为零。


5. 步长(学习率)的选择

步长 αk\alpha_kαk 的选取直接影响算法性能:

步长选择方式特点
固定步长实现简单,但难以平衡收敛速度与稳定性;过大易震荡,过小收敛慢。
精确线搜索在搜索方向上找到全局最小值对应的 αk\alpha_kαk,计算成本高。
非精确线搜索更实用,常用准则包括:
Armijo 准则(保证充分下降)
Wolfe 准则(同时控制曲率条件)

推荐实践:结合回溯(backtracking)策略的 Armijo 准则,在实际应用中广泛使用。


6. 局限性与改进方向

局限性

  1. 收敛速度慢:最速下降法仅为线性收敛,尤其当 Hessian 矩阵条件数大时效率低下。
  2. 锯齿现象:由于连续搜索方向正交,路径曲折,远离最优解区域时进展缓慢。
  3. 仅局部收敛:只能保证收敛到局部极小值;若函数非凸,可能陷入次优解。

改进算法

为克服上述缺陷,发展出多种高效替代方法:

方法主要思想收敛速度
共轭梯度法 (CG)构造一组 AAA-共轭方向,避免正交锯齿,适用于大规模问题超线性(有限步收敛于二次函数)
拟牛顿法 (Quasi-Newton)利用梯度变化近似 Hessian 矩阵(如 BFGS、L-BFGS)超线性
Barzilai-Borwein 方法 (BB 方法)使用两点梯度差估算步长,无需线搜索,数值表现优异非单调,但实践中快速

总结

梯度方法是现代最优化理论与机器学习的基础工具之一。尽管最速下降法因其简单的结构而易于理解和实现,但由于其较慢的收敛速度,在实际问题中常被更先进的算法所取代。

然而,深刻理解梯度下降的原理、收敛行为以及步长选择机制,对于掌握后续高级优化技术(如动量法、Adam、AdaGrad 等自适应方法)至关重要。它是连接经典数学规划与现代人工智能优化器的桥梁。

关键要点回顾

  • 下降方向:−∇f(xk)-\nabla f(\mathbf{x}_k)f(xk)
  • 迭代公式:xk+1=xk−αk∇f(xk)\mathbf{x}_{k+1} = \mathbf{x}_k - \alpha_k \nabla f(\mathbf{x}_k)xk+1=xkαkf(xk)
  • 步长决定成败:需合理选择(线搜索 / 自适应)
  • 收敛性依赖函数性质:强凸且光滑时效果良好
  • 可扩展性强:为深度学习中各类优化器提供理论基础
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值