如何理解梯度下降算法

科技网编2022-08-05 17:555000

介绍

在这篇文章中下降率怎么算,我们将了解什么是真正的梯度下降法,为什么它成为非常流行的机器学习算法,为什么AI和ML中的大多数算法都遵循这种技术。

柯西在1847年提出了梯度下降算法,是第一个提出梯度下降的人。梯度这个词的意思是一个性质的增加和减少!而下降意味着向下移动的动作,所以,总的来说,先下降到某个地方,然后观察并且继续下降的行为被称为梯度下降。

体重增加体脂率下降_固定资产成新率下降_下降率怎么算

所以,在正常情况下,如图所示,山顶的坡度很高,通过不断的移动,当你到达山脚时的坡度最小,或者接近或等于零,同样的情况在数学上也适用。

让我们看看怎么做。

在数学上的梯度下降

下降率怎么算_体重增加体脂率下降_固定资产成新率下降

我们假设这是一条形式为y=f(x)的曲线。

曲线上,任何一点上的斜率都是y对x的导数,当向下移动时,斜率在尖端或最小位置减小并等于零,当我们再次向上移动时,斜率会增加

记住这一点,我们将研究在最小点处x和y的值会发生什么。观察下图,我们有不同位置的五个点!

体重增加体脂率下降_固定资产成新率下降_下降率怎么算

当我们向下移动时,我们会发现y值会减小,所以在这里的所有点中下降率怎么算,我们在图的底部得到了相对最小的值,因此,我们的结论是我们总是在图的底部找到最小值(x,y)。现在让我们看看如何在ML和DL中实现这个过程,以及如何在不遍历整个图的情况下达到最小点?

在任何一种优化算法中,我们的主要目的是最小化损失,这才能使我们的模型表现更好。为了分析这一点,我们将使用线性回归。

体重增加体脂率下降_下降率怎么算_固定资产成新率下降

因为线性回归使用直线来预测连续输出-

设直线为y=w*x+c

这里我们需要得到w和c的值,才能得到使误差最小化的最佳拟合线,所以我们的目标是找到最佳的w和c值。

我们先把w和c初始化为随机值,我们根据损失更新w和c的值,也就是说,我们更新这些权重,直到斜率等于或接近于零。

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

下降率怎么算_体重增加体脂率下降_固定资产成新率下降

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

用w和c计算给定的一组x _values的损失。绘制点,现在将权重更新为-

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

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

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

固定资产成新率下降_体重增加体脂率下降_下降率怎么算

现在的问题是为什么要把学习率放在等式中?这是因为我们不能在起点和最小值之间遍历所有的点。我们需要跳过一些点。

下降率怎么算_固定资产成新率下降_体重增加体脂率下降

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

1.用零初始化模型参数

m=0,c=0

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

lr=0.01

误差方程-

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

体重增加体脂率下降_下降率怎么算_固定资产成新率下降

3.c也一样可以计算得出

下降率怎么算_固定资产成新率下降_体重增加体脂率下降

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来最小化和优化它们的计算过程。

参考引用

/wiki//wiki/Stochastic_gradient_descent

参考链接:/blog/2020/10/what-does-gradient-descent-mean/

评论区