2017-02-21 18 views
2

ケラスで自分の損失関数を定義しようとしていますが、これは根平均二乗百分率エラーです。 RMSPEは次のように定義されています。
equation
私の損失関数は次のように定義されています。
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.
しかし、数回反復すると、損失値がnanになります。誰かが間違っていることを指摘できますか?ありがとうケラスでのカスタムRMSPE損失機能

+0

どのバックエンドをお使いですか? –

+0

テンソルフローを使用しています –

+0

あなたのデータに 'Nan'が含まれていないかどうかチェックしましたか? –

答えて

0

あなたの分母が0の場合、それはNanになります。あなたの分母に0.0000001のような少数を加えて考えてみましょう。

+0

K.clipは既にそれを行っています。 クリップの内容を確認できます。 –

関連する問題