权衡 Keras 的训练数据

asc*_*ter 3 python keras keras-2

问题

我想用可变相关性数据训练 keras2 神经网络(theano 后端)。这意味着某些样本不如其他样本重要。他们对培训的影响要小于其他人。但是我不能简单地完全省略它们(我有一个进入Conv1D层的时间序列)。

我如何告诉 keras 在训练期间对某些训练数据样本的权重小于其他样本?

主意

我在想定义自己的损失函数是需要y_truey_predy_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)
Run Code Online (Sandbox Code Playgroud)

但是我如何让 keras 知道第三个参数?

S.M*_* sh 8

fitkeras 模型的函数接受一个可选参数sample_weight,该参数完全符合您的要求。更具体地说,来自 keras 文档:

sample_weight:训练样本的可选 Numpy 权重数组,用于对损失函数进行加权(仅在训练期间)。