There are a few methodologies out there for optimizing parameters; for example, some are gradient-based (Rivas, P., et al. 2014; Maclaurin, D., et al. 2015), others are Bayesian (Feurer, M., et al. 2015). However, it has been difficult to have a generalized method that works extremely well and that is efficient at the same time – usually, you get one or the other. You can read more about other algorithms here (Bergstra, J. S., et al. 2011).
For any beginner in this field, it might be better to get started with something simple and easy to remember, such as random search (Bergstra, J., & Bengio, Y. 2012) or grid search. These two methods are very similar and while we will focus here on grid search, the implementations of both are very similar.
Libraries and parameters
We will need to use two major libraries that we have not covered before: GridSearchCV, for executing the grid search with cross-validation, and KerasClassifier, to create a Keras classifier...