下面整理常见的用于回归损失函数:
- MAE 平均绝对误差
- MSE 均方误差
- R-Square R方损失函数
- Huber 损失函数
- Log-Cosh 损失函数
- RMSLE 均方根对数误差
1. MAE 平均绝对误差
MAE 损失也叫做 L1 损失函数,其计算公式如下:
torch.nn.L1Loss(reduction='mean') torch.nn.functional.l1_loss(input, target, reduction='mean')
MAE 不会放大离群点的影响.
2. MSE 均方误差
torch.nn.MSELoss(reduction='mean') torch.nn.functional.mse_loss(input, target, reduction='mean')
MAE 会放大离群点的影响.
3. R-Square R方损失函数
当预测值和真实值完全相同时,则 \(R^2\) 的值为 1,当两者完全不同时,相差非常大时,就可能导致 \(R^2\) 值为负数。从这里可以看到,R-Square 评估了模型预测值和真实结果的匹配程度, 该值越接近于 1 说明模型的预测结果和真实结果越匹配,该值也可能为负数.
4. Huber 损失函数
torch.nn.HuberLoss(reduction='mean', delta=1.0) torch.nn.functional.huber_loss(input, target, reduction='mean', delta=1.0)
Huber 损失相当于综合了 MAE 和 MSE 损失.
5. Log-Cosh 损失函数
计算量比较大,一般在机器学习算法中使用。