【问题标题】:How to implemet weighted loss for imbalanced data for multi-label classification in tensorflowtensorflow中多标签分类的不平衡数据如何实现加权损失
【发布时间】:2018-06-09 18:55:34
【问题描述】:

我有一个不平衡的数据集,我的任务是多标签分类

这是我最小化损失的代码:

logits = inference(input)
xent = tf.nn.sigmoid_cross_entropy_with_logits(
        logits=logits, labels=labels, name='xent')
loss = tf.reduce_mean(xent, name='loss_op')

现在。我想使用weighted-loss 进行分类,我该怎么做? 我可以使用this link,并将softmax 替换为sigmoid 吗?

我已阅读this link,但我的情况不是二进制分类 在tensorflow_org 我认为它也是用于二进制分类。

【问题讨论】:

    标签: python tensorflow loss-function


    【解决方案1】:

    您可以使用tf.losses.compute_weighted_loss。我建议阅读the code 以确切了解此功能的工作原理,但您应该能够大致做到:

    logits = inference(input)
    xent = tf.nn.sigmoid_cross_entropy_with_logits(
        logits=logits, labels=labels, name='xent')
    weighted_loss = tf.losses.compute_weighted_loss(xent, YOUR_WEIGHTS, name='weighted_loss_op')
    

    【讨论】:

      猜你喜欢
      • 2017-11-11
      • 2016-05-11
      • 2019-08-16
      • 1970-01-01
      • 2019-01-24
      • 2017-11-01
      • 2019-08-05
      • 1970-01-01
      • 2022-06-28
      相关资源
      最近更新 更多