站点图标 多伦多书苑

Python机器学习手册:从数据预处理到深度学习

20.13 调校神经网络

问题描述

为神经网络自动选择最优超参数。

解决方案

联合使用Keras神经网络和scikit-learn的模型选择工具(比如Grid SearchCV):

讨论

第12章的12.1和12.2节讨论了如何使用scikit-learn的模型选择技术为scikit-learn模型寻找最优超参数。在20.12节中我们学习了封装神经网络,以使其可以使用scikit-learn的API。本节我们联合使用这两个技术以找出神经网络的最优超参数。

对于一个模型而言,超参数是非常重要的,应该仔细地选择。但是,在你准备采用网格搜索这样的模型选择策略之前,必须认识到,如果你的模型需要12个小时或者一天的时间来训练,那么网格搜索可能需要花上一周甚至更长的时间。因此,神经网络自动超参数调校不是万能药,但是它在某些特定情形下是有用的。

在上面的解决方案中,我们对一些超参数选项(包括优化算法、epoch的数量和批次的大小)实施了交叉验证的网格搜索。即使这个玩具例子(toy example)都花了几分钟来运行,但是一旦运行结束,我们就可以使用best_params_方法来查看产生了最优神经网络的超参数:

Author:

退出移动版