乐趣区

关于人工智能:理解梯度下降

作者 |PHANI8
编译 |VK
起源 |Analytics Vidhya

介绍

在这篇文章中,咱们将理解什么是真正的梯度降落,为什么它变得风行,为什么 AI 和 ML 中的大多数算法都遵循这种技术。

在开始之前,梯度降落实际上意味着什么?听起来很奇怪对吧!

柯西是 1847 年第一个提出梯度降落的人

嗯,梯度这个词的意思是一个性质的减少和缩小!而降落意味着向下挪动的动作。所以,总的来说,在降落到某个中央而后察看并且持续降落的行为被称为梯度降落

所以,在失常状况下,如图所示,山顶的坡度很高,通过一直的挪动,当你达到山脚时的坡度最小,或者靠近或等于零。同样的状况在数学上也实用。

让咱们看看怎么做

梯度降落数学

所以,如果你看到这里的形态和这里的山是一样的。咱们假如这是一条模式为 y =f(x)的曲线。

这里咱们晓得,任何一点上的斜率都是 y 对 x 的导数,如果你用曲线来查看,你会发现,当向下挪动时,斜率在尖端或最小地位减小并等于零,当咱们再次向上挪动时,斜率会减少

记住这一点,咱们将钻研在最小点处 x 和 y 的值会产生什么,

察看下图,咱们有不同地位的五个点!

.png)

当咱们向下挪动时,咱们会发现 y 值会减小,所以在这里的所有点中,咱们在图的底部失去了绝对最小的值。因而,咱们的论断是咱们总是在图的底部找到最小值(x,y)。当初让咱们看看如何在 ML 和 DL 中传递这个,以及如何在不遍历整个图的状况下达到最小点?

在任何一种算法中,咱们的次要目标是最小化损失,这表明咱们的模型体现良好。为了剖析这一点,咱们将应用线性回归

因为线性回归应用直线来预测间断输入 -

设直线 y =w*x+c

这里咱们须要找到 w 和 c,这样咱们就失去了使误差最小化的最佳拟合线。所以咱们的指标是找到最佳的 w 和 c 值

咱们从一些随机值开始 w 和 c,咱们依据损失更新这些值,也就是说,咱们更新这些权重,直到斜率等于或接近于零。

咱们将取 y 轴上的损失函数,x 轴上有 w 和 c。查看下图 -

.png)

为了在第一个图中达到最小的 w 值,请遵循以下步骤 -

  1. 用 w 和 c 开始计算给定的一组 x _values 的损失。
  2. 绘制点,当初将权重更新为 -

    w_new =w_old – learning_rate \* slope at (w_old,loss)

反复这些步骤,直到达到最小值!

  • 咱们在这里减去梯度,因为咱们想移到山脚下,或者朝着最陡的降落方向挪动
  • 当咱们减去后,咱们会失去一个比前一个小的斜率,这就是咱们想要挪动到斜率等于或接近于零的点
  • 咱们稍后再探讨学习率

这同样实用于图 2,即损失和 c 的函数

当初的问题是为什么要把学习率放在等式中?因为咱们不能在终点和最小值之间遍历所有的点

咱们须要跳过一些点

  • 咱们能够在最后阶段采取大步口头。
  • 然而,当咱们靠近最小值时,咱们须要小步走,因为咱们可能会越过最小值,挪动到一个斜坡的中央减少。为了管制图的步长和挪动,引入了学习速率。即便没有学习速率,咱们也会失去最小值,但咱们关怀的是咱们的算法要更快!!

.png)

上面是一个应用梯度降落的线性回归的示例算法。这里咱们用均方误差作为损失函数 -

1. 用零初始化模型参数

m=0,c=0

2. 应用(0,1)范畴内的任何值初始化学习速率

lr=0.01

误差方程 -

.png)

当初用(w*x+c)代替 Ypred 并计算偏导

.png)

3.c 也一样能够计算得出

.png)

4. 将此利用于所有 epoch 的数据集

for i in range(epochs):
          y_pred = w * x +c
          D_M = (-2/n) * sum(x * (y_original - y_pred))
          D_C = (-2/n) * sum(y_original - y_pred)

这里求和函数一次性将所有点的梯度相加!

更新所有迭代的参数

W = W – lr * D_M

C = C – lr * D_C

梯度降落法用于神经网络的深度学习…

在这里,咱们更新每个神经元的权值,以便在最小误差的状况下失去最佳分类。咱们应用梯度降落法来更新每一层的所有权值…

Wi = Wi – learning_rate * derivative (Loss function w.r.t Wi)

为什么它受欢迎?

梯度降落是目前机器学习和深度学习中最罕用的优化策略。

它用于训练数据模型,能够与各种算法相结合,易于了解和实现

许多统计技术和办法应用 GD 来最小化和优化它们的过程。

参考援用

  1. https://en.wikipedia.org/wiki…
  2. https://en.wikipedia.org/wiki…

原文链接:https://www.analyticsvidhya.c…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

退出移动版