编辑:这实际上是一个被零除的错误。:(
我在 Keras 中创建了一个度量函数来计算平均小数误差;也就是说,对于每个实际/预测对,我计算abs(actual - predict)/actual,然后找到所有数据的平均值。代码如下。
def avg_frac_error(y_actual, y_pred):
return K.mean(K.abs(y_actual - y_pred)/ y_actual)
在小型数据集(例如 6,000 个标量值)上应用该指标时,可以准确生成结果。在较大的值(10,000 个值)上计算时,结果为inf。我怀疑它在 K.mean 上失败了,因为当我尝试手动计算平均值时也会发生同样的情况。我已经测试了 tensorflow 和 theano 后端。
我可以采取什么解决方法来计算平均值?