Machine Learning 101: Build you a Skynet

The event

In this session, regular LS#'er Grant Crofton will introduce us to the interesting field of Machine Learning (ML).

Want to build Skynet, but don't know where to start?  Grant will give a brief overview of various kinds of ML including Neural Networks, KNN, Bayesian Classification, and Genetic Algorithms.  We'll also take a look at the kinds of problems these algorithms are good at solving.

But don't worry, it's not all theory - most of our time will be taken up writing our very own digit recognition systems using the simplest of ML algorithms, k-nearest neighbors (KNN).  The goal in this exercise is to take images of handwritten single digits, and determine what those digits are.  We'll be using the famous MNIST character data, commonly used to study and compare ML algorithms.

Although it may sound tricky, it's actually relatively straightforward, and we'll have partially-written solutions in C# and F# to help get us going.  (Any other language and I'm afraid you'll have to start from scratch, although it's still achievable in the time).

After that, you should be well on your way to creating your very own self-aware Global Digital Defense Network with which to destroy humanity!  But if you get a re-programmed T-101 coming back through time and trying to stop you, you're on your own..

Links from the event