图解欠拟合和过拟合
1)横轴为训练样本数量,纵轴为误差
欠拟合:高偏差
过拟合:高方差
2)横轴为模型复杂度,纵轴为误差
A:欠拟合;C:过拟合;B:模型正常
3)横轴为正则项系数,纵轴为误差
降低过拟合的方法
1)重新清洗数据,数据不纯会导致过拟合,此类情况需要重新清洗数据
2)数据增强(增加训练样本数量)
图像:平移、旋转、缩放
利用生成对抗网络(GAN)生成新数据
NLP:利用机器翻译生成新数据
3)降低模型复杂度
神经网络:减少网络层、神经元个数
决策树:降低树的深度、剪枝
4)权值约束(增大正则项系数)
L1 正则化
L2 正则化
4)集成学习
神经网络:Dropout(在训练的时候让神经元以一定的概率不工作)
决策树:随机森林、GBDT
5)提前终止
6)减少迭代次数
7)增大学习率
8)添加噪声数据
降低欠拟合的方法
1)加入新的特征
交叉特征、多项式特征、上下文特征.
深度学习:因子分解机、Deep-Crossing、自编码器
2)增加模型复杂度
线性模型:添加高次项
神经网络:增加网络层数、神经元个数
3)减小正则化项的系数
添加正则化项是为了限制模型的学习能力,减小正则化项的系数则可以放宽这个限制
模型通常更倾向于更大的权重,更大的权重可以使模型更好的拟合数据
最后如果转载,麻烦留个本文的链接,因为如果读者或我自己发现文章有错误,我会在这里更正,留个本文的链接,防止我暂时的疏漏耽误了他人宝贵的时间。