Pytorch的损失函数定义在torch.nn.functional
下,可以直接使用。
Mean Squared Error(MSE)即均方误差,常用在数值型输出上:
其中θ是网络的参数,取决于使用的网络结构,例如如果只是普通的线性感知器,那么:
注意MSE和L2范数相比,L2范数是做了开平方操作的,所以如果要使用它来求MSE,最后只要.pow(2)
平方一下就可以了,示例代码:
import torch
# 实际值
y = 0.2
# 预测值:采样自N~(0,1)的10个值
pred = torch.randn(10)
# 计算MSE
mse = (pred - y).norm(2).pow(2)
print(mse)
输出结果:
tensor(10.1975)