如何提高神经网络的泛化能力?八大要点掌握_如何提高泛化能力-程序员宅基地

技术标签: 神经网络  

提高神经网络的泛化能力

1. 使用更多数据

在有条件的前提下,尽可能多地获取训练数据是最理想的方法,更多的数据可以让模型得到充分的学习,也更容易提高泛化能力。

2. 使用更大批次

在相同迭代次数和学习率的条件下,每批次采用更多的数据将有助于模型更好的学习到正确的模式,模型输出结果也会更加稳定。

3. 调整数据分布

大多数场景下的数据分布是不均匀的,模型过多地学习某类数据容易导致其输出结果偏向于该类型的数据,此时通过调整输入的数据分布可以一定程度提高泛化能力。

4. 调整目标函数

在某些情况下,目标函数的选择会影响模型的泛化能力,如目标函数 f ( y , y ′ ) = ∣ y − y ′ ∣ f(y,y')=|y-y'| f(y,y)=yy在某类样本已经识别较为准确而其他样本误差较大的侵害概况下,不同类别在计算损失结果的时候距离权重是相同的,若将目标函数改成 f ( y , y ′ ) = ( y − y ′ ) 2 f(y,y')=(y-y')^2 f(y,y)=(yy)2则可以使误差小的样本计算损失的梯度比误差大的样本更小,进而有效地平衡样本作用,提高模型泛化能力。

5. 调整网络结构

在浅层卷积神经网络中,参数量较少往往使模型的泛化能力不足而导致欠拟合,此时通过叠加卷积层可以有效地增加网络参数,提高模型表达能力;在深层卷积网络中,若没有充足的训练数据则容易导致模型过拟合,此时通过简化网络结构减少卷积层数可以起到提高模型泛化能力的作用。

6. 数据增强

数据增强又叫数据增广,在有限数据的前提下通过平移、旋转、加噪声等一些列变换来增加训练数据,同类数据的表现形式也变得更多样,有助于模型提高泛化能力,需要注意的是数据变化应尽可能不破坏元数数据的主体特征(如在图像分类任务中对图像进行裁剪时不能将分类主体目标裁出边界)。

7. 权值正则化

权值正则化就是通常意义上的正则化,一般是在损失函数中添加一项权重矩阵的正则项作为惩罚项,用来惩罚损失值较小时网络权重过大的情况,此时往往是网络权值过拟合了数据样本(如 L o s s = f ( W X + b , y ′ ) + λ η ∑ ∣ W ∣ Loss=f(WX+b,y')+\frac{\lambda}{\eta}\sum{|W|} Loss=f(WX+b,y)+ηλW)。

8. 屏蔽网络节点

该方法可以认为是网络结构上的正则化,通过随机性地屏蔽某些神经元的输出让剩余激活的神经元作用,可以使模型的容错性更强。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/frighting_ing/article/details/117403379

智能推荐

springboot(三)--mvc拦截器、web servlet、filter、listener的使用_springboot中拦截器还用webmvc吗-程序员宅基地

文章浏览阅读1.2k次。如题。本篇,我们介绍写springboot (web工程)中mvc拦截器使用以及web servlet、filter、listener的使用。一、mvc拦截器配置、使用 spring mvc拦截器,能够拦截对指定路径的controller的访问 ,但不会拦截对servlet的访问,因为本质上讲springMVC(前端控制器)也是个servlet,试问servlet又怎么能够拦截对ser..._springboot中拦截器还用webmvc吗

“理想男朋友”职业榜单出炉,java程序员是否榜上有名?_理想男友程序员-程序员宅基地

文章浏览阅读588次。而Java程序员作为IT行业中非常重要的职业之一,虽然在女生的职业榜单中并不是排名靠前的理想男友职业之一,但是从职业前景和发展角度来看,Java程序员是一个非常有吸引力的职业。虽然Java程序员在女生的职业榜单中并没有超过医生,但是能在前十名的榜单中也不容易,作为一个优秀的Java程序员,可以获得高薪、稳定的工作和广阔的发展前景,是一个非常值得追求的职业。虽然在女生的职业榜单中,Java程序员并不是排名靠前的理想男友职业之一,但是从职业前景和发展角度来看,Java程序员是一个非常有吸引力的职业。_理想男友程序员

JavaScript初识及基本语法详解-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏22次。JavaScript初识及基本语法详解_javascript

【120期】面试官:谈谈什么是微服务?-程序员宅基地

文章浏览阅读365次。程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 2.8 分钟。来自:https://www.jianshu.com/p/d9504fc0af4d注:本文以面试应答目..._面试官问微服务了解过吗

利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装---免额外安装CUDA和cudnn(适合小白的保姆级教学)_将python的版本切换为paddle环境中的python插件-程序员宅基地

文章浏览阅读10w+次,点赞976次,收藏4.1k次。一、英伟达驱动安装与更新 显卡驱动程序就是用来驱动显卡的程序,它是硬件所对应的软件。驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。正常有显卡的电脑都是有驱动程序的,但是有的时候驱动可能版本比较低,支持的cuda版本也是比较低的(但是有的人的显卡是比较老的,就不建议更新驱动,这样会导致各种各样的问题,但是搞深度学习还是要用一块好的显卡用来学习,这点我是有血泪教训的,咬咬牙买块好的显卡,把知识学到手,以后的工资可以多赚会很多显卡的钱),英伟达出的30系列的显卡好像只支持cu..._将python的版本切换为paddle环境中的python插件

数据可视化(一):体绘制的概念与算法实现-光线投射算法 (ray-casting)-程序员宅基地

文章浏览阅读659次。体绘制的概念与部分算法实现-光线投射算法 (ray-casting)_光线投射算法

随便推点

关于springboot 使用JWT技术启动项目报错问题_error org.springframework.boot.web.embedded.tomcat-程序员宅基地

文章浏览阅读1.5k次。Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat_error org.springframework.boot.web.embedded.tomcat.tomcatstarter - error sta

用LabVIEW开发简仪USB101数据采集卡会是怎样的?_简仪科技驱动程序-程序员宅基地

文章浏览阅读2k次,点赞7次,收藏10次。说起简仪的USB-101口袋数据采集卡,就得先说说简仪公司(www.jytek.com)。简仪是一家利用微软.net/C#技术开发开源数据采集的公司,软件有开源的锐视测控平台,硬件涵盖各种性能、接口的数据采集卡。既然是基于.net/C#技术的,编程使用的微软的Visual Studio,这就意味着简仪的数据采集和NI的LabVIEW基本没有交集,而且简仪官方也不提供数据采集卡在使用LabVIEW..._简仪科技驱动程序

深度剖析日本上市养老企业前3强:企业概要、服务内容、经营指标、风险变革_养老公司上市测算-程序员宅基地

文章浏览阅读1k次。撰文丨刘超开篇:20世纪60年代,日本开始实施老人福祉政策,彼时其老龄化比例仅为5.7%。然而,20世纪70年代,日本开始进入老龄化社会,到今年,其老龄化比例已升至28.9%。预计2025年,老龄化比例将升至30.0%,2055年老龄化比例将达到38.0%。图:日本65、75岁以上人口数现状及未来预测严峻的老龄化形势带来的是日本养老介护服务市场规模的日益扩大。不仅如此,日式养老介护还走出了自己的品牌之路,日本甚至出面代言:向以中国为主的亚洲国家推出“介护出口政策”。然而,据日本某记者报道_养老公司上市测算

为Java应用程序提供了空前的代码保护控件DashO-Pro-程序员宅基地

文章浏览阅读142次。2019独角兽企业重金招聘Python工程师标准>>> ..._preemptive_protection_dashoeval

函数发生器输出电压值会与设定值不同_函数信号发生器输出电压不准-程序员宅基地

文章浏览阅读6.5k次,点赞6次,收藏9次。函数发生器输出电压值会与设定值不同我是在做STM32AD采样时发现的这个问题,明明输出的信号峰峰值1V,通过单片机计算过幅值之后,却翻了一倍。加上直流偏移量之后,就变得无规律可循。本以为是程序的问题,后来放到示波器上验证了一下,发现结果和我用STM32计算的一模一样。实际上,是因为两个仪器的阻抗不匹配。函数和任意波形发生器的缺省设置的输出阻抗是50欧姆,而示波器则是1M欧姆(大概单片机也是吧..._函数信号发生器输出电压不准

iOS:crash崩溃日志分析-程序员宅基地

文章浏览阅读1k次。一、前言:作为一个合格的iOS开发者,除了具有规范强悍的编码能力外,还应该具有过硬的查错纠错能力。在项目运行时,程序崩溃是不可避免的,遇到这个问题,有时会出现一大堆的crash日志,艹,貌似看不懂呀。其实没有那么可怕,我们可以将这些日志格式化,通过它来快速定位问题的所在,以便迅速搞定它。二、分析:首先我们来看一个crash日志,大略的介绍其中的几个重要的关键词:..._ios日志闪退关键词

推荐文章

热门文章

相关标签