一、概念
过拟合(模型过于复杂):指所建的机器学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。
欠拟合(模型过于简单):指所建的机器学习模型在训练与测试集中均误差较大
二、出现原因
(1)过拟合(Overfitting):
过拟合指的是模型在训练数据上表现得非常好,但在未见过的测试数据上表现不佳,它对训练数据过度拟合。
过拟合的主要特征包括:
模型在训练数据上的性能很好,训练误差较低,但在测试数据上的性能较差,测试误差较高。
模型的复杂度较高,通常是因为模型过于灵活,可以匹配数据的噪声。 模型的拟合曲线可能会显示出对训练数据的过度拟合,即曲线波动较大。
导致过拟合的原因可能包括:
模型复杂度过高:选择了过于复杂的模型,可以很好地拟合训练数据中的噪声。
训练数据噪声:训练数据包含噪声或异常值,导致模型学到了错误的模式。
训练数据量太小:对于复杂的模型,需要更多的训练数据来避免过拟合。 缺乏正则化:没有使用正则化方法来控制模型的复杂度。
(2)欠拟合(Underfitting): 欠拟合指的是模型无法捕捉到训练数据中的真实关系,它对数据的拟合程度不足。
欠拟合的主要特征包括:
模型在训练数据和测试数据上的性能都较差,表现为较高的训练误差和测试误差。
模型的复杂度较低,通常是因为模型选择不够复杂,如线性模型用于非线性数据。
模型的拟合曲线通常会显示出拟合不足的特征,即模型不能很好地适应数据的变化。
导致欠拟合的原因可能包括:
模型选择不当:选择了过于简单的模型,无法捕捉数据中的复杂关系。 特征选择不当:未选择足够有信息量的特征,或者特征缺失。
训练数据不足:训练数据量太小,无法代表整个数据分布。 正则化过强:正则化项的系数过大,限制了模型的灵活性。
三、处理办法
防止过拟合(over-fitting):
- 获取和使用更多的数据(数据集增强)
- 采用合适的模型(控制模型的复杂度)
- 降低特征的数量
- L1/L2正则化
防止欠拟合(under-fitting) :
- 增加特征数;
- 增加模型复杂度;
- 减小正则化系数。