簡體   English   中英

自定義損失函數 Tensorflow / Keras 懲罰相對距離

[英]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_truey_pred之間更大的差異,您可以考慮使用mse loss而不是mae loss 在 RMSE/MSE 的情況下,由於誤差在平均之前是平方的,RMSE 為較大的誤差提供了更高的權重。

問題是您除以y_test ,因此結果存在差異。 您可以首先嘗試刪除分母以獲得相同的 MAPE,如果您仍然在y_testy_pred之間獲得更大的幅度值,請考慮使用RMSE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM