python - Keras 的训练数据权重

标签 python keras keras-2

问题

我想用可变相关性的数据训练 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/

相关文章:

python - 将 PIL 黑白图像转换为 Numpy 数组时出错

keras - 用于生成 300 * 300 * 3 图像的 GAN 生成器和判别器模型的架构应该是什么?

callback - 凯拉斯 2.0.0 : how to access and modify the training data in the callback function "on_epoch_end()"?

python - 为什么 cross_val_scores 运行良好但 cv.splits 显示错误?

python - 基本 Anagram VS 更高级的 Anagram

python - Django 中的模板包含和静态包含有什么区别?

python - 如何在Keras中实现CRelu?

python - CNN with keras,精度保持不变,没有提高

python-3.x - 在 Keras 中使用单热编码创建模型

python - 喀拉斯 2 : Using lambda function in "Merge" layers