Hands-on Introduction to Machine Learning

There are many excellent machine learning resources online.  But it’s tough to learn a technical topic without a teacher.  Let’s learn together!

I’ve been teaching workshops on Machine Learning for years and I was once a Teaching Assistant for the now famous Stanford CS221 class.



Students should leave with the ability to take training data, do feature selection and actually build models for applications like content categorization and sentiment analysis and image recognition.  Students should be able to actually use models in their day-to-day work.

Students should also walk away with a high level understand of how common models such as Deep Neural Networks, SVMs, Logistic Regression and Naive Bayes work and when to use them.

Prerequisite Knowledge

I try to make this class as accessible as possible.  Some proficiency with Python is necessary.  If you can open up a Jupyter notebook and install requisite software that’s helpful but we’ll also cover how to do that quickly in the beginning.

Technologies Introduced

  • Intro to Machine Learning
    • Scikit-learn
    • Numpy
    • Jupyter
  • Intro to Machine Learning Platforms
    • Azure ML
    • Amazon ML
  • Intro to Deep Learning
    • TensorFlow
    • Keras


9:00 – 10:00 Breakfast and Install Requisite Software

I always take it as a personal challenge to get the prerequisite machine learning software installed on everyone’s laptop.  We can all learn uplevel our unix-fu by helping each other get set up.

10:00 – 12:00 Build a Sentiment Classifier From Scratch

Everyone builds a twitter sentiment classifier using scikit-learn.  We try multiple feature selection approaches and multiple model types.  We learn some common tricks for actually making machine learning effective in the real world.

12:00-1:00 Lunch and History/Theory of Machine Learning

Eat lunch and for your dining entertainment I will introduce a little math and a little stats and a little history of how machine learning got to where it is today.

1:00-2:30 Try the Common Machine Learning Platforms

These days, there are many excellent, low cost machine learning platforms.  We will try rebuilding our sentiment classifier on two of the most common: Microsoft Azure ML and Amazon ML.  If students want to try Google Predict or Salesforce Einstein or IBM Watson we can do that too.

2:30-3:00 Break and Q&A

We can discuss other applications of this technology and look at how it might apply to real-world tasks that students may be working on.

3:00-5:00 Introduction to TensorFlow and Deep Neural Networks

We will learn how deep neural networks work and actually build one!  If you bring a laptop with a GPU that supports CUDA (for example a MacBook with Mac OS X 10.11 or later), we’ll see if we can make it GPU accelerated.

We’ll all build a network to do handwritten digit recognition.

5:00-5:30 Wrap up and Q&A

We will finish up and discuss how to apply this knowledge directly to problems that we actually face in our jobs.