Neural-Networks

平均絕對誤差 (MAE) 導數

  • November 8, 2017

我試圖了解 MAE 如何在使用反向傳播的神經網絡中作為損失函數工作。我知道它可以直接在某些 API 中使用——例如Keras——但是我看到tensorflow 不允許它(儘管你可以手動聲明它tf.abs(tf.minus(y_pred,y_true)))。

我的問題是:通常如何計算 MAE 的導數(我只發現使用了一個明顯複雜的近似值),特別是它是如何在 tensorflow(手動聲明時)和 keras 中計算的?

, 作為一個函數, 在. 在其他地方,導數是通過鍊式法則的直接應用:

解釋很簡單:如果您的預測太高(),然後增加再多一單位將使 MAE 增加一單位等量,因此梯度鼓勵您減少 . 反之亦然,如果.

瀏覽您鏈接的論文,似乎它們通過可微函數來近似 MAE,以避免在.

至於在 TensorFlow 和 keras 中具體實現了什麼,這裡就不說了。最好查閱文檔、源代碼或任何特定的幫助社區。

引用自:https://stats.stackexchange.com/questions/312737

comments powered by Disqus