前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习中的过拟合问题

深度学习中的过拟合问题

作者头像
小锋学长生活大爆炸
发布2020-08-13 14:46:39
2K0
发布2020-08-13 14:46:39
举报
文章被收录于专栏:小锋学长生活大爆炸

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、过拟合问题
  • 2、产生过拟合根本原因:
  • 3、解决方案及原理
  • 4、正则主要方法
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档