过拟合

过拟合是模型的偏差小而方差大,即模型在训练集上拟合得很好,在测试集上的效果却很差。所以防止过拟合,就是要减小方差。(偏差、方差、贝叶斯误差)

防止过拟合的方法

  1. 从源头上,扩充数据集,收集更多的数据或者采用数据增强的方法。
  2. 对于模型参数的处理方法,采用L1, L2正则化和dropout 的方法
  3. 对于训练方法,采用Early stopping。
  4. 采用bagging的方法

数据增强的方法
参考

  1. 常用的图像增强技术
  • 翻转(水平、垂直)
  • 旋转
  • 缩放(放大后裁剪,缩小后填充,填充方法包括常数,边缘,反射,对称和包裹模式)
  • 裁剪
  • 平移
  • 增加高斯噪声
  1. 条件型生成对抗网络
    利用生成对抗网络生成图像

L1正则与L2正则的区别
参考


droupout正则
dropout–随机使一些神经元失活,用在模型的训练阶段。直观上理解:不要依赖于任何一个特征,不给任何一个输入加上太多权重,因为该单元的输入可能随时被清除。(参考Andwew Ng deeplearning.ai)


Early stopping
随着训练次数的增加,在训练集上的误差如蓝色,在验证集上的误差如紫线。可以看出,验证集上的误差经历了先减小后增大的变化过程,表明模型已经过拟合了,所以在验证集上的误差最小的时候,就要停止训练了。

使用Early stopping可能带来一个问题。模型在训练集上没有完全训练好,但是在验证集上已经开始出现过拟合了。此时Early stopping不能在减小偏差的同时减小方差。

如果不用 early stopping,另一种方法就是L2L2L2正则化,训练神经网络的时间就可能很长。这导致超级参数搜索空间更容易分解,也更容易搜索,但是缺点在于,必须尝试很多正则化参数λ\lambdaλ的值,这也导致搜索大量λ\lambdaλ值的计算代价太高(参考Andwew Ng deeplearning.ai)
[]


Bagging
其实bagging的方法是可以起到正则化的作用,因为正则化就是要减少泛化误差,而bagging的方法可以组合多个模型起到减少泛化误差的作用. 在深度学习中同样可以使用此方法,但是其会增加计算和存储的成本(参考).

防止过拟合,采用的手段有哪些?相关推荐

  1. 如何判断过拟合和欠拟合,解决手段有哪些?

    在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题. 首先就是我们在进行模型训练的时候会出现模型不能够很好地拟合数据的情况,这个时候就需要我们来判断究竟现在的模型是欠拟合还是过 ...

  2. 如何判断模型过拟合?那些手段解决过拟合?

    如何判断模型过拟合? 模型在验证集合上和训练集合上表现都很好,而在测试集合上变现很差.过拟合即在训练误差很小,而泛化误差很大,因为模型可能过于的复杂, 如何防止过拟合? dropout 另一种非常流行 ...

  3. 动手学深度学习-过拟合、欠拟合及其解决方案;梯度消失、梯度爆炸;循环神经网络进阶

    一.过拟合.欠拟合及其解决方案 前序知识点 模型选择 正则化:添加参数的惩罚项,防止过拟合.有L2正则化与L1正则化. 奥卡姆剃刀原则:有多个假设模型时,应该选择假设条件最少的. 模型的泛化能力:指模 ...

  4. 擦除:提升 CNN 特征可视化的 3 种重要手段

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨皮特潘 导读 所谓擦除,就是去除掉一部分有用的信息,以提高网 ...

  5. python数据拟合fit

    文章目录 第0部分:多项式拟合数学基础 举例 第一部分:多项式拟合 第二部分 最小二乘法拟合(参考python科学计算) 使用幂律谱 使用e指数 三种方法总结 第三部分:使用窗口平滑化处理(scipy ...

  6. RANSAC算法做直线拟合

    RANSAC算法之前了解过相关的原理,这两天利用晚上闲暇的时间,看了一下RANSAC算法的Python代码实现,这方面的资料很多了,这里就不在重复.在分析该RANSAC.py代码之前,想用自己的对RA ...

  7. 【深度学习】擦除:提升 CNN 特征可视化的 3 种重要手段

    作者丨皮特潘 审稿|邓富城 编辑丨极市平台 导读 所谓擦除,就是去除掉一部分有用的信息,以提高网络提取特征的能力.本文对3种提升特征可视化的方法进行了详细综述,包括直接擦除.利用预测信息(CAM)擦除 ...

  8. (pytorch-深度学习系列)pytorch避免过拟合-权重衰减的实现-学习笔记

    pytorch避免过拟合-权重衰减的实现 首先学习基本的概念背景 L0范数是指向量中非0的元素的个数:(L0范数难优化求解) L1范数是指向量中各个元素绝对值之和: L2范数是指向量各元素的平方和然后 ...

  9. 动手学深度学习(PyTorch实现)(三)--过拟合与欠拟合

    过拟合与欠拟合 1. 过拟合与欠拟合 1.1 训练误差和泛化误差 1.2 模型选择 1.2.1 验证数据集 1.2.2 K折交叉验证 1.3 过拟合与欠拟合 1.3.1 模型复杂度 1.3.2 训练数 ...

最新文章

  1. Rsync+Inotify-tools实现数据实时同步
  2. mysql trim 索引_mysql强大的trim()函数
  3. mysql一:初识数据库
  4. MVC应用程序播放FLV视频,部分视图可多地方重复引用
  5. 实践 HTML5 的 CSS3 Media Queries
  6. h5物体拖动_html5实现拖拽效果
  7. java命令行参数_一个 java 命令行参数顺序的坑
  8. python免费教程视频-28岁想从零开始自学python,有哪些靠谱免费的视频?
  9. memcached 远程拒绝服务漏洞
  10. 十二导联动态心电图技术参数
  11. 传染病模型系统动力学VENSIM模拟
  12. linux打印机驱动教程视频,Linux打印机配置wmv视频教程
  13. 计算机专业英语的缩写词,计算机专业英语单词缩写表
  14. 今天花了点时间详细了解了一下WiFi
  15. python 直线方程,两点直线方程的返回方法
  16. 【OKR】11-12双月 OKR复盘
  17. 记一次批量定时抓取微信公众号文章的实现
  18. linux 运行中磁盘故障,Linux 检查磁盘损坏情况命令 -必会
  19. 天润云招股书“失效”:首次冲刺港股上市折戟,称全年业绩将下滑
  20. 4.2.3 编程题《将一笔钱换算成1分、2分和5分的硬币组合》

热门文章

  1. mybatis与mysql调优_MySQL + mybatis的SQL优化方案
  2. 全国计算机一级可以在手机上报名吗,全国计算机一级过的话能多次报名?
  3. c语言 #define dpath .exe是什么意思,C语言宏定义#define
  4. python3精要(24)-函数内省、函数注释、函数属性
  5. 新书首发 | 《机器学习 公式推导与代码实现》正式出版!(文末送书)
  6. 可能是全网写特征工程最通透的...
  7. 【重点EI会议推荐】机器学习主题方向论文征稿:2021计算机、物联网与控制工程国际学术会议(CITCE 2021)...
  8. 【机器学习基础】四个小项目完全解读支持向量机
  9. 本周日,王海峰、朱军、李宏毅等大咖邀你加入这场AI开发者盛宴
  10. 常用算法25讲,拿走不谢!