具有三个参数的keras中的自定义指标

问题描述 投票:0回答:1

[大家好,我正在使用keras来构建DeepNN来预测时间序列,更具体地说,我正在使用Conv1D,因此输入是具有这种形状的张量:

[samples, window_size, 1]
input_2  = Input(shape=(window_size, 1),name= "input_CNN")

我的问题是,我希望有一个自定义指标,该指标需要接收3个参数,而不是2个标准y_predy_true。这是因为我的指标需要安全地计算,因为它不依赖于可能等于零的值的除法(例如,当𝑌𝑡= 0时以百分比误差表示)。我的指标的完整公式如下所示:enter image description here

如何传递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_truey_pred对应于验证中的目标。我希望我已经清楚了,如果有人举一个例子,请告诉我如何获得它?在此先感谢

python tensorflow keras time-series metrics
1个回答
0
投票

考虑到您的分母是您所报告的定义的固定数量,我认为在外部的损​​失函数中定义第三个输入没有问题

© www.soinside.com 2019 - 2024. All rights reserved.