Course Overview
This course provides an introduction to machine learning with a special focus on engineering applications. The course starts with a mathematical background required for machine learning and covers approaches for supervised learning (linear models, kernel methods, decision trees, neural networks) and unsupervised learning (clustering, dimensionality reduction), as well as theoretical foundations of machine learning (learning theory, optimization). Evaluation will consist of mathematical problem sets and programming projects targeting realworld engineering applications.
Prerequisites
This course is intended for graduate students and qualified undergraduate students with a strong mathematical and programming background. Undergraduate level training or coursework in algorithms, linear algebra, calculus, probability, and statistics is suggested. A background in programming will also be necessary for the problem sets; students are expected to be familiar with python or learn it during the course. At CMU, this course is most similar to MLD's 10601 or 10701, though this course is meant specifically for students in engineering.
Textbooks
There will be no required textbooks, though we suggest the following to help you to study (all available online): (KM): Machine Learning: A Probabilistic Perspective, Kevin Murphy. Online access is free through CMU’s library. Note that to access the library, you may need to be on CMU’s network or VPN.
 (ESL): Elements of Statistical Learning Trevor Hastie, Robert Tibshirani and Jerome Friedman.
 (TM): Machine Learning, Tom Mitchell.
 (CIML): A Course in Machine Learning, Hal Daumé III.
 (MJ): An Introdution to Probabilistic Graphical Models, Michael I. Jordan.
Piazza
We will use Piazza for class discussions. Please go to the course Piazza site to join the course forum (note: you must use a cmu.edu email account to join the forum). We strongly encourage students to post on this forum rather than emailing the course staff directly (this will be more efficient for both students and staff). Students should use Piazza to:
 Ask clarifying questions about the course material.
 Share useful resources with classmates (so long as they do not contain homework solutions).
 Look for students to form study groups.
 Answer questions posted by other students to solidify your own understanding of the material.
Grading Policy
Grades will be based on the following components:
 Problem Sets (50%): There will be 7 problem sets. Each problem set will have equal weight. We will drop the problem set with your lowest score.
 Late submissions will not be accepted.
 There is one exception to this rule: You are given 5 "late days" (selfgranted 24hr extensions) which you can use to give yourself extra time without penalty. At most two late days can be used per assignment. This will be monitored automatically via Gradescope.
 Solutions will be graded on both correctness and clarity. If you cannot solve a problem completely, you will get more partial credit by identifying the gaps in your argument than by attempting to cover them up.
 Midterm (20%), Final (30%): These exams will cover material from the lectures and the problem sets.
 Bonus: On Piazza, the top student "endorsed answer" answerers can earn bonus points.
Gradescope: We will use Gradescope to collect PDF submissions of each problem set. Upon uploading your PDF, Gradescope will ask you to identify which page(s) contains your solution for each problem  this is a great way to double check that you haven't left anything out. The course staff will manually grade your submission, and you'll receive feedback explaining your final marks.
Regrade Requests: If you believe an error was made during grading, you'll be able to submit a regrade request on Gradescope. For each homework, regrade requests will be open for only 1 week after the grades have been published. This is to encourage you to check the feedback you've received early!
Academic Integrity Policy
Group studying and collaborating on problem sets are encouraged, as working together is a great way to understand new material. Students are free to discuss the homework problems with anyone under the following conditions: Students must write their own solutions and understand the solutions that they wrote down.
 Students must list the names of their collaborators (i.e., anyone with whom the assignment was discussed).
 Students may not use old solution sets from other classes under any circumstances, unless the instructor grants special permission.
Using LaTeX
Students are strongly encouraged to use LaTeX for problem sets. LaTeX makes it simple to typeset mathematical equations and is extremely useful for graduate students to know. Most of the academic papers you read were written with LaTeX, and probably most of the textbooks too. Here is an excellent LaTeX tutorial and here are instructions for installing LaTeX on your machine.
Acknowledgments
This course is based in part on material developed by Fei Sha, Ameet Talwalkar, Matt Gormley, and Emily Fox. We also thank Anit Sahu and Joao Saude for their help with course development.
Schedule (Subject to Change)
Date  Topics  Reading  HW 

1/17  Introduction [Slides] [Annotated] 
KM, Ch. 1 

1/19  Recitation [Annotated Slides] [Python Slides] [Python Notebook]  HW 1 Release  
1/22  MLE/MAP, Linear Algebra Review [Slides] [Annotated] 
TM, Estimating Probabilities KM, Ch. 2 (for a refresh in probability) Math4ML (review/refresher) Vectors, Matrices, and Least Squares Matrix Cookbook 

1/24  Linear Regression, Part I [Slides] [Annotated] 
KM, Ch. 7.17.3 Deep Learning Book, Ch. 5* 

1/26  Recitation [Slides] [Annotated]  
1/29  Linear Regression, Part II [Slides] [Annotated] 
KM, Ch. 7.47.6 Intro to regression 
HW 2 Release 
1/31  Overfitting, Bias/variance Tradeoff [Slides] 
Deep Learning, Ch. 5.25.4 KM, Ch. 6.4 
HW 1 due 
2/2  Recitation  
2/5  Naive Bayes [Slides] [Annotated] 
CIML, Ch. 9 KM, Ch. 3.5 

2/7  Logistic Regression [Slides] [Annotated] 
KM, Ch. 8.18.4, 8.6 Discriminative vs. Generative 

2/9  Recitation  
2/12  SVM, Part 1 [Slides] [Annotated] 
ESL, Ch. 12 KM Ch. 14.5 
HW 2 due HW 3 Release 
2/14  SVM, Part 2 [Slides] [Annotated] 
Idiot's Guide to SVM Duality Supplement 

2/16  Recitation  
2/19  Nearest Neighbors [Slides] [Annotated] 
CIML, Ch. 3.13.2 

2/21  Decision Trees [Slides] [Annotated] 
CIML, Ch. 1.3 KM, Ch. 16.2 ESL, Ch. 9.2 

2/23  Recitation  HW 3 due  
2/26  Boosting, random forests [Slides] [Annotated] 
ESL, Ch. 10.1, 10.410.6 

2/28  Midterm Exam (Inclass)  
3/1  Recitation  
3/4  Spring Break  
3/6  Spring Break  
3/8  Spring Break  
3/11  Graphical Models I [Slides] [Annotated]  HW 4 Release  
3/13  Graphical Models II [Slides] [Annotated]  
3/15  Recitation  
3/18  Neural Networks, Part I [Slides] [Annotated] 
Learning Deep Architectures for AI ImageNet 

3/20  Neural Networks, Part II [Slides] [Annotated] 
Neural Networks and Deep Learning, Ch.3 Regularization for Deep Learning 

3/22  Recitation  HW 5 Release  
3/25  PyTorch [Slides] [Demo]  HW 4 due  
3/27  Neural Networks, Part III [Slides] [Annotated] 
Neural Networks and Deep Learning, Ch.3 Regularization for Deep Learning 

3/29  Recitation  
4/1  Distributed Learning [Slides] [Annotated]  
4/3  Clustering, Part I [Slides] [Annotated] 
CIML, Ch. 15.1 
HW 6 Release 
4/5  Recitation [Slides]  
4/8  Clustering, Part II [Slides] [Annotated] 
ESL, Ch. 14.3.114.3.9 
HW 5 due 
4/10  Dimensionality Reduction [Slides] [Annotated] 
PCA Independent Component Analysis 

4/12  Carnival  
4/15  Online Learning (Bandits) [Slides] [Annotated]  
4/17  Guest Lecture  HW 6 due HW 7 Release 

4/19  Recitation  
4/22  Reinforcement Learning, Part I [Slides] [Annotated] 
RL Book 

4/24  Reinforcement Learning, Part II [Slides] [Annotated]  
4/26  Recitation  
4/30  Final Exam Week  
5/1  HW 7 due 