什么是MSE(均方误差)?

均方误差(Mean Squared Error,简称MSE)是用于衡量预测值与真实值之间差异的一种指标。它是实际观察值与预测值之差的平方和的平均值。

假设有n个样本,真实值分别为y₁, y₂, ……, yₙ,预测值分别为ŷ₁, ŷ₂, ……, ŷₙ。

首先,我们可以定义误差(error)为预测值与真实值之间的差:

eᵢ = yᵢ – ŷᵢ

则第i个样本的误差平方为:

eᵢ² = (yᵢ – ŷᵢ)²

我们希望得到所有样本误差平方的平均数,即均方误差。因此,我们可以计算所有样本误差平方的和,再除以样本数n:

MSE = (1/n) * Σ(yᵢ – ŷᵢ)² (i=1,2,…,n)

均方误差越小,说明预测值与真实值越接近;均方误差越大,说明预测值与真实值之间的差异越大

什么MSELoss(均方误差损失)?

MSELoss(均方误差损失)是PyTorch中用于计算预测值与真实值之间均方误差的损失函数。它主要用于回归问题,即预测连续值。

MESLoss使用案例

# 首先导入所需的库import torchimport torch.nn as nn# 创建MSELoss对象mse_loss = nn.MSELoss()# 定义预测值和真实值:predictions = torch.randn(3, 5)# 随机生成一个3x5的张量作为预测值targets = torch.randn(3, 5)# 随机生成一个3x5的张量作为真实值print('predictions:', predictions)print('targets:', targets)# 计算MSELossloss = mse_loss(predictions, targets)print(loss)

参考资料

通俗易懂讲解均方误差 (MSE)