在Keras中,我有一个y_true的目标向量,它适合于具有一个输出神经元的网络。 y_true = [0,1,0,1,1 ....]我有一些收益[1,1,1,-5,1 ...]
我试图将支付作为额外参数放入keras的自定义损失函数中。 Keras只允许将两个参数传递给它(y_true和y_pred),但我还想传递分配给每个样本的支付。为此,我在y_true中添加了第二列,其中包含这些值。
然后我尝试通过执行以下操作在损失函数中再次分离实际的y_true(第一列)和支付(第二列):
color: rgba(var(--color), 1)
这是我想要做的简化版本(在真实版本中,我将把收益整合到损失函数中)。但是对于上面的例子,我希望loss函数与只调用binary_cross entropy直接相同,y_true只包含y_true(没有任何支付)。
然而,结果并不像预期的那样,因为上面的自定义损失函数的精度值大约是一半。
导致此错误的原因是什么?我没有正确切割y_true吗?
问题与this post中描述的问题有关(curiale在2017年12月12日的评论建议使用slice_stack,但问题是相同的。)
答案 0 :(得分:1)
我认为问题在于我还需要自定义指标功能。