pytorch l2正则化_吴恩达深度学习 编程作业六 正则化(2)

推荐守门员应该将球踢到哪个位置,才能让自己的队员用头击中。

1.无正则化模型

0291ae24a43aff6d3011a332d988be4c.png

94b88193c3256fd02db81b736921a202.png

99ddab8173f6d90336894d4db2260fea.png

判别是否有正则化与调用其他计算函数。

准确率:0.948/0.915

24a2e17695a3cfa1150e01ef22fed86c.png

明显过拟合overfiting了。

2.L2正则化

公式如下,在原有cost函数基础上增加L2项,L2为参数w的均方根

d3aee51c6d23b55a5839e9c970b5af7e.png

根据公式书写代码:

ebac4d8a08342e616dca2a5bf1047dae.png

增加正则项后,反向传播的导数也会对应改变,其余参数不变。

51b0087f83dfe44960c0c172f44dfff3.png

准确率:0.938/0.93,相比没有正则化变好了一些,并且过拟合现象消失。

770098df1a9041bb0d29156502415c24.png

增加超参数

,越大越平滑。

L2正则认为权重越小的函数越简单,越平滑,因此在cost成本函数中增加L2项。

需要改的只有成本函数与反向传播的导数计算公式。

3.Dropout

在深度网络中,每次迭代都以1-keep_prob的概率关闭一些神经元。keep_prob保留神经元的概率。Dropout每次迭代关闭的神经元都不同,因此每次训练的模型其实是不同的,这相当于是另一种神经网络的集成。

步骤:

(1)建立随机数矩阵D,其维度和A输出一样。

(2)将随机数矩阵转化为0,1矩阵,随机数大于keep_prob转换为0,小于keep_prob转换为1。

(3)让矩阵D与矩阵A相乘(对应位置相乘而不是矩阵相乘),得到新的矩阵A,相乘后为0的那些神经元被关闭。

(4)新的矩阵A除以keep_prob,为了使期望值不变。

前向传播+dropout,记得最后计算得到的A要除以keep_prob哦!

3c4058ed7d58c3b59e672757ae5b36cb.png

反向传播+dropout

反向传播时,对A求导数dA需要乘上同一层的D,在得到新的dA后,还需要除以keep_prob。

c6838aa44531becc3753e5884c87303f.png

准确率:0.929/0.95,比之前效果更好。

21c3292e173ef920438341e0b6965e83.png

dropout是一种正则化技术;

dropout只在训练时使用,不在测试中使用;

dropout在前向传播与反向传播中均需要参与,切记除以keep_prob;

小结:

正则化帮助处理过拟合问题;

正则化会减小参数,简化模型;

L2、dropout是一种很好的正则化手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vs中工具箱代表的意思_“日”除了代表太阳,其实还有这种意思,特别是出现在这些词语中的“日”...

对于“日”来说,大家都并不陌生,对于日的成语更是多得数不胜数,今天小编将日字成语进行了一个总结,需要用到的朋友们可以收藏!一:以“日”开头的成语,大多数形容的是时间。日积月累、日久天长、…

mysql or走索引吗_加了索引,mysql查询就一定会用吗?

小白白跑去鹅厂面试,面试官提出了一个很实际的问题: mysql增加索引,那些情况会失效呢?谈一下实际工作中遇到的情况。我们的小白白又抛出了白氏秘籍:用不用索引,找DBA小姐姐!啊?这是你…

基本农田卫星地图查询_如何基于西安80坐标查询定位

1. 概述水经注软件除了可以轻松下载无水印Google Earth卫星影像、有明确拍摄日期的历史影像、地方高清天地图、百度高德大字体打印地图,且可按1万/5千等国家标准图幅下载,下载含高度的全国矢量建筑、全国乡镇及街区行政区划、地名点、高速铁路网、公交路…

tcp的无延时发送_高并发架构的TCP知识介绍

这是关于高并发架构网络协议基础知识的第二篇,编程路上的基础心法!做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控。掌握了这些基本的网络知识后,相信一方面日常排错中会事半功倍&#xff0…

如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...

一、模型简介目前,生存分析领域,最常用的是Cox比例风险回归模型,该模型具有良好的特性,不仅可以分析各种自变量对生存时间的影响,而且对基准风险分布不作任何要求(半参数模型)。Cox模型使用时要满足一定的条件&#xf…

格兰杰因果关系检验r语言_R语言系列第四期:R语言单样本双样本差异性检验

之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示、R语言系列第三期:③R语言表格及其图形展示从这个部分我们就开始为大家介绍统…

java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...

1.导入jar包:org.springframework.bootspring-boot-starter-activemqorg.apache.activemqactivemq-pool2.填写配置文件(application.properties)#设置JMS(AMQ)spring.activemq.broker-urltcp://localhost:61616spring.activemq.useradminspring.activemq.passwordad…

切面是异步还是同步操作‘_分布式中采用Logback的MDC机制与AOP切面结合串联日志...

导读:在实际开发中,打印日志是十分重要的。在生产环境中,如果日志打得好可以快速地排查问题,而在分布式的场景下,一个请求会跨越多个节点,既一个业务可能需要多个节点协调配合处理。那么日志将会分散&#…

java 图类_Java集合类,一张图说清楚!

作者:skywang12345https://www.cnblogs.com/skywa...2019-03-23 10:32:24Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*,Java集合主要可以划分为4个部分…

python 取整_马克的Python学习笔记#数字,日期和时间

对数值进行调整在Python中对整数和浮点数进行数字计算是很容易的。但是,如果你需要对分数,数组或者日期和时间进行计算,这就会稍微复杂点。对于简单的取整操作,我们可以使用内建的round(value, ndigits)函数就可,举个例…

各路由协议的协议号_厂房转让协议

厂房转让协议转让方(甲方):________________受让方(乙方):________________甲乙双方本着平等互利的原则,经协商一致就甲方将其权属的工业用地、厂房等转让与乙方及有关事项达成如下协议:一、工业用地及厂房产权基本情况本协议转让的工业用地位…

java web开发常见问题_JavaWeb学习笔记(五)--Web开发其他常见问题

一、把web应用打成war包使用JDK自带jar命令,进入到web应用里面,执行命令:jar -cvf 包名.war . # .表示当前目录所有的文件 直接用jar可查看帮助执行完成后生成一个demo.war文件,把这个文件拷贝到Tomcat的webapps下,Tom…

uwsgi怎么通过浏览器访问某个脚本_4个Shell小技巧帮你提高机器学习效率:写好脚本,事半功倍...

晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI在机器学习的实践过程中,用好Shell能帮你很多节省时间。最近,有位来自ETHZ的学生分享了一些Shell小技巧。对程序员来说,这些技巧更重要的是让你的思维从琐碎小事中解脱出来,大大提高…

间接寻址级别不同_被遗忘的利息税,国债与存款的利率区别,同大额存单的4点大不同...

2020年6月10日的储蓄式电子国债发行又一次与理财人擦肩而过,因为疫情管控原因,此次暂时不发行,那么下一个认购国债的窗口,就是7月10日,仍然是储蓄式电子国债,期限还是3年期和5年期两种。那么能如期发行吗&a…

抽象类可以用new创建对象吗_宠物可以用人类的湿巾吗?猫咪有泪痕可以用纸巾擦掉吗?...

宠物还有专用的湿巾?当然喽!不养宠物的小伙伴可能是无法理解的,人类的生活条件好了,宠物的生活条件在很多方面比人类还更上一层台阶呢!喜欢逛宠物店和宠物展的小伙伴都会有这样的感慨,那就是人生不如喵生狗…

java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥

JAVA中线程在什么时候需要同步和互斥关注:265 答案:6 mip版解决时间 2021-01-27 08:10提问者时光易老2021-01-27 03:32JAVA中线程在什么时候需要同步和互斥?(假如这题是考试题,要怎样回答?)详细点最佳答案二级知识专家樱花雨梦2021-01-27 04:13例如访…

5g虚拟技术旅游_5G造就文旅新时代,驴迹科技探索智慧出行创新领域

随着我国5G技术的成熟与普及,5G为文旅产业提供新的解决方案,使之焕发新的活力。以5G“新基建”为依托,结合VR虚拟实境以及云计算、高清视频等技术交叉应用,对旅游业的发展带来广泛而深刻的影响,给游客更新鲜、更具有科…

分块排序算法 java_十大经典排序算法最强总结(含JAVA代码实现)

转载自:https://www.cnblogs.com/guoyaohua/p/8600214.html0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而ab,排序之后a仍然在b的前面;不稳定:如…

synchronized锁升级_synchronized详解以及锁的膨胀升级过程

点击上方"码之初"关注,选择"设为星标"与精品技术文章不期而遇来源:www.cnblogs.com/cxiaocai/p/12189848.html架构之路远且艰辛,但是学习的脚步始终不能停止,今天聊一聊synchronized。synchronized是jvm内部的…

改变php二维数组的值_php如何修改二维数组中的值?

php修改二维数组中值的方法&#xff1a;1、通过【for($i 0; $i < count(Array()); $i)】语句修改&#xff1b;2、通过foreach($users as &$user)语句修改。php修改二维数组中值的方法&#xff1a;1、二维数组可以通过for($i 0; $i < count(Array()); $i)这种形式…