本文介绍了如何正确计算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变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 03:00