机器学习中的欠拟合

当模型不能够准确地表达输入与输出的关系时,就是欠拟合。它在训练集和未见过的数据都会产生高误差率。过度拟合则在训练集表现出低误差率,只有对未见过的数据表现出高误差率。

当模型太过于简单时,它需要更多的训练时间、更多的输入特征、更少的正则化,此时欠拟合就可能会发生。当模型太过于复杂,随着更多的训练时间、更多的输入特征、更少的正则化处理,过度拟合就可能会发生。

欠拟合和过度拟合一样,不能够在数据中建立主导趋势,导致模型训练错误、性能低。模型当然就也很难很好地泛化到其他新的数据上(如果一个模型没有泛化的能力,那么这个模型几乎是没有用的)。这样的模型也就不能够用来做分类或预测的任务。

我们以前也提到过,高偏差和低方差是模型出现欠拟合的信号。低偏差、高方差则是出现过度拟合的信号。高偏差、低方差在训练数据集中就可以看出来,所以欠拟合比过度拟合好发现。当模型被过度训练或者太复杂,在测试数据集中就会体现出高误差率。 一般来说,过度拟合比欠拟合常见。有时,我们为了避免过度训练模型导致过度拟合,会提前停止模型训练,但是这个提前有时太早了,反而在这个情况下导致了欠拟合的问题。这里也引出另一种情况也会导致欠拟合,那就是训练不足,解决之道就是增加训练时间,这个又要考虑如何避免训练时间太长造成过度拟合的问题。训练时间的把握就是要权衡好这两者。

模型太简单,也会导致欠拟合,解决之道就是增加相关特征的输入。特征太少的话,在现实世界中,可能会对应很多可能的输出,这样的模型就像在胡说八道,实际上,是我们自己想得太简单了,增加相关的特征输入,就可以收窄这扇------更容易定位到我们期望的结果上。注意,如果增加太多长特征输入,又增加了模型过度拟合的可能性,造成模型低偏差、高方差。所以我们训练模型时,总要在欠拟合和过度拟之间找一个平衡点,就是要我们根据需求来权衡。这就是所谓的偏差方差平衡(bias-variance tradeoff)。

有一些机器学习模型更加容易出现过度拟合的问题,如决策树、KNN。要识别出过度拟合会比识别欠拟合更困难些。过度拟合在训练数据集就表现出高准确性,为了更好地评价模型是否真的有这些高的准确性,通常使用k-folds交叉验证。

在k-folds交叉验证中,数据集会被分成k个大小相关的子集(fold),接着把第一个子集充当测试集(验证集、留出集、抵抗组),剩下的数据都用作训练。然后,由二个子集充当测试集,剩下的数据都用作训练。依次类推,直到这k个子集都做过一次测试集为止。每一交迭代都会得到一个关于模型准确性的分数,当迭代完所有子集,将所得的分数取平均值,将其作为评价模型准确性的最终分数。我们可以根据这个分数,了解我们的模型的拟合情况。

相关推荐
WoooChi26 分钟前
DailyTech-20260724
人工智能·科技·业界资讯
zh路西法32 分钟前
【CAM Grad-CAM Grad-CAM++】深度学习模型可解释性:从原理到YOLOv8部署实战
人工智能·深度学习·yolo·yolov8·grad-cam·cam
雨辰AI1 小时前
全集实战:企业级大模型服务化部署全栈指南|FastAPI 封装 + Nginx 负载均衡 + 高可用架构 从单机到生产一步到位
人工智能·ai·负载均衡·fastapi·ai编程
触底反弹1 小时前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试
咖啡屋和酒吧1 小时前
健康管理:现代生活的科学守护
人工智能·生活·精选
星栈独行2 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
没有梦想的咸鱼185-1037-16632 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
船漏了就会沉2 小时前
Kimi K3 vs DeepSeek-V4:国产大模型的技术路线之争
人工智能
kirs_ur2 小时前
SSD 在 AI 训练中的角色
大数据·服务器·人工智能
冬奇Lab2 小时前
AI 评测系列(06):DeepEval 实战——企业级 Agent 评测套件
人工智能