Brainstorm your own Artificial Neural Network in Python
Code for Kiwi PyCon 2016 Presentation by Holger Spill
Have you ever wanted to teach your computer how to recognise handwritten digits? The difficulty of visual pattern recognition becomes apparent when writing a computer program to recognize shapes. What seems easy when we do it ourselves quickly becomes complex when done programmatically. This talk will explore some of the concepts of Neural Networks with Brainstorm – an open-source Python library.
You don't need a PhD in math to run some machine learning algorithms in python and get some understanding of what’s going on. Just have fun with what you can do!
The high-level walk-through is:
- Our case: recognizing handwritten digits
- The setup
- More detail on the libraries used – numpy, pillow & brainstorm
- Getting data – the MNIST dataset of handwritten digits
- Training – initialising, mini-batches and epochs
- Overfitting and how we can do better
- Stacking neurons – why the developer is key
- More tuning
- Finally – classify!
On Ubuntu/Debian:
- sudo apt-get install python-dev libhdf5-dev libopenblas-dev
- sudo pip install numpy pillow brainstorm
- Run step1_get_dataset.py
- ...
This is work in progress ...