我正在使用卷积神经网络 (CNN),我只想问一下我拆分训练/验证/测试集的方式是否正确。
我一共有55个科目。我计划将它们分成 80-10-10 用于训练(45 个科目)、验证(看不见的 5 个科目)、测试(看不见的 6 个科目)。
验证集是否也应该包含看不见的主题?或者我可以打乱整个训练集并使用其中的一部分(10-20%)作为验证集吗?
我读过使用 N 折交叉验证,整个训练集(实例)被打乱然后分成 N 折,模型被训练和平均 N 次。然而,对于神经网络或 CNN,我们不使用交叉验证,因为它的计算成本非常高。
我只是想知道哪个是正确的,因为使用了一组未见过的主题的验证,我的模型在 3-5 个时期后开始过度拟合并且根本不学习。另一方面,如果我使用 10-20% 的训练集作为我的验证集,我的模型使用 3 层 CNN 以合理的准确度 (45-50%) 学习,但是当使用看不见的测试集进行测试时,我的最佳-1 准确度仅为 15-16% 左右。
非常感谢你。