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)
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).
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.
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.