张量流中定义的损失函数?

时间:2017-04-07 08:47:22

标签: tensorflow loss

在我的项目中,负面实例远远超过正面实例,因此我想给出具有更大权重的正面实例。 我的目标是:

loss = 0.0
if y_label==1:loss += 100 * cross_entropy
else:loss += cross_entropy

如何在张量流[?]

中实现这一点

1 个答案:

答案 0 :(得分:1)

losses成为批次中示例的损失值的向量(等级-1张量)。让y成为相应标签的向量。然后,您可以通过

获得所需的结果
weights = w_pos*y + w_neg*(1.0-y)
loss = tf.reduce_mean(weights*losses)

此处,w_posw_neg是常量标量值(示例中为w_pos=100.0w_neg=1.0)。然后,向量weights的值为w_pos,其中标签等于1,w_neg为等于0.然后将weights元素与{{1}相乘根据相应的标签权衡losses中的值,然后取均值。