[Python] pytorch损失函数之MSELoss(均方误差损失)介绍和使用场景

什么是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 torch
import 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)
# 计算MSELoss
loss = mse_loss(predictions, targets)
print(loss)

参考资料

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

猜你喜欢

转载自blog.csdn.net/u011775793/article/details/135411892