前面文章中,我们讲到,希望最终的模型在训练集上有很好的拟合(训练误差小),同时对测试集也要有较好的拟合(泛化误差小)
那么针对模型的拟合,这里引入两个概念:过拟合,欠拟合。
过拟合:是指我们在训练集上的误差较小,但在测试集上的误差较大;
欠拟合:在训练集上的效果就很差。
对于二分类数据,我们可以用下面三个图更直观的理解过拟合与欠拟合:
一、欠拟合
首先来说欠拟合,欠拟合主要是由于学习不足造成的,那么我们可以通过以下方法解决此问题
1、增加特征
增加新的特征,或者衍生特征(对特征进行变换,特征组合)
2、使用较复杂的模型,或者减少正则项
其次讨论过拟合,为什么我们的模型会过拟合呢?这里,我总结了一下,将其原因分成两大类:
二、过拟合
1、样本问题
1)样本量太少:
样本量太少可能会使得我们选取的样本不具有代表性,从而将这些样本独有的性质当作一般性质来建模,就会导致模型在测试集上效果很差;
2)训练集、测试集分布不一致:
对于数据集的划分没有考虑业务场景,有可能造成我们的训练、测试样本的分布不同,就会出现在训练集上效果好,在测试集上效果差的现象;
3)样本噪声干扰大:
如果数据的声音较大,就会导致模型拟合这些噪声,增加了模型复杂度;
2、模型问题
1)参数太多,模型过于复杂,对于树模型来说,比如:决策树深度较大等。
3、解决方法
1)增加样本量:
样本量越大,过拟合的概率就越小(不过有的由于业务受限,样本量增加难以实现);
2)减少特征:
减少冗余特征;
3)加入正则项:
损失函数中加入正则项,惩罚模型的参数,降低模型的复杂度(树模型可以控制深度等);
4)集成学习:
练多个模型,将模型的平均结果作为输出,这样可以弱化每个模型的异常数据影响。
标签:训练,人工智能,模型,拟合,基础,测试,样本量,集上 From: https://blog.51cto.com/u_15590807/8750659