1、过拟合问题

  欠拟合:根本原因是特征维度过少,模型过于简单,导致拟合的函数无法满足训练集,误差较大。

解决方法:增加特征维度,增加训练数据;

过拟合:根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。 过度的拟合了训练数据,而没有考虑到泛化能力。

解决方法:(1)减少特征维度;(2)正则化,降低参数值。

2、产生过拟合根本原因:

  1、 观察值与真实值存在偏差:
   训练样本的获取,本身就是一种抽样。抽样操作就会存在误差, 也就是你的训练样本取值,X = x(真值) + u(随机误差),机器学习的优化函数多为min Cost函数,自然就是尽可能的拟合 X,而不是真实的x, 所以就称为过拟合了,实际上是学习到了真实规律以外的随机误差。举个例子说,你想做人脸识别,人脸里有背景,要是你这批人脸背景A都相似,学出来的模型,见到背景A,就会认为是人脸。这个背景A就是样本引入的误差。
  2、 数据太少,导致无法描述问题的真实分布
  举个例子,投硬币问题是一个二项分布,但是如果碰巧投了10次,都是正面。那么根据这个数据学习,是无法揭示这个规律的,根据统计学的大数定律(通俗地说,这个定理就是,在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率),当样本多了,这个真实规律是必然出现的。
 为什么说 数据量大了以后就能防止过拟合,数据量大了,
问题2,不再存在,
问题1,在求解的时候因为数据量大了,求解min Cost函数时候, 模型为了求解到最小值过程中,需要兼顾真实数据拟合和随机误差拟合,所有样本的真实分布是相同的(都是人脸),而随机误差会一定程度上抵消(背景),

  3、数据有噪声。

  我们可以理解地简单些:有噪音时,更复杂的模型会尽量去覆盖噪音点,即对数据过拟合。这样,即使训练误差Ein 很小(接近于零),由于没有描绘真实的数据趋势,Eout 反而会更大。
  即噪音严重误导了我们的假设。还有一种情况,如果数据是由我们不知道的某个非常非常复杂的模型产生的,实际上有限的数据很难去“代表”这个复杂模型曲线。我们采用不恰当的假设去尽量拟合这些数据,效果一样会很差,因为部分数据对于我们不恰当的复杂假设就像是“噪音”,误导我们进行过拟合。

  如下面的例子,假设数据是由50次幂的曲线产生的(下图右边),与其通过10次幂的假设曲线去拟合它们,还不如采用简单的2次幂曲线来描绘它的趋势。

  4、训练数据不足,有限的训练数据。

5、训练模型过度,导致模型非常复杂。

3、解决方案及原理

(1)权值衰减. 主要应用在神经网络模型中
它在每次迭代过程中以某个小因子降低每个权值,这等效于修改E的定义,加入一个与网络权值的总量相应的惩罚项,此方法的动机是保持权值较小,避免weight decay,从而使学习过程向着复杂决策面的反方向偏。
(2)适当的stopping criterion

在二次误差函数的情况下,关于早停止和权值衰减类似结果的原因说明。椭圆给出了常数误差函数的轮廓线,Wml表示误差函数的最小值。如果权向量的起始点为原点,按照局部负梯度的方向移动,那么它会沿着曲线给出的路径移动。通过对训练过程早停止,我们找到了一个权值向量w。定性地说,它类似于使用检点的权值衰减正则化项,然后最小化正则化误差函数的方法得到的权值。
(3)验证数据
一个最成功的方法是在训练数据外再为算法提供一套验证数据,应该使用在验证集合上产生最小误差
的迭代次数,不是总能明显地确定验证集合何时达到最小误差.
Typically 30% of training patterns;Validation set error is checked each epoch;
Stop training if validation error goes up
(4)交叉验证
交叉验证方法在可获得额外的数据提供验证集合时工作得很好,但是小训练集合的过度拟合问题更为严重.

(5)添加正则项。L1正则更加容易产生稀疏解、L2正则倾向于让参数w趋向于0.
(6)针对树模型
a.在树过于大之前便停止生长
每个叶中至少需要多少个数据(threshold)
如何判断这个阈值(threshold)是重点【可以考虑用假设检验/P-值】
b.等树生长到足够大之后进行修剪
修剪枝叶,直到任何改动都会降低正确率

4、正则主要方法

(1)L1和L2正则:都是针对模型中参数过大的问题引入惩罚项,依据是奥克姆剃刀原理。在深度学习中,L1会趋向于产生少量的特征,而其他的特征都是0增加网络稀疏性;而L2会选择更多的特征,这些特征都会接近于0,防止过拟合。神经网络需要每一层的神经元尽可能的提取出有意义的特征,而这些特征不能是无源之水,因此L2正则用的多一些。

(2)dropout:深度学习中最常用的正则化技术是dropout,随机的丢掉一些神经元。

(3)数据增强,比如将原始图像翻转平移拉伸,从而是模型的训练数据集增大。数据增强已经是深度学习的必需步骤了,其对于模型的泛化能力增加普遍有效,但是不必做的太过,将原始数据量通过数据增加增加到2倍可以,但增加十倍百倍就只是增加了训练所需的时间,不会继续增加模型的泛化能力了。

(4)提前停止(early stopping):就是让模型在训练的差不多的时候就停下来,比如继续训练带来提升不大或者连续几轮训练都不带来提升的时候,这样可以避免只是改进了训练集的指标但降低了测试集的指标。

(5)批量正则化(BN):就是将卷积神经网络的每层之间加上将神经元的权重调成标准正态分布的正则化层,这样可以让每一层的训练都从相似的起点出发,而对权重进行拉伸,等价于对特征进行拉伸,在输入层等价于数据增强。注意正则化层是不需要训练。

深度学习中的过拟合问题相关推荐

  1. 深度学习中防止过拟合的方法

    在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data Augm ...

  2. 深度学习中的欠拟合和过拟合简介

    通常情况下,当我们训练机器学习模型时,我们可以使用某个训练集,在训练集上计算一些被称为训练误差(training error)的度量误差,目标是降低训练误差.机器学习和优化不同的地方在于,我们也希望泛 ...

  3. 深度学习中拟合是什么意思?

    前言 拟合从数学图像角度来说就是将一组平面图像上的点用平滑的曲线连接起来. 在深度学习中平面图像上的点就是数据特征(验证集样本特征值),然后用线将已经学到的数据特征连接起来,这样才称为拟合. 拟合也分 ...

  4. 深度学习中模型训练效果不好的原因以及防止过拟合的方法

    深度学习中模型训练效果不好的原因 1. 是否选择合适的损失函数 2. 是否选择了合适的Mini-batch size 3. 是否选择了合适的激活函数 4. 是否选择了合适的学习率 5. 优化算法是否使 ...

  5. 深度学习中过拟合、欠拟合现象以及解决方法

    一.过拟合 1.过拟合现象 过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合.具体表现就是 ...

  6. 深度学习中的一些英文解释

    A: (1)anchors:锚点.(anchors(锚点)定义在RPN网络中) B: (1)bounding box:预测边界框. (2)Botton-up 3D proposal generatio ...

  7. 深度学习中的优化简介

    深度学习算法在许多情况下都涉及到优化. 1. 学习和纯优化有什么不同 在大多数机器学习问题中,我们关注某些性能度量P,其定义于测试集上并且可能是不可解的.因此,我们只是间接地优化P.我们系统通过降低代 ...

  8. 深度学习中的注意力机制(一)

    作者 | 蘑菇先生 来源 | NewBeeNLP 头图 | CSDN下载自视觉中国 目前深度学习中热点之一就是注意力机制(Attention Mechanisms).Attention源于人类视觉系统 ...

  9. 一文读懂深度学习中的各种卷积

    来源|机器之心 我们都知道卷积的重要性,但你知道深度学习领域的卷积究竟是什么,又有多少种类吗?研究学者 Kunlun Bai 发布了一篇介绍深度学习的卷积文章,用浅显易懂的方式介绍了深度学习领域的各种 ...

最新文章

  1. Oracle官方教程之Fork/Join
  2. java 自然语言处理_Java自然语言处理
  3. 提示You don't have permission to access /index.php on this server.
  4. jee过滤器应用场景_将涡轮增压器添加到JEE Apps
  5. python中的文件读取注意事项
  6. 纠删码存储系统中的投机性部分写技术
  7. 《Essential C++》笔记之return;分析
  8. 消息(4)——WS附件传输,包体中的base64编码附件
  9. 百度地图开发只显示网格不显示地图信息
  10. 两个表格数据合并怎么完成?
  11. SDM439平台出现部分机型SD卡不能识别mmc1: error -110 whilst initialising SD card【学习笔记】...
  12. 《林林数据结构笔记》线段树求数组区间和,单点更新,区间更新+lazy思想
  13. 麻省理工大学公开课笔记:算法导论(二)——课程简介及算法分析
  14. 苹果退款_苹果如何退款
  15. Oracle | ORA-03135: connection lost contact.
  16. 视频播放器源码(WinForm)
  17. jenkins cicd k8s 多分支流水线构建
  18. PDF和CDF图的区别
  19. VS2015的下载及安装
  20. C语言开发专题(56个案例)-程序设计 - 课程设计

热门文章

  1. 物联网概述(全网最全)
  2. CrownCAD 草图设计原则
  3. 为什么PS输入文字字号很小,却显示特别大
  4. 1900-2090 的农历算法 (VB)
  5. word默认文字环绕方式是什么_在word2010中,艺术字默认的文字环绕方式
  6. VMWare中Ubuntu 20.04.3 LTS编译、安装FFmpeg
  7. 使用leaflet绘制平面图 学习笔记(一)
  8. 拉脱维亚免费邮箱支持SMTP发送邮件
  9. ANDROID物联网开发
  10. Mysql 建立索引之后反而变慢(已解决)