[置顶] 机器学习、深度学习中过拟合的理解及解决方法
2018-02-27 19:11
330 查看
过拟合的定义
指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是训练集上效果好,在测试集上效果差。模型泛化能力弱。解决过拟合的方法
发生过拟合主要有两方面的原因,下面就从数据和模型复杂度来考虑。数据
获取更多的数据:从数据源头获取;根据当前数据集估计数据分布参数,使用分布产生;数据增强,通过一定规则获取数据,例如图像平移,翻转,缩放,切割等考虑数据降维,例如PCA,SVD等,选取重要特征,
重新清洗数据,增大数据的训练集
模型
使用合适的模型:过拟合的主要原因为,数据太少+模型太复杂。对于神经网络来讲,可以减少网络层数及神经元个数;训练时间的把控,Early stopping;
Dropout,这是一个很高效的方法,在训练时,每次随机(如50%)忽略隐层的某些节点,这样,我们相当于随机从2^H个模型中采样选择模型,类似于bagging,此外,不同模型之间权值共享,相当于一种权值正则方法,实际效果比L2更好。
限制权值,即正则化(regularization),L1或L2;
增加噪声,噪声随着网络传播,按照权值的平方放大,并传播到输出层,对误差cost产生影响。在输入中加高斯噪声,会达到与L2类似的效果;也可在权值和网络响应上加噪声。
考虑集成的方法,结合多种模型:训练多个模型,以每个模型的平均输出作为结果。如Bagging随机森林,训练一堆互不关联的决策树。Boosting如GBDT,XGBoost。
Batch normalization
决策树的剪枝
通过贝叶斯的相关方法
参考文献:
[1] https://www.zhihu.com/question/59201590/answer/167392763
相关文章推荐
- 机器学习、深度学习中欠拟合的解决方法总结
- 深度学习中欠拟合和过拟合介绍及解决方法
- [note] deep learning tensorflow lecture 2 notes 深度学习笔记 (2) 解决过拟合
- 机器学习、深度学习概念术语的理解
- 简单理解:人工智能、数据挖掘、模式识别、机器学习、深度学习
- 深度学习解决局部极值和梯度消失问题方法简析
- 现阶段对数据库中知识发现KDD、数据挖掘、集成学习、深度学习、机器学习、人工智能、统计学、大数据、云计算的个人理解:
- 深度学习中 --- 解决过拟合问题(dropout, batchnormalization)
- [置顶] 【深度学习基础】机器学习的定义与demo展示
- 深度学习存在的问题及解决方法
- 机器学习实验(八):用特征值衰减正则化方法进行深度学习实验_3
- 如何理解人工智能、机器学习和深度学习三者的关系
- 机器学习-统计学习方法中多项式拟合偏导函数推导
- 【机器学习】Linux配置深度学习框架Theano的问题及解决办法
- [置顶] 机器学习 + 深度学习 + 计算机视觉 + 自然语言处理: 原理, 实践以及应用 --- 干货分享(持续更新…)
- Python 机器学习——解决过拟合的方法
- 机器学习两种方法——监督学习和无监督学习(通俗理解)
- 深度学习中防止过拟合的方法
- 深入学习理解java:CompletionService解决ExecutorService的submit方法的缺点
- [置顶] 机器学习和深度学习学习资料