验证准确度是否总是可能与训练准确度一样高?

数据挖掘 深度学习 喀拉斯
2022-01-27 09:42:25

我有一个非常小的数据集(40 个训练示例,10 个验证示例,120 个类),我使用 Keras 中的一个非常简单的模型(仅限批量标准化、展平和密集层)获得了非常高的准确度。

我的训练准确率为 94-95%,验证准确率为 76-78%。我知道它过度拟合,我已经尝试了一些东西。数据不是图像,所以我无法扩充数据。我也无法添加数据,因为它是一种特定类型。我使用了两个 0.5 级的 dropout 层,而且架构非常简单,所以我认为我无法降低架构的复杂性。如果有人喜欢,我可以粘贴模型。

我的问题是:是否存在验证准确度不能像训练准确度一样高的情况?是否存在基于数据集大小的限制?还是验证准确度总是可以匹配训练准确度,而网络只需要正确的参数?

1个回答

是的,有可能出现验证准确率不能像训练准确率一样高的情况。任何训练集中的噪声(与特征集的可泛化属性相反)更能预测训练集中的目标变量的情况都会产生这种情况。

考虑一种情况,其中所考虑的训练样本的随机属性是完全可预测的,但发现对于样本之外的所有其他示例并非如此。训练集中的预测能力将是完美的,但在训练集之外,则不够完美。这种现象被广泛称为“过拟合”。

例如,假设您有一组水果数据,并且您试图确定给定水果是橙子还是橘子。您有 4 个特征 - 围绕茎中轴的水果周长、水果穿过茎的高度、果皮色调的数值以及主场公园位于的业余棒球队的第一个字母离水果种植地最近的地方。让我们想象一下,由于某种莫名其妙的巧合,训练集中的棒球队字母完美地预测了水果是橘子还是橙子。

我们可以想象,这在全国或世界范围内都不会成立,这会产生训练集准确率完美,但验证集准确率无法使用相同方法接近的情况。