学习曲线-过拟合和欠拟合要做什么以及原因

学习曲线是一种帮助你理解学习算法在经验增加时表现的方法,这里的经验指的是,算法在训练的时候拥有的样本数量,

横轴是样本数量,纵轴是误差

测试误差Jcv大致是这样的,慢慢下降

训练误差则是上升的,为什么会这样呢,我们来看一下

我们从一个样本开始说起

当有一个样本的时候,直线直接经过这一点,误差是0完美拟合

当有2个样本的时候,直线直接经过这2点,误差是0完美拟合

当有3个样本的时候,集合就有些困难了,有些点可能不会在模型的线上,所以训练误差变大

4个样本的时候这样的点更多了

后面越来越多,知道平均值趋于平稳

还有一点交叉验证误差通常会高于训练误差,因为将参数你和到训练集上因此期望训练集的表现稍微好一点,或者当M很小的时候可能好的更多,但是在交叉验证集上则不然,

现在让我们看看高偏差算法,和高方差算法的学习曲线是什么样子的

从高偏差或者叫欠拟合开始

高偏差

训练误差刚开始会上升后来会趋于平平坦,但是为什么会趋于平坦呢,我们看右边,因为模型拟合的过于简单是一条直线,样本会均匀的分布在模型的两侧,一旦超过某个点,模型的误差就会趋于平坦,这个模型对于如此多的数据来说太简单了,

我们画出模型的基线性能(红线)这个是人类或者其他算法能够达到的误差

模型的训练误差在这个误差的上面,看出来模型和人类能力还有一段不小的差距,这是我们判断算法具有高偏差的指标,就是我如果我们可以拟合一个更复杂的函数,可能会做的更好

如果我们嗯向右延的话增加模型的样本数又回怎么样呢?

他们都会保持平坦,无论这个数据集增长的有多大,这两种线都不会找到一种方法让误差降到人类水平,

这就得到了一个结论,学习算法具有高偏差,就是模型太简单,获得更多的训练数据并不会有多大的帮助,

这就是为什么在投入大量精力收集数据之前,值得检查学习算法是否具有高偏差

让我们看一下高方差的学习算法的学习曲线是什么。

高方差的新号是Jcv元高于Jtrain,

,测试误差远高于训练误差,在训练集的表现远远高于在测试机中的表现,如果绘制一个基准线

这个模型刚开始训练误差远低于人类水平

如果一个学习方法存在高方差,那么获取更多的训练数据确实可能有所帮助,因为向右眼神这条全,可以预期Jcv会下降,

相关推荐
AI码农小姐姐7 小时前
AI漫剧用什么软件制作?知漫剧对比即梦/豆包/可灵怎么选?
人工智能
李妍.7 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy7 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
YH55269847 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
ZYJCSZKJ7 小时前
AI数字人实时交互系统的工程架构与多方言适配实践
人工智能·架构·交互·ai数字人直播系统
2601_965958467 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
智购科技智能售货柜7 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
“初生”7 小时前
用 Codex 做一致性 AI 动画:5 步工作流,角色不再漂移
人工智能·ai·chatgpt
uncle_ll8 小时前
大模型量化落地全解:原理、实操、效果对比与评估调优指南
大模型·llm·模型评估·量化·ptq
AI_小站8 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain