深度学习中的梯度优化算法及其Python代码实例
发布时间
阅读量:
阅读量
1 梯度下降简单说明
必修二第3章的内容中涉及到梯度下降算法的基本概念。为了进一步深入理解这一知识点,在此不做展开讨论他的理论基础(相比之下其他教程的解释更为详尽深入),我们主要关注的是按照吴恩达深度学习框架中的标准公式:W:=W-\alpha*dW b:=b-\alpha*db
上述公式中dW和db分别表示参数W和b相对于损失函数的梯度方向(其中\alpha表示学习率/步长),我们的目标则是通过大量训练样本的数据学习迭代更新参数以最小化损失函数值。
1.1 随机梯度下降
该简化的表示法采用SGD(Stochastic Gradient Descent)算法进行优化。在数据样本数量较小时, 传统的批量梯度下降算法仍然适用, 通过遍历所有样本进行计算以获得较为精确的结果。然而, 当面对大规模的数据集时, 批量梯度下降会导致计算效率显著降低, 因为我们无法承受其极长的运行时间。因此, 在每一次迭代过程中随机抽取单个样本点来更新参数权重w和偏置项b, 这种做法能够在保证收敛性的前提下显著提升优化速度的同时避免陷入局部最优解的情况
1.2 Mini-Batch梯度下降
此方法可视为将批梯度下降与随机梯度下降相结合的技术。该技术的基本思想是通过批量处理一定数量的数据来进行更新参数的过程。值得注意的是这种方法的优势在于其对噪声数据具有一定的
全部评论 (0)
还没有任何评论哟~
