learnml

Learning to learn with machines in a hands-on manner.

View the Project on GitHub feedbackward/learnml

Learning to “do” machine learning

This project is composed of a series of short, hands-on tutorials designed to provide some insight into the multi-faceted nature of machine learning tasks. These days, it is very easy for almost anyone to fire up a standard library, pass some vector data to a pre-trained model, and have that pre-fab system carry out some predictions or quantization. In many cases, however, the existing models and algorithms may not suit the data/task at hand, at which point it becomes necessary to make your own tools. This requires a more intimate understanding of what is going on “behind the scenes” when standard libraries are being run.

This series of tutorials is designed to impart the key underlying ideas, design principles, and technical procedures involved in developing a “learning machine.” We prioritize hands-on examples, with inline blocks of Python code available throughout, for users to read, modify, and execute themselves. We have also endeavoured to make lucid the correspondence between concepts illustrated using mathematical formulae, and the concrete objects that appear in the code.

Author and maintainer:
Matthew J. Holland (Osaka University, Institute for Datability Science)

Viewing the tutorial

Thanks to the superb nbviewer service, you can easily view static versions of the notebooks by following the links below. To actually modify the code and run it yourself, download the materials in whatever form you like, cd to the appropriate directory, and run jupyter notebook (in the case of running on a remote server, follow the instructions here).

Getting your hardware/software set up

Getting data ready

Preparing a model

Designing a learning algorithm

Doing some machine learning

All the main contents of this tutorial make use of data; some of it is simulated, and some of it is real. The real-world data must be acquired from the original sources. These are described and linked to in the description of data sources part of the tutorial, so please read this before starting.

Downloading tutorial materials

If you have git, then the recommended procedure is to run:

git clone https://github.com/feedbackward/learnml.git

For those with some aversion towards git (for whatever reason), there are compressed archives available for direct download from this GitHub page as well.