我在使用CNN对10种手势进行分类,每种手势有100张图片。我构建的模型在训练数据上的准确率约为97%,而在测试数据上的准确率为89%。我能说我的模型过拟合了吗,还是这样的准确率图(如下所示)是可以接受的?
回答:
向训练集添加更多数据
当你的训练集中有大量数据(各种实例)时,创建一个过拟合模型是可行的。
示例:假设你想检测一种手势,比如“竖起大拇指”(二分类问题),你用大约1000张图片创建了你的正样本训练集,这些图片经过旋转、平移、缩放,不同的颜色、角度、视角变化,背景杂乱等处理。如果你的训练准确率为99%,你的测试准确率也会非常接近。
因为我们的训练集足够大,能够覆盖所有正类实例,所以即使模型过拟合,它在测试集上的表现也会很好,因为测试集中的实例只是训练集实例的轻微变化。
在你的情况下,你的模型已经很好,但如果你能添加更多数据,你会获得更高的准确率。
添加什么样的数据?
手动检查模型错误分类的测试样本,寻找模式。如果你能找出哪些类型的样本出现了错误,你可以将这种类型的样本添加到你的训练集中,然后重新训练。