Jikipedia
Jikipedia量化聚宽量化课堂(低频量化策略 43 篇)线搜索(无约束优化的迭代下降法)
概念笔记

线搜索(无约束优化的迭代下降法)

量化线搜索梯度下降牛顿方法步长Wolfe条件

一句话

线搜索是求无约束非线性函数极小点的迭代框架:从起点反复「选一个下降方向 + 走一步」,直到逼近局部极小。方向(梯度下降/牛顿)与步长(Wolfe 条件/回溯)是两大件,可自由拼装;神经网络训练与组合配置的数值求解都属这类。

当前理解

目标与判据(量化课堂 34)

  • 无约束问题 min f(x),x∈Rⁿ。全局极小点通常找不到;数值优化实际只求「足够接近某个局部极小点」。
  • 判据(定理):f 是 C²,若 ∇f(x*)=0 且海塞 ∇²f(x*) 半正定 → 局部极小;正定 → 强局部极小。但求 ∇f 的零点本身就难,所以判据不能当算法。
  • 迭代思路:方向 p 满足 ∇f(x)ᵀp<0(与梯度夹角 >90°)就是下降方向;小步 α 必使 f 下降。x_{k+1}=x_k+α_k·p_k。

方向两族

  • 梯度下降(最速下降):p=−∇f。保证全局收敛、只需一阶可导;但常沿与水平集垂直的方向锯齿走,收敛慢——二次函数 11–14 步,Rosenbrock 窄谷里 5491 步(误差阈值 0.00001)。
  • 牛顿方向:p=−∇²f(x)⁻¹∇f(x)(最小化二次泰勒模型)。用了二阶曲率信息,「看得远」:误差 O(‖p‖³) 对 O(‖p‖²)。代价:要 C²、海塞正定(常要求起点够近)、算海塞再求逆很贵。二次函数一步到位,Rosenbrock 31 步(对比 5491)。
  • 实用混合:海塞正定时用牛顿方向、否则退回梯度下降(正定 ⟺ 特征值全 >0,Numpy 可判)。

步长两族

  • 精确线搜索:argmin_α f(x_k+αp_k),极值处梯度 ⊥ p;零点难求,实际不划算。
  • Wolfe 条件:足量衰减(Armijo,c₁ 常用 10⁻⁴)+ 曲率条件(落脚点要「平缓」);两式都满足的步长「够好」但找起来麻烦。
  • 回溯(backtracking):只保足量下降。α 从 ᾱ(常用 1)起,不满足就 α←ρα(0<ρ<1)。保证下降、又不会太短(α_k/ρ 是不合格的过长步长)。对牛顿方向很好用。

完整算法与终止

  • 拼装:方向算法给 p_k → 步长算法给 α_k → 更新 x。终止用「迭代次数 K」或「|f(x_k)−f(x_{k−1})|<ε」(用相邻差代替不可得的 f(x*)),可同时用。
  • 应用语境:34 篇导语点名神经网络训练(反向传播)与资产配置优化;第 35 篇把约束问题转成无约束 min‖∇L‖ 后,就是靠它数值求解。

来源

常见混淆

  • 梯度下降 ≠ 最优化本身:它只是「方向」的一种选择;步长没选好同样会失败。方向 + 步长是两件独立的事。
  • 「最速下降」其实经常慢:眼前最陡 ≠ 全局高效,窄谷里会锯齿(Rosenbrock 5491 步)。
  • 牛顿方法不是无条件更快:要求 C²、海塞正定、起点够近;海塞不正定时 p 甚至可能不是下降方向。
  • 回溯/Wolfe 找的是「够好」的步长,不是沿射线的最优步长——精确最优反而难求、不划算。
  • 局部极小 ≠ 全局极小:算法承诺收敛到某个局部极小;非凸函数上会停在不想去的点(这正是不等式约束与凸规划重要性的来源)。
  • 终止条件用相邻差近似:|f(x_k)−f(x_{k−1})| 代替 |f(x_k)−f(x*)|,是实用近似不是严谨判据。

开放问题

  • 收敛性证明、收敛阶、参数(c₁、ρ、ᾱ)的理论最优没有展开 [需要验证]。
  • 拟牛顿(L-BFGS 类)、共轭梯度等现代方向文中只预告;大规模问题时海塞矩阵太贵,实际常用其近似——本库素材未覆盖。
  • 与神经网络训练(反向传播 = 对损失函数做梯度类优化)的具体对接在量化课堂 ML 篇(36–43,W8)展开后回补。
  • 非凸/约束问题的专用算法(投影梯度、惩罚函数等)未覆盖。

更新 2026-09-06

检索知识库

按标题、类型或正文检索