|
|
51CTO旗下网站
|
|
移动端

2.11 添加Dropout 以防止过拟合

《Python深度学习实战:75个有关神经网络建模、强化学习与迁移学习的解决方案》第2章前馈神经网络,本章的重点是为FNN 和其他网络拓扑的常见实现问题提供解决方案。本章讨论的技术也适用于后续内容。本节为大家介绍添加Dropout 以防止过拟合。

作者:程国建/周冠武 译来源:机械工业出版社|2018-09-01 10:13

2.11 添加Dropout 以防止过拟合

另一个流行的正则化方法是Dropout 技术。在学习阶段通过随机删除神经元之间的连接,Dropout 方法迫使神经网络学习多个独立的表达。例如,当使用0.5 的Dropout 时,必须先对网络训练两个迭代,此后再训练新的连接权重。因此,一个有Dropout 的网络可看作一个网络的集合。

在下面的方案中,将通过添加Dropout 方法来改进一个明显过度训练数据的模型。

如何去做…

1)导入函数库如下:

2)加载数据集并提取特征:

3)标准化特征:

4)拆分数据集以进行训练、验证和测试:

5)定义模型:

6)设置超参数并训练模型:

7)绘制训练过程和测试损失图例:

得到的结果如图2.18 所示。

8)输出最小损失:

9)在网络体系结构中添加Dropout 以防止过拟合:

10)训练新模型:

11)绘制结果,如图2.19 所示。

12)最后,输出最终统计结果数据:


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Web服务安全

Web服务技术是最近几年迅速兴起的一种应用集成技术,而安全问题是影响该技术广泛应用的一个关键因素。这个问题已成为最近几年来国内外研究...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊