PyTorch 教程-均方误差
均方误差的计算方式与之前的一般损失方程大致相同。我们也会考虑偏差值,因为这也是在训练过程中需要更新的参数。
(y-Ax+b)2
最好用一个例子来解释均方误差。
假设我们有一组值,我们首先按照之前的方式用一组随机的权重和偏差值画出一些回归线参数。
误差对应于实际值与预测值之间的实际距离。
对于每个点,通过比较我们的线性模型所做的预测值与实际值来计算误差,使用以下公式:
每个点都与一个误差相关联,这意味着我们必须对每个点的误差进行求和。我们知道预测可以重写为:
由于我们正在计算均方误差,我们必须通过除以数据点的数量来取平均值。如前所述,误差函数的梯度应该引导我们向误差增加最大的方向移动。
朝着我们成本函数梯度的负方向移动,我们向最小误差的方向移动。我们将使用这个梯度作为指南针,始终引导我们向下坡走。在梯度下降中,我们忽略了偏差的存在,但对于误差来说,两个参数 A 和 b 都是必需的。
接下来,我们将计算每个的偏导数,如前所述,我们从任何 A 和 b 值对开始。
我们使用梯度下降算法来根据上面提到的两个偏导数更新 A 和 b,使其朝着最小误差的方向移动。在每次迭代中,新的权重等于
A1=A0-∝ f'(A)
新的偏差值等于
b1=b0-∝ f'(b)
编写代码的主要思想是,我们从具有一组随机的权重和偏差值参数的随机模型开始。这个随机模型倾向于有一个大的误差函数,一个大的成本函数,然后我们使用梯度下降来更新我们模型的权重,使其朝着最小误差的方向移动。最小化这个误差以返回一个优化的结果。