intro-ml

This repo hosts a presentation for an introduction to machine learning.

View the Project on GitHub

An introduction to machine learning

This is the repo for a presentation and associated code on an introduction to machine learning, as well as some resources for further information.

Where to begin

The presentation is located here, which introduces some high-level concepts of machine learning and then introduces the idea of deep learning. Some good supplements include Udacity’s friendly intro to ML, as well as the highly popular Coursera course and associated course.

Code

Just run the Jupyter notebooks in order to go through a basic introduction to building deep models in TensorFlow and Keras. The last notebook is an exercise/fun project to finetune your own image classifier for whatever dataset you want. Each of the notebooks heavily borrows on other tutorials and blogposts which are referenced throughout; all the credit to them!

Dependencies

A basic understanding of navigating using terminal is recommended; if you don’t have that, try reading this tutorial.

First, clone or download this repository from Github.

After installing Python 3, you can simply do a pip install -r requirements.txt for the dependencies. It’ll install Python 3, Jupyter, NumPy, TensorFlow, and Keras, which are the dependencies in the attached Jupyter notebooks. Scikit-learn is optional but also recommended for experimenting with non-deep models.

Afterwards, just run jupyter notebook in this repository’s directory and get started with the notebooks!

Training in the cloud

Often, you don’t want to use your personal machine to train your models. Sometimes you don’t have a GPU, or don’t want to keep your personal computer running. In that case, Github Education partners with Amazon Web Services to provide $100 of credit for you to run a GPU machine on Amazon’s cloud. If you’re a student, sign up with your edu account at Github Student Developer Pack and choose the Amazon Educate package. Try this tutorial to get Jupyter set up with AWS.

Next steps

Try completing the last notebook’s problem for an interesting problem! At the end, you’ll learn how to finetune a pretrained model to classify whatever dataset you want.

Some more resources on machine learning are located here, originally written as a list of resources for Duke’s Machine Learning and Data Science (MLADS) club.