深度学习---过拟合与欠拟合

一、认识过拟合与欠拟合

经典图示,其中:

图1:欠拟合表示:模型不能在训练集上获得足够低的训练误差,即:没有学习到;

图3:过拟合表示:模型的训练误差与测试误差之间差距较大,即:在训练集上表现好,在测试集和新数据上表现一般,过学习。

二、解决过拟合的方法

深度学习中常见于解决过拟合。(所有为了减少测试误差的策略统称为正则化方法,这些方法可能会以增大训练误差为代价。)

(1)数据增强(数据扩充)

a、图像的数据扩充:平移、旋转、缩放。例如:Keras中的ImageDataGenerator。(可在Keras中文文档中去了解)

b、利用生成对抗网络(GAN)生成新数据;(后期学习之后会跟进)

(2)降低模型复杂度

a、就神经网络而言:减少网络层数和神经元个数;

b、就决策树而言:降低树的深度、剪枝;

(3)权值约束(添加正则化项)

a、L1正则化

b、L2正则化

(4)集成学习

a、就神经网络而言:Dropout、BatchNormalization

b、就决策树而言:随机森林、GBDT;

(5)提前终止

EarlyStopping

三、解决欠拟合的方法

Note:可以对应着上述解决过拟合的方法来考虑

(1)加入新的特征

a、交叉特征、多项式特征、...

b、深度学习:因子分解机、Deep-Crossing、自编码器

(2)增加模型复杂度

a、线性模型:添加高次项

b、神经网络:增加网络层数、神经元个数

(3)减小正则化项的系数

a、添加正则化项是为了限制模型的学习能力,减小正则化项的系数则可以放宽这个限制

b、模型通常更倾向于更大的权重,更大的权重可以使模型更好的拟合数据

猜你喜欢

转载自blog.csdn.net/songchunxiao1991/article/details/83027487