【发布时间】:2017-03-08 09:08:11
【问题描述】:
我想设计我的自定义损失函数,它不仅包含两个输入(y_real 和 y_pred),但我不知道我是否可以做到以及如何做到。
我已经浏览了关于损失函数的答案,所有答案都只输入 y_real 和 y_pred。
但在我的项目中,真假预测的损失是不同的,例如 X1 与 (loss_T1,loss_F1),X2 与 (loss_T2, loss_F2)。
所以对于我的损失函数,我需要输入四个变量(y_real,y_pred,loss_T,loss_F)。 loss_T,loss_F 作为特征之一在 X (我的数据的每一行)内。
feature1 feature2 feature3 Loss_T Loss_F y
X1
X2
X3
有没有办法做到这一点?
感谢您的出色贡献。
【问题讨论】:
-
你的意思是你需要不同的样本(例如整个向量)不同的权重,不同的属性或不同的权重? (向量的元素)。
-
可以尝试为你的损失想出一个数学公式吗?
-
如果 loss_T 和 Loss_F 是您所说的特征,请将它们的值提供给一些占位符并使用 tensorflow 提供的基本数学运算来构建您的损失函数(例如 tf.add(x,y), tf.子(x,y),tf.square(x),tf.reduce_sum(x)等......)。 TensorFlow 将负责反向传播或其他更新。
-
@maz 不同样本的不同权重
-
@kaufmanu 我可以为它写一个新的损失函数,但是我需要为每个样本输入损失,我不知道在这种情况下如何传递参数。
标签: tensorflow keras