ML |机器学习模型如何检测和预防过拟合?

简介: ML |机器学习模型如何检测和预防过拟合?

ml_overfit

「过拟合」(overfitting)也称为过学习,它的直观表现是算法在训练集上表现好,但在测试集上表现不好,泛化性能差。同理,「欠拟合」(underfitting)也称为欠学习,它的直观表现是算法训练得到的模型在训练集上表现差,没有学到数据的规律。过拟合和欠拟合会导致模型在未知的数据集上表现较差。

如图,左中右分别代表欠拟合、适度拟合、过拟合三种情况。欠拟合在训练集和测试集上都表现较差;过拟合在训练集上表现较好,在测试集上表现较差;适度拟合则在训练集和测试集上都表现较好。

我们也可以从偏差和方差来看待过拟合和欠拟合,模型的泛化误差来自于两部分,分别称为偏差和方差。「偏差」(bias)是模型本身导致的误差,即错误的模型假设所导致的误差,它是模型的预测值的数学期望和真实值之间的差距。「高偏差意味着模型本身的输出值与期望值差距很大,因此会导致欠拟合问题」「方差」(variance)是由于对训练样本集的小波动敏感而导致的误差。它可以理解为模型预测值的变化范围,即模型预测值的波动程度。「高方差意味着算法对训练样本集中的随机噪声进行建模,从而出现过拟合问题」「如果模型过于简单,一般会有大的偏差和小的方差;反之如果模型复杂则会有大的方差但偏差很小。」这是一对矛盾,因此我们需要在偏置和方差之间做一个折中。如果我一模型的复杂度作为横坐标,把方差和偏差的值作为纵坐标,可以得到下图所示的两条曲线。

偏差方差与模型复杂度关系

下图为模型「迭代次数」(numbers of  iterations)即模型复杂度与训练集和测试集的错误率之间的关系。同样,模型越复杂,在训练集中表现越好,而在测试集中错误率则先下降后上升。因此找到关键点(sweet spot)对建立最优模型至关重要。

模型迭代次数与训练集验证机错误率的关系

Detection

由于过拟合是一个常见的问题,因此对其进行检测是非常必要的。要检测过拟合数据,前提是它必须用于测试数据。这方面的第一步是将数据集划分为独立的训练和测试集。如果模型在训练集上的表现比测试集上的好,那么它显然是过拟合的。

「Prevent」

在检测到过拟合后,现在模型需要消除它。有各种方法可以防止过拟合,包括:

  • 「使用更多的数据进行训练」:有时,可以通过训练使用更多数据的模型来避免过拟合。一个模型可以输入更多的数据,这样算法就可以更好地检测信号,而不会被过度拟合。然而,这并不是一个有保证的方法。简单地添加更多的数据,特别是当数据不干净的时候,弊大于利。
  • 「早期停止」(Early Stopping)::当一个模型通过多次重复进行训练时,可以对模型的每一次重复进行评估。有一种与重复相关的收益递减模式。最初,模型的性能不断提高,直到达到一个平台后,过拟合开始增加。提前停止是在这个点到来之前暂停这个过程。
    Early Stopping
  • 「正则化」(Regularisation)或「数据简化」:有时,即使有大量的数据,当一个模型过于复杂时,它也可能过拟合。这个问题可以通过删除参数的数量,或者对决策树模型进行剪枝(pruning down),或者在神经网络上使用dropout来解决。

dropout的做法是在训练时随机的选择一部分神经元进行正向传播和反向传播,另外一些神经元的参数值保持不变,以减轻过拟合。dropout机制使得每个神经元在训练时只用了样本集中的部分样本,这相当于对样本集进行采样,即bagging的做法。最终得到的是多个神经网络的组合。

  • 「删除特征」:这是关于具有内置特征选择的算法。删除不相关的输入特征可以提高模型的可泛化性。
  • 「集成学习」(Ensembling):集成学习是将多个独立模型的预测结合起来。最常用的组合技术是「套袋」(bagging)和「增强」(boosting)。
    Bagging是一种通过训练大量按顺序设置的弱学习者来减少模型过拟合的方法。这有助于顺序中的每个学习者从前面一个学习者的错误中学习。Boosting是把所有的弱学习者放在一个单一的序列中,让一个强学习者出现。套袋法适用于复杂的基础模型并使其预测变得平滑,而增强法则是使用基本模型,然后增加它们的总体复杂性。
  • 「数据增强」(Data augmentation):与使用更多数据的训练模型相比,数据增强是更便宜的选择。这种方法不是试图获取更多的数据,而是简单地试图使数据集看起来更加多样化,从而阻止模型学习数据集。这样,每当模型重复一个数据集时,它就显得不同。
    另一种类似于数据增强的方法是向输出数据添加噪声。在输入数据中添加适量的噪声可以稳定输入数据,而在输出数据中添加噪声则可以使数据集更加多样化。然而,大量的噪声也会干扰数据集。
  • 「交叉验证」(Cross-validation):在这种技术中,初始训练数据集被分割成几个小型训练-测试集。然后使用这些小型训练-测试集来调整模型的超参数。这使测试集在最终确定模型之前不可见。
    k-fold

参考

  1. https://analyticsindiamag.com/how-to-detect-and-prevent-overfitting-in-a-model/
  2. https://zhuanlan.zhihu.com/p/38224147

往期

  1. CNS图表复现|生信分析|R绘图 资源分享&讨论群!
  2. 这图怎么画| 有点复杂的散点图
  3. 这图怎么画 | 相关分析棒棒糖图
  4. 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路
  5. (免费教程+代码领取)|跟着Cell学作图系列合集
  6. Q&A | 如何在论文中画出漂亮的插图?
  7. 跟着 Cell 学作图 | 桑葚图(ggalluvial)
  8. R实战 | Lasso回归模型建立及变量筛选
  9. 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)
  10. R实战 | 给聚类加个圈圈(ggunchull)
  11. R实战 | NGS数据时间序列分析(maSigPro)
  12. 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)
相关文章
|
19天前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
268 109
|
1月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
月之暗面发布开源模型Kimi K2,采用MoE架构,参数达1T,激活参数32B,具备强代码能力及Agent任务处理优势。在编程、工具调用、数学推理测试中表现优异。阿里云PAI-Model Gallery已支持云端部署,提供企业级方案。
160 0
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
|
2月前
|
机器学习/深度学习 算法 安全
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
本文探讨在敏感数据上应用差分隐私(DP)进行机器学习的挑战与实践。通过模拟DP-SGD算法,在模型训练中注入噪声以保护个人隐私。实验表明,该方法在保持71%准确率和0.79 AUC的同时,具备良好泛化能力,但也带来少数类预测精度下降的问题。研究强调差分隐私应作为模型设计的核心考量,而非事后补救,并提出在参数调优、扰动策略选择和隐私预算管理等方面的优化路径。
191 3
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
|
3月前
|
机器学习/深度学习 存储 运维
机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统
本研究通过实验演示了异常标记如何逐步完善异常检测方案和主要分类模型在欺诈检测中的应用。实验结果表明,Isolation Forest作为一个强大的异常检测模型,无需显式建模正常模式即可有效工作,在处理未见风险事件方面具有显著优势。
248 46
|
1月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
阿里云 PAI-Model Gallery 已同步接入 gpt-oss 系列模型,提供企业级部署方案。
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
2月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
2月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在舆情分析中的情感倾向判断与话题追踪(185)
本篇文章深入探讨了Java大数据与机器学习在舆情分析中的应用,重点介绍了情感倾向判断与话题追踪的技术实现。通过实际案例,展示了如何利用Java生态工具如Hadoop、Hive、Weka和Deeplearning4j进行舆情数据处理、情感分类与趋势预测,揭示了其在企业品牌管理与政府决策中的重要价值。文章还展望了多模态融合、实时性提升及个性化服务等未来发展方向。
|
3月前
|
缓存 人工智能 负载均衡
PAI 重磅发布模型权重服务,大幅降低模型推理冷启动与扩容时长
阿里云人工智能平台PAI 平台推出模型权重服务,通过分布式缓存架构、RDMA高速传输、智能分片等技术,显著提升大语言模型部署效率,解决模型加载耗时过长的业界难题。实测显示,Qwen3-32B冷启动时间从953秒降至82秒(降幅91.4%),扩容时间缩短98.2%。

热门文章

最新文章