过拟合和欠拟合应对方法大全

过拟合:

原因:

1. 模型太复杂,训练数据量太少(模型很好的记住了所有的训练样本,输入非训练样本统统都看运气)

2. 训练集和测试集样本分布不一致;

3. 训练集的噪音过大,导致模型只注意学习噪音了,忽略了真正有用的特征;

4. 训练迭代次数过多,导致模型学习了噪音和无用特征;

解决方法:

1. 减小模型复杂度,减小模型参数量;

    1.1 减少神经网络的宽度、深度;

    1.2 正则化:L1-Norm(模型参数降维作用), L2-Norm(易求导); 贝叶斯学派的角度是加入了模型参数符合高斯分布这一先验知识;奥坎姆剃刀律,简单的即使泛化性好的;

    1.3 决策树的剪枝;

    1.4 权值共享:CNN卷积核的权值共享,RNN每个时序单元之间的权值共享;

2. 数据增强;

    2.1 图像数据上,进行旋转、反转、缩放、剪切、增加噪声等

    2.2 过采样:随机过采样,近邻随机插值过采样,边界样本过采样;

    2.3 用GAN网络或者强化学习模拟去“制造”假数据;

    2.4 给数据增加噪声;给模型增加噪声(例如神经网络权值初始化使用0均值的高斯分布)

    2.5 Batch Normalization: 通过对数据进行和同一mini-batch之间进行关联,增强了数据,提高了模型的泛化性;

    2.6 输入数据的归一化(zscore):相当于把数据拉回到了原点附近,减少过拟合的风险,加快了训练收敛速度;

3. Ensemble:(多个模型的组合可以弱化每个模型中的异常点的影响,保留模型之间的通性,弱化单个模型的特性)

    3.1 bagging可降低模型的方差;

    3.2 boosting既可降低模型的方差,也可降低模型的偏差;(Adaboost, GBDT, xgboost)

    3.3 dropout(也是模型稀疏化的一种): 把很多稀疏网络捆成一个分类器,类似于在模型角度了bagging;

    3.4 Random-forest的特征采样(xgboost也用了),也相当于弱化每个节点,通过多棵弱树构造一个强分类器;(Random-forest的多棵树也使用了样本的baggin)

4. Early stopping:  连续N轮迭代没有提高Validation-set上的accuracy,则停止训练;

5. N-fold交叉验证:减少噪音对模型的影响;

 

搞不懂:

对样本数据可能存在分类决策面不唯一,随着学习的进行,,BP算法使权值可能收敛过于复杂的决策面;

在神经网络模型中,可使用权值衰减的方法,即每次迭代过程中以某个小因子降低每个权值。

 

欠拟合

1. 添加新特征:当特征不足,或现有特征与样本label的相关性不强时,易过拟合。

    可挖掘“上下文特征”“ID类特征”“组合特征”等新特征;FM、GBDT、Deep&Wide等自动挖掘组合特征的模型;

2. 增加模型的复杂度:线性模型中添加高次项;神经网络中增加深度或宽度;

3. 减小正则化系数

4. 使用迁移学习,复用类似任务的神经网络前几层,从而使小训练集也能得到效果不错的模型;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值