gpt4 book ai didi

python - 如何在不均匀的多类数据集上使用数据增强?

转载 作者:行者123 更新时间:2023-11-30 08:34:39 25 4
gpt4 key购买 nike

我有 12 个类(图像),每个类中的数据分布不均匀。

如下(所有图片):

X1 = 16

X2 = 203

X3 = 192

X4 = 220

X5 = 172

X6 = 143

X7 = 22

X8 = 89

X9 = 31

X10 = 89

X11 = 10

X12 = 204

我正在尝试使用给定的数据集训练 CNN。我想知道是否应该仅将数据增强应用于数据较少的类,还是应用于所有类?有人训练过和我类似的模型吗?另外,我应该使用什么架构的 CNN?我已经使用过这个(通过将数据增强应用于所有类),但我停止了,因为准确率约为 14%(我在第一个时期之间停止了)

model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=input_shape)) # input_shape = (150,150)
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(12))
model.add(Activation('sigmoid'))

如有任何帮助,我们将不胜感激。如果有人有任何建议,我想听听。最近心情不好。

最佳答案

您的数据中有 12 个类别,总共 1391 张图像。您最常见的类别是 X4,包含 220 张图像(= 总数据的 15.8%)。 15.8% 的准确度是您应该超越的基线分数。你提前停止了训练,你应该训练一些时期,看看进展如何。

您只有 1391 张图像,数据增强是不可避免的。您可以在所有类别上尝试增强,然后尝试添加类别权重以查看分数是否会变得更好。

您可以填写 class_weight 字典并用它来拟合您的模型:

class_weight = {0 : 1,    1: 1,    2: 5, ....}
model.fit(X_train, Y_train, nb_epoch=5, batch_size=32, class_weight=class_weight)

关于python - 如何在不均匀的多类数据集上使用数据增强?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50687651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com