验证/训练准确性和过拟合

机器算法验证 机器学习 交叉验证 验证 过拟合 准确性
2022-03-22 19:17:55

如果我们将数据随机分成训练数据和验证数据,并假设训练数据和验证数据具有相似的“分布”,即它们都是整个数据集的良好表示。

在这种情况下,如果没有过拟合,验证准确率是否应该始终与训练准确率大致相同?或者,在某些情况下,训练和验证准确性之间可能存在“内在”差距,这不是由于验证数据的过度拟合或错误表示造成的?

如果存在这种“内在”差距,如何判断训练和验证准确率之间的差距是“内在的”还是由过度拟合引起的?

2个回答

在这种情况下,如果没有过拟合,验证准确率是否应该始终与训练准确率大致相同?

这里有几点:“准确性”和“损失/错误/成本”是两个独立的概念。准确度”通常用于分类问题,计算为正确分类输入的百分比。这使它成为一个相当嘈杂的措施。

损失/错误/成本”是更好的性能衡量标准,可以更轻松地进行数学分析。如果可以的话,我会将您的问题重新表述为:

“即使数据没有过度拟合或错误表示,训练误差是否 总是小于验证误差?”

并非总是如此,因为这些是随机数量。因此,对于数据集 + 训练验证拆分 + 模型的特定组合,验证误差可能低于训练误差。但是验证错误的期望(粗红线)会高于训练错误的期望(粗蓝线):

在此处输入图像描述

(图片来源:ESL第 7 章)。

尽管训练和验证数据来自相同的分布,但我们希望模型在训练时比在验证集中测试时表现更好。

忽略数据中由噪声引起的不可约误差,每个模型都会与一些偏差方差相关联。没有完美的模型。

我们预计验证集上的偏差和方差的组合要高于训练集。这是因为拟合模型以牺牲验证集错误为代价最小化了训练集错误。

有趣的问题!我能想到的唯一情况是当数据来自非常高维空间(例如真实世界的图像)时,即使您的训练和验证集大致代表真实分布,分布也会非常稀疏。然后很容易发生验证集中的样本在训练集中的代表性不足,即使模型没有过度拟合。

交叉验证应该能够揭示这种现象(可能是每个折叠的准确度分布中的异常值)。