趋近智
正如我们在上一节讨论的,仅依赖一次训练-测试集划分有时可能会给出过于乐观或悲观的性能估计,这仅仅是因为数据划分的偶然性。如果您的测试集碰巧包含了异常容易或困难的例子,您的评估指标可能无法准确反映模型在不同未见数据上的表现。
为了获得对模型性能更可靠的估计,可以采用一种方法:多次重复数据划分和测试过程,使用不同的子集进行测试并取平均结果。这就是**交叉验证(CV)**的主要思想。
交叉验证通过系统地使用数据的不同部分进行测试和训练,提供了更可靠的模型性能衡量标准。它有助于平滑因单次训练-测试集划分可能产生的差异。
想象一下您有一个数据集。与其只将其分成两部分(训练集和测试集),您可以将其分成几个相等的部分,通常称为“折叠(folds)”。假设您将其分成5个折叠(这是一个常见的选择)。
这个过程通常是这样进行的:
下图说明了使用5个折叠的此过程:
5折交叉验证视图。数据集被分成5个折叠。在每次迭代中,一个不同的折叠用作测试集(红色),而其余折叠用于训练(绿色)。性能在所有迭代中取平均值。
通过在数据的多个独立子集上测试模型,交叉验证大大降低了评估结果因某次特别“幸运”或“不幸”的划分而出现偏差的可能性。每个数据点都用于训练和测试(尽管从不在同一次迭代中),从而提供了更全面的评估。由此产生的平均性能得分通常更能稳定可靠地表明您的模型对以前未遇到的新数据的泛化能力。
这是对交叉验证的初步介绍。有多种实现方式(例如K折交叉验证、分层K折交叉验证等),它们涉及到折叠如何创建和使用的具体细节。这些方法对更细致的模型评估和比较十分有用,在您深入学习机器学习时,会经常看到它们。目前,需要记住的要点是这个原理:在数据的多个不同子集上进行评估,以获得更可靠的性能估计。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造