问题
我想用可变相关数据训练keras2神经网络(theano后端)。这意味着一些样本不如其他样本重要。他们对培训的影响要小于其他人。但是,我无法完全省略它们(我有一个时间序列进入Conv1D
层)。
问题
我如何告诉keras在训练期间对某些训练数据样本的权重低于其他样本?
观
我正考虑定义一个以y_true
,y_pred
和y_weight
作为第三个参数的https://docs.gradle.org/current/userguide/signing_plugin.html。类似的东西:
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知道第三个论点?
答案 0 :(得分:3)
keras模型的fit
函数接受一个可选参数sample_weight
,它完全符合您的要求。更具体地说,来自keras文档:
sample_weight :训练样本的可选Numpy权重数组,用于加权损失函数(仅限训练期间)。