本文介绍了如何正确计算tf.nn.weighted_cross_entropy_with_logits pos_weight变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用卷积神经网络.
I am using convolution neural network.
我的数据非常不平衡,我有两个类.
My data is quite imbalanced, I have two classes.
我的第一堂课包含:551,462个图像文件
My first class contains: 551,462 image files
我的第二堂课包含:52,377个图像文件
My second class contains: 52,377 image files
我想使用weighted_cross_entropy_with_logits
,但是我不确定我是否正确计算了pos_weight
变量.
I want to use weighted_cross_entropy_with_logits
, but I'm not sure I'm calculating pos_weight
variable correctly.
现在我正在使用
classes_weights = tf.constant([0.0949784, 1.0])
cross_entropy = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=logits, targets=y_, pos_weight=classes_weights))
train_step = tf.train.AdamOptimizer(LEARNING_RATE, epsilon=1e-03).minimize(
cross_entropy
, global_step=global_step
)
或者我应该使用
classes_weights = 10.5287
推荐答案
来自文档:
和
因此,如果您的头等舱课程为正,则为pos_weights = 52,377 / 551,462
,否则为551,462 / 52,377
So if your first class is positive, then pos_weights = 52,377 / 551,462
, otherwise 551,462 / 52,377
这篇关于如何正确计算tf.nn.weighted_cross_entropy_with_logits pos_weight变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!