带回家的消息:
不幸的是,您引用的文本在方法 1 和 2 之间改变了两件事:
- 方法 2 执行交叉验证和数据驱动的模型选择/调整/优化
- 方法 1 既不使用交叉验证,也不使用数据驱动的模型选择/调整/优化。
- 在此处讨论的上下文中,没有数据驱动的模型选择/调整/优化的方法 3 交叉验证是完全可行的(恕我直言,恕我直言)
- 方法 4,没有交叉验证,但数据驱动的模型选择/调整/优化也是可能的,但构建起来更复杂。
恕我直言,交叉验证和数据驱动优化是设置建模策略的两个完全不同(并且很大程度上独立)的决策。唯一的联系是您可以使用交叉验证估计作为优化的目标函数。但是还有其他可以使用的目标函数,交叉验证估计还有其他用途(重要的是,您可以使用它们来验证您的模型,也就是验证或测试)
不幸的是,机器学习术语目前在恕我直言是一团糟,这表明这里存在错误的连接/原因/依赖关系。
当您查看方法 3(交叉验证不是为了优化,而是为了测量模型性能)时,您会发现“决策”交叉验证与对整个数据集的训练在这种情况下是错误的二分法:当使用交叉验证时为了衡量分类器的性能,交叉验证品质因数被用作对在整个数据集上训练的模型的估计。即方法3包括方法1。
现在,让我们看看第二个决定:数据驱动模型优化与否。这是恕我直言,这里的关键点。是的,在现实世界中,不进行数据驱动模型优化会更好。数据驱动的模型优化是有代价的。你可以这样想:你的数据集中的信息不仅用于估计p模型的参数/系数,但优化所做的是估计更多参数,即所谓的超参数。如果您将模型拟合和优化/调整过程描述为对模型参数的搜索,那么这种超参数优化意味着要考虑更大的搜索空间。换句话说,在方法 1(和 3)中,您通过指定这些超参数来限制搜索空间。您的真实世界数据集可能足够大(包含足够的信息)以允许在该受限搜索空间内进行拟合,但不足以在方法 2(和 4)的更大搜索空间中足够好地修复所有参数。
事实上,在我的领域中,我经常不得不处理太小而无法考虑数据驱动优化的数据集。那么我该怎么做:我使用我关于数据和数据生成过程的领域知识来决定哪个模型与数据和应用程序的物理性质匹配得很好。在这些范围内,我仍然必须限制我的模型复杂性。