gpt4 book ai didi

python - 分类任务,测试集分布不同时结果不同

转载 作者:行者123 更新时间:2023-11-30 09:43:04 26 4
gpt4 key购买 nike

我正在使用卷积网络对图像进行分类。多类问题(有 12 类)

我的训练集是 3500 张图像,类别不平衡(例如 A 类 = 1200 张图像,B 类 = 50 张图像)。我使用类别权重来对抗不平衡,并使用数据增强

编辑数据增强是使用keras函数,仅进行旋转和翻转。我只增加训练集

由于我的一些类(class)的数据非常小,因此我将 60% 的训练/20% 的验证/20% 的测试集分开(即对于 B 类,我有 30 个训练数据/10 个验证数据/10 个测试数据)

然后我做了不同的分割,每次都有不同的训练/验证和测试数据结果稳定 => 我的指标(微 F1 分数)不会因不同的分割而发生很大变化,并且混淆矩阵显示没有类别效应:不同的分割并不意味着给定类别的不同结果

现在,我将我的模型应用到没有标签的集合上。大约 10 000 张图像。结果非常差:当我在测试集上获得 B 类精度分数 60% 时,对于没有标签的集合,我的精度约为 5%

我的问题:

会不会是过度拟合了?当我停止训练模型时,训练损失 = 0.3/训练 F1 = 95%。验证损失=0.7/验证F1=80%我不这么认为,因为验证损失不会增加(我在增加之前停止模型)

我可以调查什么来理解为什么我的结果在包含 10 000 个数据的新集合上如此糟糕(当我说我的结果时,我谈论的是精度,因为这是我可以轻松计算某些类的唯一一个指标)

最佳答案

您可能过度拟合,因为您的模型正在学习一小组经过增强的 B 类图像。增强会产生更多数据,但图像内容本质上保持不变。如果你的新的未标记的 B 类图像与训练图像相似,那么你不应该遇到这个问题,但如果它们不同,那么你就会遇到这个问题。也可以在增强图像上训练模型,但仅在原始图像上进行验证,以防止过度拟合并帮助模型更好地泛化。看看这个link .

您可以尝试的另一件事是从其他类别中获取小样本并训练一个不进行增强的新模型,然后测试图像。这将使您清楚模型是否过度拟合增强数据。

如果您只在 Keras 中进行基本增强,您也可以尝试 GAN 等高级增强技术。如果可能的话,使用增强步骤更新您的问题。

关于python - 分类任务,测试集分布不同时结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56446585/

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