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

2.9 测试不同的优化器

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

作者:程国建/周冠武 译来源:机械工业出版社|2018-08-30 19:06

2.9 测试不同的优化器

最流行和最有名的优化器是随机梯度下降(SGD)。这种技术也广泛应用于其他机器学习模型。SGD 是一种通过迭代发现最小值或最大值的方法。SGD 有许多流行的变种,其通过使用自适应学习率来加快收敛速度和减少调整。表2.1 概述了深度学习中最常用的优化器。

表2.1 深度学习中最常用的优化器

优化器的选择是任意的,其很大程度上取决于用户调整优化器的能力。没有最好的解决方案能解决所有问题。SGD 能使用户通过选择一个小的学习率来避免局部最优化,但是缺点是训练时间太长。在下面的方案中,将用不同的优化器来训练网络,并比较结果。

如何去做…

1)导入函数库:

2)导入数据集并提取目标变量:

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

4)定义一个创建模型的函数:

5)创建一个函数,定义在训练期间将使用的回调函数:

6)创建一个想要尝试的优化器字典:

7)训练网络并存储结果:

8)比较结果:

得到如图2.15 所示结果。

在第12 章 超参数选择、调优和神经网络学习 中,将演示如何使用网格搜索来进行参数调优。网格搜索可以用来寻找合适的优化器(结合其他超参数)来调整神经网络学习过程。

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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

读 书 +更多

Grails权威指南

本书译自Grails项目负责人Graeme Keith Rocher所著的“The Definitive Guide to Grails”一书,着重介绍了如何在Grails框架下使用Groovy语...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网