PyTorch 中的损失函数17 Mar 2025 | 阅读 2 分钟 在上一篇中,我们看到这条线并没有正确拟合我们的数据。为了使其更好地拟合,我们将使用梯度下降来更新其参数,但在此之前,您需要了解损失函数。 因此,我们的目标是找到一条可以很好地拟合这些数据的线的参数。 在之前的示例中,线性函数最初会将随机权重和偏差参数分配给我们的线,并使用以下参数。 ![]() 这条线并不能很好地代表我们的数据。我们需要一些优化算法,该算法将根据总误差调整这些参数,直到我们最终得到一条包含合适参数的线。 现在,我们如何确定这些参数? 为了更好地理解,我们将讨论限制为单个数据点。 误差由从实际 y 值中减去该点的预测值来确定。 ![]() 预测值越接近实际值,误差就越小。 像您已经知道的那样,预测可以写成 Ax1+b 但是,我们正在处理一个点。 因此,可以通过它绘制无限条线。 为此,我们删除了偏差。 暂时删除此额外的自由度,并通过将偏差值固定为零来将其取消。 (y-y^)2 (y-(Ax+b))2 (y-(Ax+0))2 (y-Ax)2 ![]() 现在,无论我们处理哪条线,最优线都将具有权重,该权重会将此误差尽可能地减小到零。 现在,我们正在处理点 (-3, 3),对于此损失,该函数将转换为 Loss=(3-A(-3))2 Loss=(3+3A)2 现在,我们创建一个表并尝试不同的 A 值,看看哪一个给出的误差最小 为了可视化目的,我在图表中绘制了不同权重的不同误差值。 在这种情况下,绝对最小值对应于负一的权重,现在,我们知道了如何评估与我们的线性方程相对应的误差。 我们如何训练一个模型来知道这个权重在这里? 为此,我们使用 梯度下降。 下一篇梯度下降 |
我们请求您订阅我们的新闻通讯以获取最新更新。