机器学习的优化算法

我一直在 Coursera 上学习 Andrew Ng 的深度学习专项课程。我已经完成了该专项课程 5 门课程中的第 1 门(神经网络和深度学习)。我正在学习第 2 门课程,即改进深度学习。这是一门非常有趣的课程,深入探讨了超参数调整、正则化和优化技术。1. 什么是优化算法?它们使您能够更快地训练神经网络,因为应用机器学习是一个非常经验的过程,这些算法有助于有效地达到优化结果。让我们开始研究具有更复杂版本的梯度下降的优化算法。1.1 批量与小批量梯度下降一般来说,梯度下降会遍历整个训练示例集(#m),并向全局最小值迈出一步。这也称为批量梯度下降。这有点低效,因为它要求我们先遍历所有训练示例,然后才向最小值迈出一小步。我们不妨使用训练集中较小的块/样本一次迈出一步?这只不过是小批量梯度下降。这意味着我们将输入训练集(X)和目标集(Y)分成小批量 - 称为小批量,然后遍历每个批次,一次向最小值迈出一步。这显著提高了梯度下降的收敛速度。为了使其更快,我们不妨对 e 采取梯度下降步骤

来源:Ankit-AI | 分享人工智能

我一直在 Coursera 上学习 Andrew Ng 的深度学习专长课程。我已经完成了该专长课程的 5 门课程中的第一门(神经网络和深度学习)。

我正在学习第二门课程,即改进深度学习。这是一门非常有趣的课程,深入探讨了超参数调整、正则化和优化技术。

1. 什么是优化算法?

它们使您能够更快地训练神经网络,因为应用机器学习是一个非常经验的过程,这些算法有助于有效地达到优化结果。

让我们开始研究具有更复杂版本的梯度下降的优化算法。

1.1 批量与小批量梯度下降

通常,梯度下降会遍历整个训练示例集(#m),并向全局最小值迈出一步。这也称为批量梯度下降。这有点低效,因为它要求我们先遍历所有训练示例,然后才向最小值迈出一小步。

我们如何使用训练集中较小的块/样本一次迈出一步?这只不过是小批量梯度下降。这意味着我们将输入训练集(X)和目标集(Y)分成小批量 - 称为小批量,然后遍历每个批次以一次向最小值迈出一步。这显著提高了梯度下降收敛的速度。

为了使其更快,我们如何对每个训练示例采取梯度下降步骤?让我们看看下图中的含义。

来源:深度学习专业化 - 编程作业(优化)

来源:深度学习专业化 - 编程作业(优化)
  • 左侧是随机梯度下降(其中每步 m=1),我们对每个示例采取梯度下降步骤,右侧是批量梯度下降(每个整个训练集 1 步)。
  • 1.3 学习率衰减

    github .