【问题标题】:How to improve accuracy when outputs not equiprobable?当输出不等概率时如何提高准确性?
【发布时间】:2019-12-11 12:32:48
【问题描述】:

我有一个图像分类器,每个图像都有 5 个标签 [0-4] 中的一个。我已经达到了大约 72% 的准确率墙,并且正在寻找克服它的方法。我注意到我的课程 [在我的训练集中] 在 0 中非常“重”,在 4 中“重”少一点。 1's、2's 和 3's 不太常见。

所以:

1) 这可能是导致我的不准确问题的一个因素吗? 1a) 我如何确定?

2) 如果是这样,我该如何处理?

这是目前的模型。我一直在调整参数:

Layer (type)                 Output Shape              Param #
=================================================================
conv2d_1 (Conv2D)            (32, 318, 318, 4)         112
_________________________________________________________________
conv2d_2 (Conv2D)            (32, 318, 318, 4)         148
_________________________________________________________________
conv2d_5 (Conv2D)            (32, 318, 318, 4)         148
_________________________________________________________________
conv2d_6 (Conv2D)            (32, 318, 318, 4)         148
_________________________________________________________________
max_pooling2d (MaxPooling2D) (32, 106, 106, 4)         0
_________________________________________________________________
flatten (Flatten)            (32, 44944)               0
_________________________________________________________________
d0 (Dense)                   (32, 16)                  719120
_________________________________________________________________
softmax_d1 (Dense)           (32, 5)                   85
=================================================================

【问题讨论】:

  • 首先,我们应该确定模型遇到了哪些类问题。你能在评估集预测上打印一个混淆矩阵并用它更新你的帖子吗?

标签: python tensorflow keras classification multilabel-classification


【解决方案1】:

1 - 如果不平衡度很高,这可能会导致不准确。
2 - 您可以在model.fit(class_weight={0: w0, 1: w1, 2: w2, 3: w3) 中使用class_weight 来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2014-09-18
    相关资源
    最近更新 更多