Commit efc1d155 authored by Simon Clarke's avatar Simon Clarke
Browse files

Neural Networks notebook for MNIST digits data, tbc.

parent e494c2ad
%% Cell type:markdown id: tags:
# Neural Networks - Part 3
%% Cell type:markdown id: tags:
### Contents
* MNIST
* Sequential API
* Saving and restoring models
* Using callbacks
%% Cell type:markdown id: tags:
In the previous exercise we set up a Multilayer Perceptron to model the Iris Dataset. Here we consider the [MNIST handwritten digits database](https://en.wikipedia.org/wiki/MNIST_database) to investigate further aspects of setting up Neural Networks. This is a collection of 60,000 training images and 10,000 testing images, which have been digitised onto a 28x28 grid.
%% Cell type:markdown id: tags:
First we import Tensorflow and Keras.
%% Cell type:code id: tags:
``` python
import tensorflow as tf
from tensorflow import keras
```
%% Cell type:markdown id: tags:
We import from `keras` a built-in function to load the MNIST data set. From `keras` we introduce the functions `Sequential`, which creates a feed-forward neural network, `Dense` which creates a fully connected network and `Activation`, which introduces different activation functions. We also introduce `SGD` which implements stochastic gradient descent.
Finally, we introduce the usual suspects.
%% Cell type:code id: tags:
``` python
from tensorflow.keras.datasets import mnist
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Flatten, Dense, Activation
from tensorflow.keras.optimizers import SGD
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
```
%% Cell type:markdown id: tags:
## MNIST
%% Cell type:markdown id: tags:
We first load the MNIST. This comes already split into a training and testing set. The features are black and white images which are pixellated onto a 28x28 grid, with intensities ranging from 0 to 255. The targets values are the digit (0-9) that each image corresponds to.
%% Cell type:code id: tags:
``` python
(X_train_full, y_train_full), (X_test, y_test) = mnist.load_data()
```
%% Cell type:code id: tags:
``` python
X_train_full.shape
```
%%%% Output: execute_result
(60000, 28, 28)
%% Cell type:code id: tags:
``` python
y_train_full.shape
```
%%%% Output: execute_result
(60000,)
%% Cell type:markdown id: tags:
We can plot the first 40 images in the training set, along with their target values.
%% Cell type:code id: tags:
``` python
fig = plt.figure(figsize=(10,5)) # set up a figure of size 10 x 5
for i in range(40): # loop over the first 40 images
# on a 4 x 10 grid add the next plot with no xticks or yticks
ax = fig.add_subplot(4,10,i+1,xticks=[],yticks=[])
ax.imshow(X_train_full[i], cmap=plt.cm.binary) # plot the image i of the digits and use binary colourmap
ax.text(0,7,str(y_train_full[i])) # add the target value in the lower left corner
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
This is now split into a training set and a validation set, and the features are normalized so that the pixel values ranges from 0 to 1.
%% Cell type:code id: tags:
``` python
X_valid = X_train_full[:5000]/255.0
X_train = X_train_full[5000:]/255.0
y_valid = y_train_full[:5000]
y_train = y_train_full[5000:]
```
%% Cell type:markdown id: tags:
## Sequential API
%% Cell type:markdown id: tags:
Previously we used a single call to initialize the Neural Network, however a cleaner way to do this is to initialize the model and then use the `model.add()` method to sequentially add layers. We need to specify the input shape is a 28x28 matrix, and that the output corresponds to 10 possible categories. The number of hidden layers and the number of neurons in each hidden layer is then arbitrary.
There is also a Functional API to create models, which allows the creation of more complex Neural Networks. This will be discussed in later notebooks.
%% Cell type:code id: tags:
``` python
model = Sequential()
model.add(Flatten(input_shape=[28, 28]))
model.add(Dense(300, activation="relu"))
model.add(Dense(100, activation="relu"))
model.add(Dense(10, activation="softmax"))
model.summary()
```
%% Cell type:code id: tags:
``` python
model.layers
```
%%%% Output: execute_result
[<keras.layers.core.Flatten at 0x7f91439305d0>,
<keras.layers.core.Dense at 0x7f91439307d0>,
<keras.layers.core.Dense at 0x7f9140a42a90>,
<keras.layers.core.Dense at 0x7f91437a0790>]
%% Cell type:markdown id: tags:
To compile the model we use the loss function `sparse_categorical_crossentropy`, as we have mutually exclusive target values for the variables ranging from 0-9. For the Iris data set we used one-hot encoding which created a binary table with each column corresponding to whether or not that instance corresponds to a particular species. In that case the appropriate loss function is `categorical_crossentropy`.
We will use SGD with the default learning rate of `lr=0.01` and decay rate of `decay=0`.
%% Cell type:code id: tags:
``` python
opt = SGD()
model.compile(loss='sparse_categorical_crossentropy', optimizer=opt, metrics=["accuracy"])
```
%% Cell type:markdown id: tags:
Finally we can train the model. In this example we use only 50 epochs (iterations) and use explicit validation datasets. Previously, we specified what proportion of the training set should be used for validation. Due to the large size of the input data (784 features compared with 4 features for the Iris data), training takes significantly longer. Note that for each epoch only 32 randomly chosen instances (the default batch size) are chosen for training the model.
%% Cell type:code id: tags:
``` python
history = model.fit(X_train, y_train, epochs=50, validation_data=(X_valid, y_valid), verbose=2);
```
%% Cell type:markdown id: tags:
The loss and accuracy of the training and validation sets can now be plotted as a function of the epochs of the model. The behaviour looks reasonable where there is no significant difference between the testing and validation data, and the accuracy is generally monotonically increasing, while the loss is monotonically decreasing.
%% Cell type:code id: tags:
``` python
pd.DataFrame(history.history).plot(figsize=(8,5))
plt.grid(True)
plt.xlabel('Epochs')
plt.title('Evolution of sequential neural network for MNIST');
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
## Model accuracy
%% Cell type:markdown id: tags:
Finally we can use the testing set to determine the accuracy of the model. This can be done using the `evaluate` function for the model. As can be seen the accuracy for the test set is consistent with the accuracy of the validation set.
%% Cell type:code id: tags:
``` python
model.evaluate(X_test, y_test)
```
%%%% Output: execute_result
[13.572843551635742, 0.9785000085830688]
%% Cell type:markdown id: tags:
We can also investigate other measures of the accuracy using the actual classifications of the model. The model predicts the probability of a particular classification. To find the actual classification we then just need to find the column in each row with the maximum probability using the function `argmax()`. The precision gives an indication of what percentage of the predictions of that species are correct, while the recall gives an indication of what percentage of the actual samples for that species are predicted correctly. The F1-score gives a weighted average of the precision and recall. For a perfect model all of these would be 1.
The support is the number of actual samples for that species.
As can be seen, the model the recall for 3 is the lowest and the precision for 8 and 9 are the lowest.
%% Cell type:code id: tags:
``` python
proba = model.predict(X_test)
y_test.shape
```
%%%% Output: execute_result
(10000,)
%% Cell type:code id: tags:
``` python
print(classification_report(proba.argmax(axis=1), y_test))
```
%% Cell type:markdown id: tags:
The overall accuracy can also be investigated by plotting the confusion matrix for the classsifications. Here we see the same conclusions as from the classification report.
%% Cell type:code id: tags:
``` python
def plt_confusion_matrix(cnf_matrix, cats, method):
"""
Plots a sklearn confusion matrix with categories 'cats' for a classifier 'method'
"""
# write the confusion matrix to a dataframe with row and column names as the categories, which are already defined
cmatrix = pd.DataFrame(cnf_matrix,columns=cats,index=cats)
f, ax = plt.subplots(figsize=(7,6)) # initialise the plots and axes
sns.heatmap(cmatrix, annot=True, linewidths=.5) # plot the confusion matrix as a heatmap
plt.title('Confusion matrix for '+method) # add a title, + concatenates two strings
plt.ylabel('Actual label') # add a ylabel
plt.xlabel('Predicted label') # add a xlabel
# adjust the bottom and top of the figure, so we can view all of it
bottom, top = ax.get_ylim() # get the y axis limits
ax.set_ylim(bottom + 0.5, top - 0.5); # adjust the y axis limits
cnf_matrix = confusion_matrix(proba.argmax(axis=1), y_test) # create a confusion matrix for our actual and predicted values
plt_confusion_matrix(cnf_matrix, ['0','1','2','3','4','5','6','7','8','9'], 'Neural Network')
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
## Saving the model
%% Cell type:markdown id: tags:
Since the models take a while to run, we don't want to repeat the training every time we are doing some model. We can therefore use `model.save()` to save all the parameters and hyperparameters for the model in HDF5 (a scientific data format).
%% Cell type:code id: tags:
``` python
model.save("KerasMnistModel.hd5")
!ls
```
%% Cell type:markdown id: tags:
Then next time we can load the model using `load_model()`. As can be seen this gives the same accuracy on our testing set.
%% Cell type:code id: tags:
``` python
newmodel = keras.models.load_model("KerasMnistModel.hd5")
newmodel.evaluate(X_test, y_test)
```
%%%% Output: execute_result
[13.572843551635742, 0.9785000085830688]
%% Cell type:markdown id: tags:
We can also store the model after each epoch. For example, this might be useful on Google Colab if you have a very long training run which exceeds 12 hours. Then the last state of the model is saved before the run ends and the model training can be restarted from this last state. Alternatively, your computer might crash during a training run, and then you can restart the calculation at the last state.
To store the model we using `ModelCheckpoint` to create a _callback_ for Keras which tells the program what to do at the beginning and end of each epoch. We also need to reinitialize the model, so that the weights are set randomly. Otherwise, the last values of the weights and biases are used.
%% Cell type:code id: tags:
``` python
from tensorflow.keras.callbacks import ModelCheckpoint
model = Sequential()
model.add(Flatten(input_shape=[28, 28]))
model.add(Dense(300, activation="relu"))
model.add(Dense(100, activation="relu"))
model.add(Dense(10, activation="softmax"))
opt = SGD()
model.compile(loss='sparse_categorical_crossentropy', optimizer=opt, metrics=["accuracy"])
checkpoint_cb = ModelCheckpoint("KerasMnistModel.hd5")
history = model.fit(X_train, y_train, epochs=10,
validation_data=(X_valid, y_valid), verbose=2,
callbacks=[checkpoint_cb]);
```
%% Cell type:markdown id: tags:
Save only the best run. Note verbose=0, and not all of the 20 runs are saved.
%% Cell type:code id: tags:
``` python
model = Sequential()
model.add(Flatten(input_shape=[28, 28]))
model.add(Dense(300, activation="relu"))
model.add(Dense(100, activation="relu"))
model.add(Dense(10, activation="softmax"))
opt = SGD()
model.compile(loss='sparse_categorical_crossentropy', optimizer=opt, metrics=["accuracy"])
checkpoint_cb = ModelCheckpoint("KerasMnistModel.hd5", save_best_only=True)
history = model.fit(X_train, y_train, epochs=20,
validation_data=(X_valid, y_valid), verbose=0,
callbacks=[checkpoint_cb]);
```
%% Cell type:markdown id: tags:
Stop when the model is not making any significant improvement.
%% Cell type:code id: tags:
``` python
from tensorflow.keras.callbacks import EarlyStopping
model = Sequential()
model.add(Flatten(input_shape=[28, 28]))
model.add(Dense(300, activation="relu"))
model.add(Dense(100, activation="relu"))
model.add(Dense(10, activation="softmax"))
opt = SGD()
model.compile(loss='sparse_categorical_crossentropy', optimizer=opt, metrics=["accuracy"])
checkpoint_cb = ModelCheckpoint("KerasMnistModel.hd5", save_best_only=True)
early_stopping_cb = EarlyStopping(patience=4,
restore_best_weights=True)
history = model.fit(X_train, y_train, epochs=40,
validation_data=(X_valid, y_valid), verbose=2,
callbacks=[checkpoint_cb, early_stopping_cb]);
```
%% Cell type:markdown id: tags:
Show how callbacks can be used to change the learning rate.
%% Cell type:markdown id: tags:
## Exercises
......@@ -1071,7 +1071,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
......@@ -1085,7 +1085,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
"version": "3.8.10"
}
},
"nbformat": 4,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment