机器学习中的欠拟合

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

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

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

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

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

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

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

相关推荐
云知谷4 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit84324995 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘6 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛6 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
之墨_7 小时前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
从孑开始7 小时前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI8 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生8 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
悟乙己8 小时前
MLops | 基于AWS Lambda 架构构建强大的机器学习(ML)血缘关系
机器学习·架构·aws
WWZZ20258 小时前
快速上手大模型:机器学习2(一元线性回归、代价函数、梯度下降法)
人工智能·算法·机器学习·计算机视觉·机器人·大模型·slam