知识点:Nesterov加速算法
知识点概述
Nesterov加速算法是对(近似点)梯度下降法的一种重要改进,它通过引入一个“动量”(Momentum)项,显著改善了算法的收敛速度。对于梯度利普希茨连续的凸函数,它将梯度法的收敛率从 提升到了最优的 。
详细解释
- 动机: 普通梯度下降法步子太“短视”,只利用当前点的梯度,导致收敛慢。
- 核心思想 (动量): 下一步的更新方向不仅考虑当前点的梯度,还融合了之前迭代的动量。
- 算法 (FISTA): FISTA (Fast Iterative Shrinkage-Thresholding Algorithm) 是Nesterov加速思想在近似点梯度法上的一个流行实现。其迭代步骤为:
- (动量步:在一个“预判”点上计算梯度)
- (标准的近似点梯度步) 直观上,算法不是在当前位置 寻找下一步,而是在一个顺着之前方向稍微“前冲”一点的位置 上进行梯度下降和邻近操作。
- 收敛速度:
- 对于凸问题,收敛率为 。
- 对于强凸问题,可以达到线性收敛,且收敛常数更优。
学习要点
- 理解Nesterov加速的核心是引入动量项。
- 掌握FISTA算法的迭代格式,理解 作为预判点的作用。
- 知道Nesterov加速将一阶方法的收敛率从 提升到了理论最优的 。
实践应用
- 在许多机器学习和信号处理问题中,FISTA及其变体是求解复合优化问题的标准快速算法。
关联知识点
- 前置知识: 67-理论方法-近似点梯度法, 57-理论方法-梯度下降法
- 后续知识: 无
- 相关知识: 无