我们知道,同一个问题,可采用多种机器学习模型来解决,那如何评价这些模型的好坏呢?这时,就需要构建一系列“靠谱”的标准。因此,提及机器学习,性能评估是一个绕不开的话题。
训练误差与测试误差
性能评估,主要用于反映所构建学习模型的效果。在预测问题中,要评估模型的性能,就得将预测结果和真实标注进行比较。对于监督学习而言,假设我们有 m 个样本,其中有 a 个被模型错误分类,那么一种简易的评价标准—分类错误率(error rate)可以定义为 a/m。
通常,我们将学习模型在训练集上的误差称为训练误差(training error),将在测试集上的误差称为测试误差(test error),而将在新样本上的误差称为泛化误差(generalization error)。这里的“泛化”,是指模型在新情况、新样本上的性能表现,你也可以把它理解为“通用”。
显然,训练模型的终极目的,不仅是希望它在训练集上表现很好,还希望它在新环境中对新样本表现也不逊色。机器学习算法对于新样本的适应能力,称为泛化能力。
这就好比,如果在家里我们把孩子训练得服服帖帖,事事符合我们的预期,这可能并非好事,因为孩子最终还是要走出家门,踏上社会。如果在新环境下,孩子还能表现得适应能力很强(用机器学习的术语来说,就是泛化能力强),这才是我们想要的。
然而,在新样本到来之前,我们根本不知道它是什么模样。因此,借助所谓的“新样本”,提升模型的泛化能力,只是一个美好的梦想。通常,我们能做的就是,把所能拿到的数据一分为二,一部分用作训练,一部分用作测试。这里用作测试的集合,由于不参与训练,因此在功能上相当于新样本。
训练模型时,一开始的训练误差和测试误差都比较高,随着训练的次数增加(模型的复杂度也因此提升),训练误差会越来越小,但测试误差可能会越来越大,我们需要平衡(tradeoff)训练误差和测试误差,让它们达到一个取舍均衡点,如图 1 所示。

本文探讨了机器学习中如何评价模型的优劣,重点讲解了训练误差与测试误差、过拟合和欠拟合的概念,并强调了模型选择与泛化能力的重要性。通过实例解释了如何平衡训练误差与测试误差,以及如何通过正则化防止过拟合,以提高模型的泛化性能。
最低0.47元/天 解锁文章
445

被折叠的 条评论
为什么被折叠?



