Skip to content
Oscar Serra edited this page Mar 13, 2015 · 15 revisions

Machine Learning Tutorial Overview

For a quick overview on the contents of this tutorial, check out this PDF Presentation.

  1. Machine Learning
    1. Regression
    2. Classification
    3. Ensembling
    4. Evaluation Metrics
    5. Dimensionality Reduction
    6. Neural Networks
    7. Convex Solvers
    8. Unsupervised Learning
  2. Deep Learning
    1. Basic Neural Networks
    2. Multilayer Neural Networks

Online courses

Contributor notes

This is an open Wiki. Just sign up for a GitHub account and you will be able to contribute.

This is supposed to be a very practical tutorial. Once finished, it should allow anyone to code and play with these algorithms in a very short period of time.

It would be appreciated, for anyone contributing, to keep in mind a few design criteria:

  • The audience is assumed to have a basic knowledge of math (matrix algebra) and programming (Python, C++, Java...), which means that:
    • A general explanation is always welcome, just enough to get a sense of what follows.
    • If specific technical terms are mentioned, a link to Wikipedia or a reliable source should be provided.
  • The outline of every page has to be easily browsable, to be used as a quick reference guide. Therefore:
    • The structure of every algorithm's explanation has to be similar.
    • High level discussion must be present, so that someone without knowledge of this particular algorithm can browse through and see if it is worth spending time on it.
  • The different wiki pages have to be linked in a way that different users with different interests should get what they were looking for as fast as possible. Imagine the following personas:
    • As described above, someone trying to find the best algorithm for a particular problem, so general discussions are welcome.
    • Someone wanting to code a specific Machine Learning algorithm, so make sure to add code snippets.
    • A student trying to get an overview of Machine Learning or Deep Learning.
  • When going into detail explaining the mathematical equations, keep in mind that:
    • We want to only explain the simplest algorithmic representation.
    • There is no need to dig into the mathematical proof. Instead, an external link should be provided.
    • Whenever possible, use matrix algebra notation.
    • The reader should be able to implement the algorithm just by looking at the mathematical description, so be precise and try not to leave any detail undescribed.
Clone this wiki locally