我有一个方法论问题:坚持和CV泛化优化技术相互排斥吗?有时我会感到很困惑,因为在最近的项目中,我做了如下工作:
通常情况下,当我看到像这样的结果时,我的直接反应是假设我对火车过于适合,而且模型的推广不够好。然而,我已经使用了与火车设置的简历,以确保我正在调整模型,以尽可能概括。我现在没有任何直接的工具(也不应该碰一下已经受过训练的模型)来提高这个分数,因为我理解了持久化技术,它只是给出了我的模型如何在以前看不见的数据上表现的最后分数。
同时,这感觉有点奇怪,因为使用简历和坚持,我保证在等待集(测试在我上面的文本),这将失败。
有什么建议或想法吗?
发布于 2019-05-15 03:51:23
您是正确的,因为当您的模型调优时。网格搜索技术上没有泄漏任何数据。但是,回想一下调优您的模型(via )。一个特定的过程,如网格搜索),是您可能在拟合模型管道时可能采取的许多步骤之一。特别是预处理、特征工程、估算、模型优化、数据聚合等领域。测试集的重点是捕捉整个建模过程,而不仅仅是模型优化的过程。
此外,众所周知,在模型调优期间报告的验证分数往往具有乐观的偏倚(对于较小的数据集,这种偏差往往更糟)。这是因为,发现一组超参数的概率越高,这些参数恰好将验证集的错误降到最小,而不是对总体(即,对验证集的过度拟合)。假设理论上将您的模型调到一百万种不同的超参数组合。选择一组虚假的超参数(即仅对验证集来说是最优的)的概率现在相当大,因为您选择了大量的可能的候选人来尝试。
对于测试集,这仍然不能防止过度适应验证集。但是,它将允许您检测问题并给出模型性能的真正无偏见度量。
同时,这感觉有点奇怪,因为使用简历和坚持,我保证在等待集(测试在我上面的文本),这将失败。
实际上,这是交叉验证和数据分割的一个主要缺点,特别是对于较小的数据集(包含大量异常值/噪声)。基本上,您所观察到的性能度量与首先如何分割数据(即,您在拆分数据时选择的种子可能会导致估计模型性能的巨大变化取决于您的异常值落在何处)往往是高度可变的。不幸的是,这个解决方案并不是很有魅力,而且很费时。为了在我们的估计中获得更多的确定性,我们需要的不仅仅是一个模型性能的单一估计。因此,只需使用不同的数据分区(不同的测试集)再次重复整个模型构建过程。无论重复多少次,平均每次都要重复。可能的话,形成一个置信区间,让你自己看看你的模型的性能有多大的变化。
我还会注意到,有其他方法可以解决这个问题,例如“乐观调整的自举”,但最近出现的问题表明,尽管这种方法比交叉验证更有效,但对于高维数据,这种方法的效果并不好。由于高维数据是现在的常态,我有我的怀疑,但也许它可能对你们有用。
https://datascience.stackexchange.com/questions/51984
复制相似问题