什么是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)