机器学习中产生过拟合和欠拟合的原因

学李沐大佬的《动手学深度学习》的笔记。链接:《动手学深度学习》 — 动手学深度学习 2.0.0-beta0 documentationicon-default.png?t=M3K6https://zh-v2.d2l.ai/

机器学习中产生过拟合和欠拟合的原因_第1张图片

欠拟合就是模型过于简单,没有学到足够的信息,比如说线性回归模型无法拟合一些平方或者对数关系的数据,训练误差不降低。

过拟合和欠拟合相反,模型过于复杂,但是训练数据比较简单,模型记住了所有的样本,训练误差一直降低,但是验证误差不再降低,甚至生高,就是过拟合。比如说图中的省略号后面就产生了过拟合。

无论是过拟合和欠拟合,主要原因是因为模型容量和和训练数据集的样本集大小不匹配,所以不是越复杂的模型就越好。

训练数据集中的样本越少,我们就越有可能(且更严重地)过拟合。 随着训练数据量的增加,泛化误差通常会减小。 此外,一般来说,更多的数据不会有什么坏处。 对于固定的任务和数据分布,模型复杂性和数据集大小之间通常存在关系。 给出更多的数据,我们可能会尝试拟合一个更复杂的模型。 能够拟合更复杂的模型可能是有益的。 如果没有足够的数据,简单的模型可能更有用。 对于许多任务,深度学习只有在有数千个训练样本时才优于线性模型。 从一定程度上来说,深度学习目前的生机要归功于 廉价存储、互联设备以及数字化经济带来的海量数据集。

所以一个很重要的事情就是根据我们的数据集大小选择合适的模型复杂度,决定模型复杂度的两个重要因素:

1.可调参数的数量,这里的参数不是超参数,在线性模型或者神经网络中,这个参数是权重W和偏移量b,当可以训练的参数越多时,模型越容易过拟合。

2.参数的可取值的范围,当参数可以选取的范围越大时,模型越容易过拟合。

 

你可能感兴趣的:(机器学习,机器学习,深度学习,人工智能)