如何估计泛化误差?

人工智能 机器学习 深度神经网络 过拟合 计算学习理论 概括
2021-11-04 09:26:34

你如何估计泛化误差?实现这一目标的方法是什么?

3个回答

泛化误差是通过将模型应用于以前未见过的数据而获得的误差。因此,如果您想测量泛化误差,您需要从数据中删除一个子集,并且不要在其上训练您的模型。训练后,您可以在已删除的子集上验证模型的准确性(或其他性能指标),因为您的模型以前没有见过它。因此,这个子集称为测试集

此外,另一个子集也可以用于参数选择,我们称之为验证集我们不能使用训练集进行参数调整,因为它不能测量泛化误差,但我们也不能使用测试集,因为我们的参数调整会过度拟合测试数据。这就是为什么我们需要第三个子集。

最后,为了获得更多的预测性能指标,我们可以使用许多不同的训练/测试分区并对结果进行平均。这称为交叉验证

误差估计是一门历史悠久的学科。测试集方法只是估计泛化误差的一种方法。其他包括重新替换、交叉验证、引导、后验概率估计器和支持估计器。例如,在以下书籍中回顾了这些以及更多内容:Braga-Neto 和 Dougherty,“模式识别的错误估计”,IEEE-Wiley,2015 年。

除了一些经验性实验外,基本上无法测试。仅当您的过程实际上遵循您实际上并不知道为真的模型假设时,所有泛化界限才适用。