1

在我的项目中,负例远远多于正例,所以我想给正例更大的权重。我的目标是:

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

如何在张量流中实现这一点[?]

4

1 回答 1

1

losses成为您批次中示例的损失值的向量(rank-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 和等于 0 的示例。然后将元素w_neg乘以根据相应的标签对中的值进行加权,然后取平均值。weightslosseslosses

于 2017-04-07T08:55:16.337 回答