In case you need to optimize batch size, number of epochs, learning rate, type of optimizer and dropout rate how should you do it?