[大家好,我正在使用keras来构建DeepNN来预测时间序列,更具体地说,我正在使用Conv1D,因此输入是具有这种形状的张量:
[samples, window_size, 1]
input_2 = Input(shape=(window_size, 1),name= "input_CNN")
我的问题是,我希望有一个自定义指标,该指标需要接收3个参数,而不是2个标准y_pred
和y_true
。这是因为我的指标需要安全地计算,因为它不依赖于可能等于零的值的除法(例如,当𝑌𝑡= 0时以百分比误差表示)。我的指标的完整公式如下所示:
如何传递y_true_N并具有类似的度量函数?
def rmsse(y_true, y_pred, y_true_N):
N = len(y_true)
numerator = K.mean(K.square(y_true - y_pred))
denominator = K.mean(K.square(y_true_N[1:N]-y_true_N[0:N-1]))
return K.sqrt(numerator/denominator)
其中y_true_N
对应于训练中的所有目标值,而y_true
和y_pred
对应于验证中的目标。我希望我已经清楚了,如果有人举一个例子,请告诉我如何获得它?在此先感谢
考虑到您的分母是您所报告的定义的固定数量,我认为在外部的损失函数中定义第三个输入没有问题