机器学习中的“过拟合(Overfitting)”和“欠拟合(Underfitting)”
在机器学习领域中,当讨论一个机器学习模型学习和泛化的好坏时,通常使用术语是:过拟合(Overfitting)和欠拟合(Underfitting)。过拟合和欠拟合是机器学习算法表现差的两大原因。
什么是过拟合和欠拟合?
过拟合(overfitting):是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。
拟合的模型一般是用来预测未知的结果(不在训练集内),过拟合虽然在训练集上效果好,但是在实际使用时(测试集)效果差。同时,在很多问题上,我们无法穷尽所有状态,不可能将所有情况都包含在训练集上。所以,必须要解决过拟合问题。
欠拟合(Underfitting):是指模型不能在训练集上获得足够低的误差。
简单来说,当学习器把训练样本学得“太好了”的时候,很可能已经把训练样本自身的一些特点当作了所有潜在的样本都会具有的性质,这样就导致泛化性能下降,这就是“过拟合(Overfitting)”;与之相对的是“欠拟合(Underfitting)”,这是指对训练样本的一般性质尚未学好。《机器学习》(周志华,清华大学出版社,P23.)
在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差。
过拟合和欠拟合的简单判断标准
训练集上的表现 | 测试集上的表现 | 判定结果 |
---|---|---|
不好 | 不好 | 欠拟合(欠配) |
好 | 不好 | 过拟合(过 |