Introduction to Machine Learning

Week 1

This class introduces the basic data science toolset:

  • Jupyter* Notebook for interactive coding
  • NumPy, SciPy, and pandas for numerical computation
  • Matplotlib and seaborn for data visualization
  • Scikit-learn* for machine-learning libraries

You’ll use these tools to work through the exercises each week.


Week 2

This class introduces the basic concepts and vocabulary of machine learning:

  • Supervised learning and how it can be applied to regression and classification problems
  • K-Nearest Neighbor (KNN) algorithm for classification


Week 3

This class reviews the principles of core model generalization:

  • The difference between over-fitting and under-fitting a model
  • Bias-variance trade-offs
  • Finding the optimal training and test dataset splits, cross-validation, and model complexity versus error
  • Introduction to the linear regression model for supervised learning


Week 4

This class builds on concepts taught in previous weeks. Additionally you will:

  • Learn about cost functions, regularization, feature selection, and hyper-parameters
  • Understand more complex statistical optimization algorithms like gradient descent and its application to linear regression


Week 5

This class discusses the following:

  • Logistic regression and how it differs from linear regression
  • Metrics for classification errors and scenarios in which they can be used


Week 6

During this session, we review:

  • The basics of probability theory and its application to the Naïve Bayes classifier
  • The different types of Naïve Bayes classifiers and how to train a model using this algorithm


Week 7

This week covers:

  • Support vector machines (SVMs)—a popular algorithm used for classification problems
  • Examples to learn SVM similarity to logistic regression
  • How to calculate the cost function of SVMs
  • Regularization in SVMs and some tips to obtain nonlinear classifications with SVMs


Week 8

Continuing with the topic of advanced supervised learning algorithms, this class covers:

  • Decision trees and how to use them for classification problems
  • How to identify the best split and the factors for splitting
  • Strengths and weaknesses of decision trees
  • Regression trees that help with classifying continuous values


Week 9

Following on what was learned in Week 8, this class teaches:

  • The concepts of bootstrapping and aggregating (commonly known as “bagging”) to reduce variance
  • The Random Forest algorithm that further reduces the correlation seen in bagging models


Week 10

This week, learn about the boosting algorithm that helps reduce variance and bias.


Week 11

So far, the course has been heavily focused on supervised learning algorithms. This week, learn about unsupervised learning algorithms and how they can be applied to clustering and dimensionality reduction problems.


Week 12

Dimensionality refers to the number of features in the dataset. Theoretically, more features should mean better models, but this is not true in practice. Too many features could result in spurious correlations, more noise, and slower performance. This week, learn algorithms that can be used to achieve a reduction in dimensionality, such as:

  • Principal component analysis (PCA)
  • Multidimensional scaling (MDS)