machine-learning - Tensorflow 中的加权训练示例

标签 machine-learning tensorflow statistics neural-network

给定一组用于训练神经网络的训练示例,我们希望为训练中的各种示例赋予或多或少的权重。我们根据示例“值”(例如有效性或置信度)的某些标准对每个示例应用 0.0 到 1.0 之间的权重。如何在 Tensorflow 中实现这一点,特别是在使用 tf.nn.sparse_softmax_cross_entropy_with_logits() 时?

最佳答案

在最常见的情况下,您使用形状为 [batch_size, num_classes]logits 调用 tf.nn.sparse_softmax_cross_entropy_with_logits labels 形状为 [batch_size],该函数返回形状为 batch_size 的张量。您可以将此张量与权重张量相乘,然后将它们减少为单个损失值:

weights = tf.placeholder(name="loss_weights", shape=[None], dtype=tf.float32)
loss_per_example = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)
loss = tf.reduce_mean(weights * loss_per_example)

关于machine-learning - Tensorflow 中的加权训练示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867942/

相关文章:

machine-learning - 如何将两种(或多种)特征组合为一个最终特征来构建分类模型?

machine-learning - 如何使用Tensorflow在卷积网络中的全连接层之后添加回归头?

python - tf.layers.dense 如何创建inputs.kernel 权重矩阵?

python - TensorFlow:TypeError:不允许将 `tf.Tensor` 用作 Python `bool`

Z3中的统计

r - 估计 Cohen's d 的效果大小

machine-learning - 垃圾邮件检测中精确率和召回率的混淆

tensorflow - 使用 JointDistributionSequential 的 Tensorflow 概率层次模型

python - 使用tensorflow求解代数时,训练后所有变量都变成了nan

statistics - Weka 朴素贝叶斯输出中的 "prediction"列是如何计算的?