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 real-world 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 10-701, 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” (self-granted 24-hr 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 : Multi-class 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 |