吴恩达机器学习专项课程 | 理解梯度下降

现在让我们更深入地研究梯度下降,以更好地了解它在做什么以及它为什么有意义。这是您在吴恩达机器学习专项课程中看到的梯度下降算法。提醒一下,这个变量,这个希腊符号 Alpha,是学习率。学习率控制更新模型参数 w 和 b 时采取的步骤大小。简单地说,学习率决定了每次参数更新的幅度。

这里的这个术语,这个 d over dw,这是一个导数。按照数学惯例,这个 d 在这里用这种有趣的字体书写。如果看到这个的人有数学博士学位或者是多元微积分专家,他们可能想知道,那不是导数,那是偏导数。是的,他们是对的。但为了实现机器学习算法,我将其称为导数。这里,导数描述了成本函数对于某个参数的敏感程度,它告诉我们在该点处参数应该增加还是减少以降低成本。

我们现在要关注的是更直观地了解这个学习率和这个导数在做什么,以及为什么当像这样相乘时,它会导致参数 w 和 b 的更新。梯度下降的核心思想是利用学习率和导数的乘积来更新参数,以便逐渐接近成本函数的最小值。

为了更清楚地解释,让我们使用一个稍微简单的例子,我们只致力于最小化一个参数。假设您有一个只有一个参数 w 的成本函数 J,其中 w 是一个数字。这意味着梯度下降现在看起来像这样:W更新为w减去w的J的学习率Alpha乘以d over dw。您正在尝试通过调整参数 w 来最小化成本。这就像我们之前的示例,我们暂时将 b 设置为 0,参数 w 为一个而不是两个,您可以查看成本函数 j 的二维图,而不是三维图。

让我们看看梯度下降对 w 的函数 J 做了什么。这里横轴是参数 w,纵轴是 w 的代价 J。现在较少初始化梯度下降,w 有一些起始值。让我们在这个位置初始化它。想象一下,你从函数 J 的这一点开始,梯度下降将做的是将 w 更新为 w 减去学习率 Alpha 乘以 d over dw of J of w。

我们来看看这里的这个导数是什么意思。考虑直线上这一点的导数的一种方法是画一条切线,这是一条在该点与该曲线相交的直线。够了,这条线的斜率就是函数 J 在这一点的导数。为了得到斜率,你可以像这样画一个小三角形。如果你计算高度除以这个三角形的宽度,那就是斜率。例如,这个斜率可能是 2 比 1,当切线指向上方和右侧时,斜率为正,这意味着该导数是正数,因此大于 0。

更新后的 w 将是 w 减去学习率乘以某个正数。学习率始终为正数。如果你用 w 减去一个正数,你最终会得到 w 的一个新值,它更小。在图表上,你正在向左移动,你正在减小 w 的值。你可能会注意到,如果你的目标是降低成本 J,这是正确的做法,因为当我们在这条曲线上向左移动时,成本 J 会降低,并且你越来越接近 J 的最小值。

现在,让我们看另一个例子。让我们采用与上面相同的 w 函数 J,现在假设您在不同的位置初始化梯度下降。比方说,为左边这里的 w 选择一个起始值。这就是函数 J 的这一点。现在,导数项,记住是 d over dw of J of w,当我们看这里这一点的切线时,这条线的斜率是 J 在这一点的导数。但是这条切线向下倾斜到右边。这条向下向右倾斜的线具有负斜率。也就是说,此时 J 的导数为负数。比如你画一个三角形,那么像这样高是负 2,宽是 1,斜率是负 2 除以 1,就是负 2,就是负数。

当你更新 w 时,你得到 w 减去学习率乘以一个负数。这意味着你从 w 中减去一个负数。但是减去一个负数意味着加上一个正数,所以你最终会增加 w。因为减去一个负数和给 w 加上一个正数是一样的。这一步梯度下降导致 w 增加,这意味着你正在向图表的右侧移动,你的成本 J 已经下降到这里。

同样,看起来梯度下降正在做一些合理的事情,让你更接近最小值。希望这最后两个例子展示了导数项在做什么背后的一些直觉,以及为什么这个主梯度下降改变 w 来让你更接近最小值。

接下来,我们谈谈梯度下降算法中的另一个关键量:学习率 Alpha。你如何选择 Alpha?如果它太小会发生什么,或者当它太大时会发生什么?

学习率 Alpha 是一个超参数,它决定了每次参数更新的步长。如果学习率太小,梯度下降会非常缓慢,因为每次参数更新的幅度都很小,需要更多的迭代次数才能收敛到最小值。这可能会导致训练过程变得非常耗时。

相反,如果学习率太大,梯度下降可能会在最小值附近震荡,甚至可能无法收敛。过大的学习率会导致参数更新幅度过大,跳过最小值,甚至可能导致算法发散。

因此,选择合适的学习率是非常重要的。通常,我们会通过实验来确定最佳的学习率。一种常用的方法是使用学习率衰减策略,即在训练过程中逐渐减小学习率。这样可以在训练初期使用较大的学习率来快速

本文资料来源于互联网,仅做网络分享,如有侵权,请联系删除;不代表Sora中文网立场,如若转载,请注明出处:https://www.allinsora.com/5623

(0)
上一篇 2024年3月14日 上午10:41
下一篇 2024年3月14日 上午10:54

相关推荐

  • 吴恩达机器学习专项课程 | 特征缩放-part-1

    在吴恩达机器学习专项课程中,我们将探讨一种名为特征缩放的技术,该技术能够优化梯度下降的运行效率,特别是在处理具有不同取值范围的特征时。特征缩放通过对训练数据进行转换,使得不同特征的值范围变得可比较,从而提高梯度下降算法的性能。 特征取值范围对梯度下降的影响:当特征的取值范围差异很大时,梯度下降可能会运行缓慢。这是因为某些特征的微小变化可能会对预测结果产生显著…

    2024年4月12日
    0075
  • 吴恩达机器学习专项课程 | 用于线性回归的梯度下降

    之前在吴恩达机器学习专项课程中,我们讨论了线性回归模型、成本函数以及梯度下降算法。现在,我们要将这三者结合起来,使用平方误差成本函数来构建一个具有梯度下降的线性回归模型。这个模型将帮助我们训练一条直线来拟合训练数据。那么,我们就开始吧! 首先,这是我们的线性回归模型,右边是平方误差成本函数,下面是梯度下降算法。如果我们计算这些导数,会得到特定的公式。关于W的…

    2024年3月14日
    00115
  • 麻省理工机器学习导论课程 | 循环神经网络

    麻省理工机器学习导论课程介绍了循环神经网络(RNN)在序列数据处理中的应用。RNN可以用于处理具有时间顺序的数据,例如文本和语音。视频中详细解释了RNN的结构和工作原理,并提到了在训练RNN时需要考虑的参数和损失函数。RNN可以通过学习输入数据的特征来进行预测和分类,并且可以通过反向传播算法进行优化。总体而言,RNN是一种强大的工具,可以处理各种序列数据,并…

    2024年3月15日
    00106
  • 吴恩达机器学习专项课程 | 线性回归模型-part-2

    通过吴恩达机器学习专项课程,我们更深入地了解了监督学习的工作过程。监督学习算法利用训练集来学习和预测。训练集包含输入特征(如房屋大小)和对应的输出目标(如房屋价格),输出目标就是模型需要学习的正确答案。 在学习过程中,监督学习算法会生成一个函数,我们称之为模型。这个模型的功能是接收新的输入特征,并输出一个预测值,我们将其表示为y-hat。这个预测值是模型对实…

    2024年3月14日
    0090
  • 吴恩达机器学习专项课程 | 代价函数公式

    吴恩达机器学习专项课程中详细讨论了如何定义成本函数,这是线性回归中的关键步骤。成本函数衡量了模型预测与真实目标之间的差异,并帮助我们找到最优的模型参数。 在线性回归中,我们使用的模型是一个线性函数,形式为 f(x) = wx + b,其中 w 和 b 是我们需要确定的参数。我们的目标是找到一组 w 和 b 的值,使得模型对训练数据的预测尽可能接近真实的目标值…

    2024年3月14日
    0074

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

关注微信
Sora改变AI认知方式,开启走向「世界模拟器」的史诗级的漫漫征途。