CMU MLD Logo

10-701: Introduction to Machine Learning

Fall 2023

Key Information and Links

Instructor: Zack Lipton , Henry Chai
Education Associate: Brynn Edmunds
Lectures: Mondays, Wednesdays, 2:00 PM - 3:20 PM (EDT) in DH 2210.
Recitations: Fridays, 2:00 PM - 3:20 PM (EDT) in DH 2210
Announcements/Q&A: We will be using Piazza for making announcements and answering questions.
Homeworks: Homework handouts will be posted to the course website under the Assignments tab. Homeworks should be submitted via Gradescope.
Office Hours: Office hour queue can be found at https://ohq.eberly.cmu.edu/#/courses (Search for "10-701"). The time and location of office hours can be found on the Office Hours section.

Syllabus

1. Course Description

Machine learning studies the question: “how can we build adaptive algorithms that automatically improve their performance (on a given task) as they acquire more experience?” This can cover a dizzying array of technologies depending on what sort of task we have in mind, and we take to constitute experience. Through this framing, we might view classical statistics problems, like estimating the likelihood that a coin lands on heads as an ML problem: the task is to produce an estimate, and the experience would consist of observations. But ML can also include robotics challenges, where the experience is acquired dynamically as our artificial agent interacts with the real world. Other grand challenges in machine learning relate to personalized medicine, natural language processing, and most recently generating media artifacts like photographs and essays (but don’t ask chatGPT to do your homework). This course is designed to give PhD students a solid foundation in the methods, mathematics, and algorithms of modern machine learning. Students entering the class with a pre-existing working knowledge of probability, statistics and algorithms will be at an advantage, but the class has been designed so that anyone with a strong mathematical and computer science background can catch up and fully participate. If you are interested in this topic, but are not a PhD student, or are a PhD student not specializing in machine learning, you might consider the master’s level course on Machine Learning, 10-601. This class may be appropriate for MS and undergrad students who are interested in the theory and algorithms behind ML.

ML course comparison: https://docs.google.com/document/d/1Y0Jx_tcINWQrWJx31WGEQSsUs059OUMmPIVSeyxNdeM/edit

Learning Outcomes: By the end of the course, students should be able to

For more details about the specific topics covered, see the course schedule.

2. Prerequisites

This is a PhD class and requires knowledge of math, statistics, probability and algorithms (including basic knowledge of complexity). Since most PhD students take it in their first or second semester at CMU there are no official pre-reqs for this class.

Students entering the class are expected to have the following type of background:

  1. Basic familiarity with probability and statistics, as can be achieved at CMU by having passed 36-218 (Probability Theory for Computer Scientists), 36-225 (Introduction to Probability Theory), 21-325 (Probability) or comparable courses from other institutions, with a grade of ‘C’ or higher.
  2. College-level maturity in discrete mathematics, as can be achieved at CMU by having passed 21-127 (Concepts of Mathematics), 21-128 (Mathematical Concepts and Proofs), 15-151 (Mathematical Foundations for Computer Science) or comparable courses, with a grade of ‘C’ or higher.
  3. College-level maturity in calculus and linear algebra, as can be achieved at CMU by having passed 21-122 (Integration and Approximation), 21-241 (Matrix Algebra), 21-242 (Matrix Theory) or comparable courses, with a grade of ‘C’ or higher.
  4. Significant programming experience in a general programming language. Specifically, in this course you will be expected to write programs consisting of several hundred lines of code from scratch. This can be satisfied by having passed 15-112 (Fundamentals of Programming and Computer Science) and 15-122 (Principles of Imperative Computation) with a grade of ‘C’ or higher, or comparable courses/experience.

It is your responsibility to make sure you have all of this prerequisite knowledge before you register.

While the core content of this course does not strictly adhere to any single textbook, the following textbooks are all excellent references which you may find useful as you progress through the course:

We may occasionally assign optional readings from these textbooks to help deepen your understanding of the material.

The textbook below is a great resource for those hoping to brush up on the prerequisite mathematics background for this course.

However, if you find yourself regularly and frequently referring to this textbook, we strongly encourage you to consider whether or not you have the necessary prerequisite knowledge to succeed in this course.

4. Assessments

Grading

This course will consist of the following assessments: two exams, four homework assignments, and a final project. The grading breakdown is as follows:

Exams

Unless otherwise noted, all exams for this course will be closed notes; you may bring one sheet of A4 paper as a cheatsheet (both back and front may be used). You are encouraged to handwrite this cheatsheet as a form of preparing for the exam but you may typeset them if you so choose.

The first exam will take place on October 31st. The second exam will take place during the finals period and will be scheduled by the registrar. Please plan your travel accordingly as we will not be able accommodate individual travel needs (e.g., by offering the exam early). If you have an unavoidable conflict with either exam (e.g., an exam in another course), notify us by filling out the associated “exam conflict” form when it is released on Piazza.

Homework

The homeworks will be divided into two components: programming and written. The programming portions will ask you to implement machine learning algorithms from scratch; they emphasize understanding of real-world applications of machine learning, building end-to-end systems, and experimental design. The written portions will focus on core concepts, “on-paper” implementations of classic learning algorithms, derivations, and understanding of theory.

Project

The course project is an opportunity for you to implement, explore and go beyond the methods presented in class applied to a real-world dataset/problem. You will be given a small list of project options to choose from and will work in groups of 3 or 4; you may not work by yourself on the project.

There will be three deliverables associated with the project:

  1. A one-page proposal detailing the baseline method(s) you will implement, your proposed extensions/ideas and the metrics you will use to compare them. These will largely be graded on completion; their primary purpose is for us to catch and correct any early misconceptions about the project task/scope. The proposal is worth 3% of your final grade.
  2. A 2-3 page check-in describing the work done to date and any modifications to the proposed plan as well as the rationale behind them; they may include preliminary results and analysis. Again, these will largely be graded on completion. The check-in is worth 3% of your final grade.
  3. An 8-page final report that describes the entirety of the work done for the project. More details about what precisely is expected in the final reports will be made available closer to the deadline. The final report is worth 20% of your final grade.

5. Course Components

Lectures

Lectures are the primary mode of content delivery in this course. While not required, attending lectures is highly recommended; there will be regular in-class activities and although participation is not a graded component of this course, engaging in these real-time activities can greatly improve your understanding of the material. Lectures will be recorded and made available to you after the fact. However, the primary purpose of these recordings is to allow you to refer back to the content; watching recordings in lieu of attending lectures is not encouraged.

Recitations

Recitations are interactive, problem solving sessions led by TAs. Attendance at recitations is not required, but strongly encouraged; recitations will be recorded. If you are unable to attend one or you missed an important detail, feel free to stop by office hours to ask the TAs about the content that was covered. Of course, we also encourage you to exchange recitation notes with your peers.

Office Hours

Course staff will hold regular weekly office hours: the office hours schedule can be found in the Google calendar for the course. In general, we will endeavor to hold a minimum of 6 office hours per week, with more in the week leading up to an exam.

6. Technologies

During the semester, we will use the following websites to facilitate instruction:

Piazza

We will use Piazza for all course discussion. Questions about homeworks, course content, logistics, etc. should all be directed to Piazza. We will also occasionally use Piazza to post polls during lecture; these polls are done anonymously, you are encouraged to respond to test your own understanding of the material but you will not be graded on your responses. If you have a question, chances are several others have the same question. By posting your question publicly on Piazza, the course staff can answer once and everyone benefits. If you have a private question, you should also use Piazza as it will likely receive a faster response.

Gradescope

We will use Gradescope to collect PDF submissions of the homeworks. The course staff will grade your submission, and you’ll receive personalized feedback explaining the grades you receive. If you believe an error was made during grading, you will 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!

Panopto

Lecture and recitation video recordings will be available on Panopto; these recordings can also be accessed at here.

7. General Policies

Late homework policy

You will have 4 total grace days for use across all of the homework assignments. We will automatically keep a tally of these grace days for you; they will be applied greedily. You may not use more than 2 grace days on any single assignment. Submitting a homework late when you are out of grace days will result in the following penalties:

Any homework submitted more than 48 hours late will receive a score of 0. All homework submissions are electronic (see Technologies section above). As such, lateness will be determined by the timestamp of your latest submission. If you submit the homework 1 minute late, you will be penalized for the full 24-hour period.

Grace days may not be applied to any of the project deliverables.

Extensions

In general, we do not grant extensions on assignments. There are several exceptions:

For any of the above situations, you may request an extension by making a private post on Piazza between yourself and the course staff. The post should be made as soon as you are aware of the conflict.

Audit Policy

Unofficial auditing of the course (i.e. watching the lectures online or attending them in person) is not permitted.

Formal auditing of this course is permitted. You must follow the official procedures for a Course Audit as outlined by the HUB/registrar. Please do not email the instructors requesting permission to audit. Instead, you should fill out the Course Audit Approval form and obtain the instructor’s signature in-person.

Auditors are required to:

Auditors are allowed to sit for the exams but are not required to. Auditors are allowed to work on the course project but only if they clearly communicate their status as an auditor to their project group.

Pass/Fail Policy

Instructor permission is not required to take this course as Pass/Fail. The letter grade cutoff for a Pass will depend on your specific program; we as a course staff do not specify whether or not you Pass but rather we compute your letter grade the same as everyone else in the class and your program converts that letter grade to a Pass or Fail depending on their cutoff. Be sure to check with your program/department as to whether or not you can count a Pass/Fail course towards your degree requirements.

Accommodations for Students with Disabilities:

If you have a disability and an accommodations letter from the Disability Resources office, you must discuss your accommodations and needs with the course EA as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to contact them at access@andrew.cmu.edu.

8. Academic Integrity Policies: Read this section carefully!

Collaboration among Students

  1. Did you receive any help whatsoever from anyone in solving this assignment? Yes / No.

    • If you answered ‘yes’, give full details: ____________
      • (e.g. “Jane Doe explained to me what is asked in Question 3.4”)
  2. Did you give any help whatsoever to anyone in solving this assignment? Yes / No.

    • If you answered ‘yes’, give full details: _____________
      • (e.g. “I pointed Joe Smith to section 2.3 since he didn’t know how to proceed with Question 2”)
  3. Did you find or come across code that implements any part of this assignment? Yes / No. (See below policy on “found code”)

    • If you answered ‘yes’, give full details: _____________
      • (book & page, URL & location within the page, etc.).

Previously Used Assignments

Some of the homework assignments used in this class may have been used in prior versions of this class, or in classes at other institutions, or elsewhere. Solutions to them may be, or may have been, available online, or from other people or sources. It is explicitly forbidden to use any such sources, or to consult people who have solved these problems before. It is explicitly forbidden to search for these problems or their solutions on the internet. You must solve the homework assignments completely on your own. We will be actively monitoring your compliance. Collaboration with other students who are currently taking the class is allowed, but only under the conditions stated above.

Policy Regarding “Found Code”

You are encouraged to read books and other instructional materials, both online and offline, to help you understand the concepts and algorithms taught in class. These materials may contain example code or pseudo code, which may help you better understand an algorithm or an implementation detail. However, when you implement your own solution to an assignment, you must put all materials aside, and write your code completely on your own, starting “from scratch”. Specifically, you may not use any code you found or came across. If you find or come across code that implements any part of your assignment, you must disclose this fact in your collaboration statement.

Duty to Protect One’s Work

Students are responsible for proactively protecting their work from copying and misuse by other students. If a student’s work is copied by another student, the original author is also considered to be at fault and in violation of the course policies. It does not matter whether the author allowed the work to be copied or was merely negligent in preventing it from being copied. When overlapping work is submitted by different students, both students will be punished.

Penalties for Violations of Course Policies

All violations of course policies will always be reported to the relevant university authorities (your Department Head, Associate Dean, Dean of Student Affairs, etc.) as an official Academic Integrity Violation and will carry severe penalties.

  1. The penalty for the first violation is a one-and-a-half letter grade reduction. For example, if your final letter grade for the course was to be an A-, it would become a C+.
  2. The penalty for the second violation is failure in the course, and can even lead to dismissal from the university.

These policies apply even after you complete/drop the course: in extreme cases, we may retroactively change your grade or you may be required to re-add the course so that we can apply the appropriate penalty to your grade.

9. Support

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful. If necessary you can always contact the Course Instructors or Education Associate.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

If the situation is life threatening, call the police:

10. Diversity

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We at CMU will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:

Center for Student Diversity and Inclusion:

Report-It online anonymous reporting platform:

All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.


Staff

Instructor


Education Associate


Teaching Assistants

Emily Byun
Emily Byun
Filipp Nikitin
Filipp Nikitin
Roger Jin
Roger Jin
Yudong Liu
Yudong Liu


Office Hours

  • Yudong Liu - Monday 11:00 - 12:00, WEH 8427
  • Instructors - Mondays 3:30 - 4:30 GHC 8133 or GHC 8129
  • Roger Jin - Tuesday 13:00 - 14:00, WEH 4709
  • Filipp Nikitin - Wednesday 15:30 - 16:30, WEH 5328
  • Yutian Chen - Thursday 16:30 - 17:30, GHC 9115
  • Emily Byun - Friday 11:00 - 12:00, Remote on Zoom at https://cmu.zoom.us/my/yewonbyun


Schedule

Date Topic Slides Readings/Resources
M, Aug-28 Introduction: Logistics, Notation & Problem Formulation Lecture 1 (Inked)
W, Aug-30 Decision Trees Lecture 2 (Inked) Mitchell, Chapter 3
Daumé III, Chapter 1
M, Sep-4 Labor Day - No Class
W, Sep-6 KNNs & Model Selection Lecture 3 (Inked) Mitchell, Sections 8.1 & 8.2
Daumé III, Chapter 3
M, Sep-11 Linear Regression Lecture 4 (Inked) Bishop, Section 3.2
Murphy, Sections 7.1-7.3
W, Sep-13 Regularization Lecture 5 (Inked) Murphy, Sections 7.5 & 14.4
M, Sep-18 MLE/MAP Lecture 6 (Inked) Mitchell, Estimating Probabilities
Murphy, Sections 15.1 & 15.2
W, Sep-20 Naïve Bayes Lecture 7 (Inked) Murphy, Section 3.5
M, Sep-25 Bayesian Networks Lecture 8 (Inked) Murphy, Section 10.1-10.5
W, Sep-27 Causality Lecture 9 Notes (Optional and LONG) Pearl, Causual Inference in Statics A Primer, (Optional) Hernan, Chapter 1-3
M, Oct-2 Reinforcement Learning Lecture 10 (Inked) Mitchell, Chapter 13
W, Oct-4 Reinforcement Learning Lecture 11 (Inked) Mitchell, Chapter 13
M, Oct-9 Neural Networks Lecture 12 (Inked) Mitchell, Chapters 4.1-4.6
Zhang, Lipton, Li, & Smola, Chapters 5.1-5.3
W, Oct-11 MLPs & Backpropagation Lecture 13 (Inked) Mitchell, Chapters 4.1-4.6
Zhang, Lipton, Li, & Smola, Chapters 5.1-5.3
M, Oct-16 Fall Break - No Class
W, Oct-18 Fall Break - No Class
F, Oct-20 Fall Break - No Class
M, Oct-23 Historical Perspective of NNs and Deep Learning Lecture 14
W, Oct-25 CNNs Lecture 15 d2l.ai Chapter 7, LeNet paper
M, Oct-30 Modern CNNs Lecture 16 d2l.ai Chapter 8
Optional: AlexNet, VGG, BatchNorm and ResNet papers
Tu, Oct-31 Midterm Exam (Evening)
W, Nov-1 Unsupervised Learning & Dimensionality Reduction Lecture 17 (Inked) Murphy, Section 12.2 & 25.5
Daumé III, Chapter 15
M, Nov-6 VAEs & GANs Lecture 18 Optional: NIPS 2016: Generative Adversarial Networks (Video), NIPS 2016: Generative Adversarial Networks (Notes), Tutorial on Variational Autoencoders, Diffusion based generative models
W, Nov-8 Recitation in lieu of Lecture
F, Nov-10 GANs & Diffusion Models Lecture 19
M, Nov-13 RNNs & BPTT Lecture 20 d2l.ai Chapter 9
Understanding LSTMs by Chris Olah
W, Nov-15 Attention & Transformers Lecture 21 NIPS 2017: Attention is all you need
M, Nov-20 Pretraining, Fine-tuning & In-context Learning Lecture 22 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,
Language Models are Unsupervised Multitask Learners,
Language Models are Few-Shot Learners
W, Nov-22 Thanksgiving - No Class
F, Nov-24 Thanksgiving - No Class
M, Nov-27 Robustness Lecture 23 Detecting and Correcting for Label Shift with Black Box Predictors,
Adversarial Robustness - Theory and Practice by Zico Kolter and Aleksander Madry
W, Nov-29 Fairness Lecture 24 Dissecting racial bias in an algorithm used to manage the health of populations,
Gender Shades,
How to Argue with an Algorithm: Lessons from the COMPAS-Propublica debate
M, Dec-4 Fairness Lecture 25
W, Dec-6 Interpretability Lecture 26 The Mythos of Model Interpretability
F, Dec-15 Final Exam Final Exam Learning Objectives

Recitations

Attendance at recitations is not required, but strongly encouraged. Recitations will be interactive and focus on problem solving; we strongly encourage you to actively participate. A problem sheet will usually be released prior to the recitation. If you are unable to attend one or you missed an important detail, feel free to stop by office hours to ask the TAs about the content that was covered. Of course, we also encourage you to exchange notes with your peers.

Date Topic Handout
F, Sep-1 NO RECITATION
F, Sep-8 Decision Trees & KNNs Recitation 1 (Solutions), Coding Presentation
F, Sep-15 Instructor Office Hours
F, Sep-22 Linear Regression, Stochastic Gradient Descent, MLE/MAP & Naïve Bayes Recitation 2 (Solutions)
F, Sep-29 Bayesian Networks Recitation 3 (Solutions)
F, Oct-6 Reinforcement Learning Recitation 4 (Solutions)
F, Oct-13 Neural Network & Backprop (Intro to PyTorch) Recitation 5 (Jupyter Notebook)
F, Oct-27 Midterm Review Recitation 6 (Solutions)
F, Nov-3 Advanced PyTorch Techniques Recitation 7 (Jupyter Notebook)
W, Nov-8 Project Work Time
F, Nov-17 RNNs & Transformers in PyTorch Recitation 8 (Jupyter Notebook)
F, Dec-1 The Art of the Paper
F, Dec-8 Final Review Final Practice Problems (Solutions)

Assignments

Release Date Topic Files Due Date
Sep-6 HW1: Decision Trees & KNNs Handout, Overleaf Sep-20
Sep-20 HW2: Linear Regression & Naïve Bayes Handout, Overleaf Oct-4
Oct-4 HW3: Bayesian Networks & Reinforcement Learning Handout, Overleaf Oct-11
Oct-11 HW4: Feed-forward Neural Networks Handout, Overleaf Oct-25
Oct-13 Project Details Released Specifications
Project Proposals Due Nov-3
Project Check-ins Due Nov-17
Project Report Due Dec-8

Project

Project details will appear here once they have been finalized.

Calendar






Page last updated at: 12 Dec 2023