keras 中的自定义 RMSPE 损失函数

Sar*_*dak 7 python keras

我试图在 keras 中定义我自己的损失函数,即均方根百分比误差。RMSPE 定义为:
方程
我将损失函数定义为:

from keras import backend as K
def rmspe(y_true, y_pred):
    sum = K.sqrt(K.mean(K.square( (y_true - y_pred) /
          K.clip(K.abs(y_true),K.epsilon(),None) ), axis=-1) )
    return sum*100.
Run Code Online (Sandbox Code Playgroud)

但是经过几次迭代后,它给了我 nan 的损失值。有人可以指出我做错了什么。谢谢

小智 0

当你的分母为0时,那就是Nan。考虑在分母上加上一个小数字,例如 0.0000001。