[英]Custom loss function Tensorflow / Keras penalizing relative distance
我構建了一個具有三個輸出類的 tensorflow 神經網絡。 我的損失函數目前是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
但是,上面的例子應該受到同等的懲罰。
有誰知道哪個(自定義)損失函數可能更適合我的問題?
對於y_true
和y_pred
之間更大的差異,您可以考慮使用mse loss
而不是mae loss
; 在 RMSE/MSE 的情況下,由於誤差在平均之前是平方的,RMSE 為較大的誤差提供了更高的權重。
問題是您除以y_test
,因此結果存在差異。 您可以首先嘗試刪除分母以獲得相同的 MAPE,如果您仍然在y_test
和y_pred
之間獲得更大的幅度值,請考慮使用RMSE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.