机器学习中的欠拟合

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

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

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

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

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

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

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

相关推荐
l12345sy3 小时前
Day31_【 NLP _1.文本预处理 _(4)文本特征处理、文本数据增强】
人工智能·深度学习·自然语言处理
说私域3 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序在公益课裂变法中的应用与影响研究
人工智能·小程序
0xCode 小新3 小时前
【C语言内存函数完全指南】:memcpy、memmove、memset、memcmp 的用法、区别与模拟实现(含代码示例)
linux·c语言·人工智能·深度学习·机器学习·容器·内存函数
Elastic 中国社区官方博客3 小时前
如何在 vscode 里配置 MCP 并连接到 Elasticsearch
大数据·人工智能·vscode·elasticsearch·搜索引擎·ai·mcp
三掌柜6663 小时前
2025三掌柜赠书活动第三十五期 AI辅助React Web应用开发实践:基于React 19和GitHub Copilot
前端·人工智能·react.js
机器之心4 小时前
强强联手!深度求索、寒武纪同步发布DeepSeek-V3.2模型架构和基于vLLM的模型适配源代码
人工智能·openai
机器之心4 小时前
Claude Sonnet 4.5来了!能连续编程30多小时、1.1万行代码
人工智能·openai
8K超高清4 小时前
汇世界迎全运 广州国际社区运动嘉年华举行,BOSMA博冠现场展示并分享与科技全运的故事
运维·服务器·网络·数据库·人工智能·科技
2401_841495644 小时前
【机器学习】朴素贝叶斯法
人工智能·python·数学·算法·机器学习·概率论·朴素贝叶斯法
葡萄城技术团队4 小时前
2025 年 AI+BI 趋势下,Wyn 商业智能软件如何重构企业决策效率?
人工智能·microsoft·重构