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 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 this Piazza website 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:
 Homework (50%): There will be 7 homeworks. We will automatically drop students lowest score of the first 6 HWS.
 Late submissions will not be accepted.
 There is one exception to this rule: You are given 3 “late days” (selfgranted 24hr extensions) which you can use to give yourself extra time without penalty. At most one late day 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%)
Staff Contact Info
Instructors:
Prof. Yuejie Chi  yuejiec@andrew.cmu.edu 
Prof. Gauri Joshi  gaurij@andrew.cmu.edu 
TAs:
Tuhinangshu Choudhury  tuhinanc@andrew.cmu.edu 
Divyansh Jhunjhunwala  djhunjhu@andrew.cmu.edu 
Muqiao Yang  muqiaoy@andrew.cmu.edu 
Yafei Hu  yafeih@andrew.cmu.edu 
Tianshu Huang  tianshu2@andrew.cmu.edu 
Keane Lucas  kjlucas@andrew.cmu.edu 
Madhav Mahendra Wagh  mwagh@andrew.cmu.edu 
Collaboration 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.
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.
Tentative Schedule
Date  Lecture  Readings  Announcements 

Tue, 30th Aug  Lecture 1 : Intro & Math Quiz [Slides] 


Thu, 1st Sep  Lecture 2 : MLE/MAP and Linear Algebra Review [Slides] 


Fri, 2nd Sep  Recitation [Slides]  
Tue, 6th Sep  Lecture 3 : Linear Regression, part I [Slides] 


Thu, 8th Sep  Lecture 4 : Linear Regression, part II [Slides] 


Fri, 9th Sep  Recitation [Slides] 


Tue, 13th Sep  Lecture 5 : Overfitting, Bias/variance tradeoff, Evaluation [Slides] 


Thu, 15th Sep  Lecture 6 : Naive Bayes [Slides] 


Fri, 16th Sep  Recitation [Slides]  
Tue, 20th Sep  Lecture 7 : Logistic Regression [Slides] 


Thu, 22nd Sep  Lecture 8 : Multiclass Classification [Slides] 


Fri, 23rd Sep  Recitation  
Sun, 25th Sep 


Tue, 27th Sep  Lecture 9 : SVM, part I [Slides] 


Thu, 29th Sep  Lecture 10 : SVM, part II [Slides]  
Fri, 30th Sep  Recitation [Slides, Codes]  
Tue, 4th Oct  Lecture 11 : Nearest Neighbors [Slides] 


Thu, 6th Oct  Lecture 12 : Decision Trees [Slides] 


Fri, 7th Oct  Recitation 


Tue, 11th Oct  Lecture 13 : Boosting, Random Forest [Slides]  
Thu, 13th Oct  Lecture 14 : Graphical Models I [Slides]  
Fri, 14th Oct  Recitation  
Tue, 18th Oct  Fall Break  
Thu, 20th Oct  Fall Break  
Fri, 21st Oct  Fall Break  
Tue, 25th Oct  Lecture 15 : Graphical Models II [Slides] 


Thu, 27th Oct  Midterm  
Fri, 28th Oct  No Recitation  Community Day  
Tue, 1st Nov  Lecture 16 : Neural Networks, Part I [Slides]  
Thu, 3rd Nov  Lecture 17 : Neural Networks, Part II [Slides]  
Fri, 4th Nov  Pytorch Recitation  
Sun, 6th Nov 


Tue, 8th Nov  Lecture 18 : Clustering, Part I [Slides] 


Thu, 10th Nov  Lecture 19 : Clustering, Part II [Slides] 


Fri, 11th Nov  Recitation  
Tue, 15th Nov  Lecture 20 : Dimensionality Reduction [Slides]  
Thu, 17th Nov  Lecture 21 : Online Learning (Bandits) [Slides]  
Fri, 18th Nov  Recitation 


Tue, 22nd Nov  Lecture 22 : Reinforcement Learning, Part I [Slides]  
Thu, 24th Nov  Thanksgiving  
Fri, 25th Nov  Thanksgiving  
Tue, 29nd Nov  Reinforcement Learning, Part II [Slides]  
Thu, 1st Dec  Last Lecture (Review) [Slides]  
Fri, 2nd Dec  Cancelled  Office hours before Final  
Tue, 6th Dec  Guest Lecture on modern topics in ML  
Thu, 8th Dec  Final Exam 