过拟合违背了机器学习模型的目的。通过将模型泛化至新数据,最终我们能够每天使用机器学习算法做出预测,并对数据进行分类。
在构建机器学习算法时,会利用样本 数据集来训练模型。但是,当模型针对样本数据训练时间过长或模型过于复杂时,它会开始学习数据集中的“噪声”或无关信息。当模型记住了噪声并过于贴近训练集时,模型就会变得“过拟合”,无法很好地泛化到新数据中。如果模型无法很好地泛化到新数据,则它将无法执行其预期的分类或预测任务。
低错误率和高方差是过拟合的明显标志。为了防止出现这种行为,通常会将部分训练数据集留作“测试集”,用来检查是否存在过拟合。如果训练数据的错误率较低,而测试数据的错误率较高,则表明存在过拟合。
如果过度训练模型或模型过于复杂导致出现过拟合,那么逻辑上的预防应对措施就是提前暂停训练过程(也称为"早停法"),或者通过消除不太相关的输入来降低模型的复杂性。但是,如果过早暂停或排除太多重要特征,就可能会走向另一个极端,即模型欠拟合。当模型没有训练足够长的时间,或者输入变量不够显著,无法确定输入变量和输出变量之间的有意义关系时,就会发生欠拟合。
在这两种情况下,模型都无法在训练数据集中确定主导趋势。因此,对于看不见的数据,欠拟合的泛化效果也很差。然而,与过拟合不同,欠拟合的模型在预测时的偏差较高,方差较小。过拟合与欠拟合说明了偏差方差权衡,在欠拟合的模型转变为过拟合状态时,就会发生这种情况。随着模型不断学习,其偏差会减小,但在过拟合状态下,其方差可能会增加。拟合模型时,目标是在欠拟合和过拟合之间找到“最佳点”,以便确定主导趋势,并将其广泛应用于新数据集。
要了解机器学习模型的准确性,必须测试模型的拟合度。K 折交叉验证是最常用的模型准确性评估技术之一。
在 K 折交叉验证中,数据被拆分为 k 个大小相等的子集,这些子集也称为“折叠”。其中一个“k 折”将充当测试集,也称为留出集或验证集,其余“折叠”则用于训练模型。不断重复这个过程,直到每个“折叠”都用作留出“折叠”。每次评估后,都会保留一个分数,在完成所有迭代后,会求这些分数的平均值,用于评估整个模型的性能。
虽然使用线性模型有助于我们避免过拟合,但许多现实问题是非线性的。除了了解如何检测过拟合之外,了解如何避免过拟合也很重要。以下是一些可以用来防止过拟合的技术:
上文介绍了过拟合的公认定义,但最近的研究 表明,复杂的模型(如深度学习模型和神经网络)尽管被训练为“完全拟合或插值”,仍能以高精度运行。这一发现与该主题下的历史研究结果不一致,而下文的“双下降”风险曲线给出了进一步解释。您可以看到,当模型学习超过插值阈值时,模型的性能会提高。我们前面提到的避免过拟合的方法(例如早停法和正则化)实际上可以防止插值。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。