最速下降法(梯度法)是最基础的一阶迭代优化算法,核心是沿负梯度方向迭代搜索函数最小值,
是机器学习、工程优化领域的入门核心方法。
一、核心定义与原理
最速下降法由数学家柯西在19世纪20年代提出,它利用“梯度方向是函数值增加最快的方向”的性质,
取其反方向作为迭代移动方向,保证每一步都能让函数值以最快速度局部下降,是无约束优化问题的基
础解法之一。
二、迭代计算步骤
选定初始迭代点x⁽⁰⁾,设置收敛阈值,初始化迭代计数器k=0;
计算当前点的梯度∇f(x⁽ᵏ⁾),若梯度范数小于阈值则判定收敛,停止迭代;
通过一维搜索确定当前步长α,使目标函数f(x⁽ᵏ⁾ - α∇f(x⁽ᵏ⁾))取得最小值;
按公式 x⁽ᵏ⁺¹⁾ = x⁽ᵏ⁾ - α∇f(x⁽ᵏ⁾) 更新迭代点,k自增后返回步骤2继续循环。
三、特性与适用场景
优势:原理简单直观,每次迭代仅需计算一阶梯度,计算量小、内存占用低,适合大规模优化问题的初
始阶段快速迭代。
缺陷:在接近极小值点时收敛速度明显变慢,迭代路径会出现典型的“锯齿现象”,当目标函数等值线
为扁长椭圆时收敛效率会大幅下降。
适用场景:广泛用于机器学习损失函数最小化、非线性回归参数估计、各类工程无约束优化计算等领域。
四、主流衍生变体
为解决经典最速下降法的收敛缺陷,衍生出了随机梯度下降(SGD)、动量法、AdaGrad、Adam等改进算
法,通过引入随机采样、历史梯度动量、自适应步长等机制,大幅提升了大规模场景下的优化效率。
需要我为你提供最速下降法的Python可运行示例代码吗?帮你直观验证算法的迭代过程。