Dependencies:
PyTorch
Pyro
Numpy
Matplotlib
Output example with ideal image (from handwritten digits database):
Outputs where network refuses to classify:
The state of the art results on MNIST dataset have 99.8% accuracy. So our ~96% accuracy (when we want to make a prediction) has a fairly long way to go.
There are four ways to get better accuracy:
- We used a very simple model: single layer neural network with 1024 neurons. One way to improve accuracy would be to use a more advanced convolutional network.
- If we keep running our optimization for much longer, we can improve our accuracy.
- If we sample more data points (rather than 100) per image, results could improve.
- If we make our acceptance criteria from median probability to be minimum 0.2 to perhaps 10th percentile probability to be minimum 0.5, our network will reject a lot more images but on accepted ones, it may have a higher accuracy.



