问题
我想用可变相关性的数据训练 keras2 神经网络(theano 后端)。这意味着某些样本不如其他样本重要。他们对训练的影响比其他人小。但是,我无法完全忽略它们(我有一个进入 Conv1D
层的时间序列)。
问题
如何告诉 keras 在训练期间对某些训练数据样本的权重小于其他样本?
想法
我正在考虑定义一个自己的 loss function它将 y_true 、 y_pred 和 y_weight 作为第三个参数。像这样的东西:
def mean_squared_error_weighted(y_true, y_pred, y_weight):
return y_weight * K.mean(K.square(y_pred - y_true), axis=-1)
但是我如何让 keras 知道第三个参数呢?
最佳答案
fit
keras 模型的函数接受一个可选参数 sample_weight
,它正是您正在寻找的。更具体地来自 keras 文档:
sample_weight: Optional Numpy array of weights for the training samples, used for weighting the loss function (during training only).
关于python - Keras 的训练数据权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844536/