知识点:梯度下降法
知识点概述
梯度下降法(Gradient Descent)是最简单、最基础的一阶优化算法。它通过在每一步迭代中沿着目标函数梯度的反方向(即最速下降方向)更新参数,来逐步逼近函数的局部最小值。
详细解释
- 算法:
- 选择初始点 。
- 迭代更新: 。
- 核心思想: 负梯度方向是函数值在局部下降最快的方向。
- 步长 (学习率):
- 固定步长: 选择一个小的常数作为步长。如果步长太小,收敛会很慢;如果步长太大,可能会在最小值附近震荡甚至发散。
- 非精确线搜索: 使用Armijo等准则来自动寻找一个合适的步长。
- 收敛性:
- 对于一般的非凸函数,梯度下降法只能保证收敛到稳定点(梯度为零的点)。
- 对于凸函数,可以保证收敛到全局最优解。
- 对于强凸且梯度利普希茨连续的函数,梯度下降法具有线性收敛速度。
学习要点
- 掌握梯度下降法的迭代公式。
- 理解其核心思想是“最速下降”。
- 认识到步长(学习率)选择的重要性。
- 了解其收敛速度通常是线性的,慢于牛顿法等二阶方法。
实践应用
- 机器学习: 训练各种机器学习模型,特别是大规模问题和深度学习(以其随机版本SGD为主)。
- 大规模优化: 由于其计算和存储成本低(只需要计算梯度),梯度下降法是求解大规模问题的首选。
关联知识点
- 前置知识: 56-理论方法-线搜索方法, 16-核心概念-梯度与海瑟矩阵
- 后续知识: 58-理论方法-Barzilar-Borwein方法, 73-理论方法-随机梯度下降算法, 68-理论方法-Nesterov加速算法
- 相关知识: 60-理论方法-牛顿法