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_方法来查看产生了最优神经网络的超参数:




本书评论