如何获取我编写的此损失函数的y_true
和y_pred
值:
def kullback_leibler_divergence(y_true, y_pred):
y_true = K.clip(y_true, K.epsilon(), 1)
y_pred = K.clip(y_pred, K.epsilon(), 1)
return K.sum(y_true * K.log(y_true / y_pred), axis=-1)
答案 0 :(得分:1)
我不确定这是否有帮助,但是在机器学习中
y_true
指的是真实值,即原始标签。
y_pred
是您的分类器的预测,因此y_pred = clf.predict(y_true)
损失函数实质上是计算预测与“真实”标签之间的距离。
答案 1 :(得分:1)
据我所知,这可能很有用。您可以使用from tensorflow.keras import backend as K
使用y_true,y_pred来计算任何内容,如以下示例所示
编译时,应将函数**添加到损失**中。那么它将提供y_true,y_pred值。
损失:字符串(目标函数的名称),目标函数或tf.keras.losses.Loss实例。请参阅tf.keras.loss。 目标函数是任何可调用的,其签名损失= fn(y_true,y_pred)
# compile the model
model.compile(optimizer='adam', loss=kullback_leibler_divergence, metrics=['accuracy'])