过拟合怎么产生的?防治措施?

摘要:
过拟合是指模型参数拟合过程中出现的问题。因为训练数据包含采样误差,所以复杂模型在训练期间也考虑了采样误差,并且采样误差也很好地拟合。数据集放大这是解决过拟合问题的最有效方法。只要提供足够的数据使模型尽可能适应,参数就会不断修正以获得更好的结果。当过度拟合时,希望它对模型误差的影响越大越好,这样模型就不会过度拟合。

1、什么是过拟合?

过拟合是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。

2、过拟合带来什么问题?

最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。

3、过拟合产生的原因?

在对模型进行训练时,有可能遇到训练数据不够,即训练数据无法对整个数据的分布进行估计;

权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

过拟合怎么产生的?防治措施?第1张

随着模型训练的进行,模型的复杂度会增加,此时模型在训练集上的训练误差会逐渐减小,但在模型的复杂度达到一定程度时,模型在验证集上的误差反而随着模型的复杂度增加而增大,此时便发生了过拟合现象。

4、如何解决过拟合问题?

  • Early stopping

  对模型进行训练的过程即是对模型的参数进行学习更新的过程,往往会用到一些迭代方法,如梯度下降学习算法,Early stopping便是一种迭代次数截断的方法来防止过拟合的方法,在模型对训练集迭代收敛之前停止迭代来防止过拟合。

  具体做法:

  在每一个Epoch结束时(一个Epoch集为对所有的训练数据的一轮遍历)计算validation data 的accuracy,当accuracy不再提高时,就停止训练,在训练的过程中,记录目前为止最好的validation accuracy,当连续10次Epoch(或者更多次)没达到最佳accuracy时,则停止迭代。

  • 数据集扩增

  这是解决过拟合最有效的方法,只要给足够多的数据,让模型尽可能多的适应【例外情况】,就会不断修正参数,得到更好的结果。

从数据源获取更多数据;根据当前数据集估计数据分布参数,使用该分布产生更多数据(一般不用,或引入抽样误差);数据增强,通过一定规则扩充数据,如在物体分类问题里,物体在图像中的位置、姿态、尺度、图片明暗度等都不会影响分类结果,可以通过图像平移、翻转、缩放等扩充数据。

  • 正则化:在神经网络计算损失值的过程中,在损失后面再加一项。

  当欠拟合时,希望它对模型误差的影响越小越好,以便模型快速拟合实际。

  当过拟合时,希望它对模型误差的影响越大越好,以便让模型不要产生过拟合的情况。

引出两个范数L1和L2

  L1:所有学习参数w的绝对值的和

  L2:所有学习参数w的平方和然后求平方根

在计算损失函数时加上正则项,减少特征量的权值,减少方差,避免某些参数值过大即过于“依赖”某些神经元,

  • dropout

  dropout在深度学习网络的训练过程中,多余神经网络单元,按照一定的概率将其暂时兄网络中丢弃。

  训练网络的每个单元要添加一道概率流程:

过拟合怎么产生的?防治措施?第2张

 在每次模型中忽略一些节点的数据学习,将小概率的异常数据获得学习的机会降低,这样这些异常数据对模型的影响就会更小了。keep_prob:保持率,如果为1,则代表全部进行学习。

dropout改变了神经网络的网络结构,它仅仅是属于训练时的方法,所以一般再进行测试时要将dropout的keep_prob变为1,代表不需要进行丢弃,否则会影响模型的正常输出。

免责声明:文章转载自《过拟合怎么产生的?防治措施?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇centos6.5上安装淘宝tfs系统MFC office2007风格设置左侧导航栏 [转]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

泛微E8升级E9代码修改

E8升级E9需要修改后台二次开发的代码,总工作量相当大。CheckCustomize=function(){varnodeId=$.val();//应用程序节点如果{varpgrcontrol=$.val);varfinishpercent=$.vl();如果{如果{Dialog.alert(“进度控制为yes,需要完成百分比!”);return false...

MySQL高可用集群方案

资源不足的小团队或小项目直接建议阿里云和腾讯云II。一些常见解决方案介绍1。MySQL主从架构2。MHA架构参考:生产环境MySQL数据库集群MHA在线实现解决方案MHA目前是MySQL高可用性中比较成熟的解决方案。...

Latex 双栏模式下表格太长怎么办?

有时一张桌子放不下任何一页。如果使用原始表包,它可能会溢出。因此,自动更改表格是很自然的。对于许多在线材料,建议使用Longtable。但是因为我的文章是双栏文章,所以这个包会有问题。例如,表格将只浮动在文本上,标题的显示也有问题。经过长时间的尝试,我终于找到了解决方案,而且非常简单。只需缩放表格。方法如下:egin{table*}[!...

codeforces 765 F Souvenirs 线段树+set

问题的含义:多个查询的间隔中两个数字之差的绝对值的最小值:可以根据查询的l对脱机查询进行排序,并且可以从r到l进行反向查询,并且间隔i+1到n的每次更新都可以确保此更新不会影响下一次和后续更新。因为当两个区间相互覆盖时,具有较小l的区间的值必须小于或等于另一个区间,因此可以绘制一个图来理解。...

css动画延迟好像有点怪

项目需要使用动画Css。自定义时,会发现设置动画延迟和动画持续时间的总时间不正确,这将导致动画丢失。例如,bounceInLeft动画从左侧出现,然后抖动。当初始动画延迟为0时,动画持续时间为1s,动画已完成,但如果设置该值,动画延迟为1s且动画持续时间是2s,则动画未完成。具体的动画是从左侧出现,然后在1s延迟后直接到达终点,但没有抖动。然后我用w3c写了...

java中cookie存取值

Cookie保存值:CookieuserCookie=newCookie(“loginInfo”,loginInfo);userCookie.setMaxAge(30*24*60*60);//生存期为一个月30*24*60*60userCookie.setPath(“/”);response.addCookie(userCookie);Cookie值:Coo...