首页 > 解决方案 > 当输出不等概率时如何提高准确性?

问题描述

我有一个图像分类器,每个图像都有 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
=================================================================

标签: pythontensorflowkerasclassificationmultilabel-classification

解决方案


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


推荐阅读