We cannot test the effectiveness of the dropout with a more challenging classification problem. The dataset is the classical MNIST handwritten digits, but Keras allows downloading and working with the original version that is made up of 70 thousand (60 thousand training and 10 thousand test) 28 × 28 grayscale images. Even if this is not the best strategy, because a convolutional network should be the first choice to manage images, we want to try to classify the digits considering them as flattened 784-dimensional arrays.
The first step is loading and normalizing the dataset so that each value becomes a float bounded between 0 and 1:
import numpy as npfrom keras.datasets import mnistfrom keras.utils import to_categorical ...