私は傾斜損失を計算しようとしていますが、これはKerasで使用されます。しかし、私は負の損失値を得ているので、何か間違ったことをしているに違いありません(不可能でなければなりません)。私が間違っていたことを誰でも指摘することはできますか?私はそれが私が間違っているtheanoの構文だと仮定しています。theanoの傾斜損失
損失は数学的に次のように定義されます どこ$ \ xi_i = Y_I - $ Y_I $が観察され、$のf_i $が予測されたf_iの$。 $ I()$は、インジケータ関数であり、真の場合の値に1をとる
$$
\mathcal{L} = \frac{\alpha\sum \xi_i-\sum I(\xi_i<0)\xi_i}{N}
$$
:さらに私は、このように私は私のよう損失関数を定義した、平均損失の後にしています。
次のようしたがって私の損失関数が定義されている:
def tilted_loss2(y,f):
q = 0.05
e = (y-f)
return (q*tt.sum(e)-tt.sum(e[e<0]))/e.shape[0]
しかし、私は自分のネットワークを実行したとき、私は負の値を取得します。ここのtheano構文に何か問題はありますか?私の最大の疑惑はここにあります:tt.sum(e[e<0]))
。このようにスライスできますか?
どのような考えにも感謝します。