我是Keras,神经网络和Python的新手,但我非常渴望学习......我想使用我自己的自定义丢失函数,但由于有上述障碍我遇到了麻烦:)

这就是我想要完成的事情:

  • Y_true是一个浮点数,可以是负数也可以是正数

  • 模型将预测浮动也可以是负数或正数

  • 我想看看预测可以与Y_true值的符号(/ - )匹配多少次

  • 为此我将Y_pred和Y_true相乘(如果Y_pred和y_true具有相同的符号,则结果为正,如果它们不同则结果为负)

  • 然后我计算这个乘法结果中的正值和负值的数量,这样我就可以看到预测有多少次相同的符号和相反的次数

  • 最后我会回复这个比例

首先,我的问题是:这有意义吗?我是否正确y_pred和y_true将具有批量大小的形状?所以对于前者 . 批号为100,如果100个预测中的60个与y_true符号匹配,那么损失将为0.60?

其次,实际上我还没有代码:)这是伪代码:

def prediction_sign_accuracy(y_true, y_pred):
    y_sign_difference = y_pred * y_true
    pos_count = count number of positive values in y_sign_difference
    neg_count = count number of negative values in y_sign_difference
    if neg_count == 0:
      return a constant zero result
    else:
       return pos_count/neg_count

能帮我写一下~10行代码吗? :)这对其他人来说可能是显而易见的,但对我来说却是一个巨大的障

非常感谢提前和美好的一天,