我构建了一个带有三个输出类别的张量流神经网络。
我的损失函数当前为val_mean_absolute_percentage_error
,因为它不是绝对距离,而是目标和预测变量之间的相对距离。
但是,平均绝对百分比误差计算为
1/n sum(|(y_test - y_pred) / y_test|)
不完全适合我的问题,因为如果y_pred > y_test
示例1:y_test = 5, y_pred = 2 --> Mape = 0.6
示例2:y_pred = 5, y_test = 2 --> Mape = 1.5
但是,上述示例应同样受到惩罚。
有人知道哪个(自定义)损失函数更适合我的问题吗?
答案 0 :(得分:1)
对于y_true
和y_pred
之间更大的差异,您可以考虑使用mse loss
代替mae loss
;对于RMSE / MSE,由于误差在求平均值之前先求平方,所以RMSE赋予较大误差的权重。
问题是您划分为y_test
,因此结果有所不同。您可以首先尝试删除分母以获得相同的MAPE,并且如果您仍然在y_test
和y_pred
之间获得更大的幅度值,请考虑使用RMSE
。