10-701: Introduction to Machine Learning
Spring 2024
Key Information and Links
Instructor: | Henry Chai |
Education Associate: | Daniel Bird |
Announcements/Q&A: | We will be using Piazza for making announcements and answering questions. |
Lectures: | Mondays and Wednesdays from 9:30 AM to 10:50 AM (EST) in TEP 1403. Lectures will be recorded for students to review after the fact; the recordings will be hosted on Canvas. |
In-class Polls: | Some portion of your grade will be determined based on participation in polls during lecture. The latest poll can always be found at pollev.com/10701polls; in order to respond, you must be logged in with your CMU email. |
Recitations: | Fridays from 9:30 AM to 10:50 AM (EST) in TEP 1403. Attendance at recitations is optional and therefore, outside of extraordinary circumstances, these will not be recorded. Recitation handouts can be found under the Recitations tab. |
Assignments: | Homework handouts will be posted to the course website under the Assignments tab. All code and written responses should be submitted via Gradescope. |
Office Hours: | The time and location of office hours can be found on the course calendar. |
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 wide array of technologies depending on what sort of task we have in mind, and what 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, materials discovery, and most recently generating media artifacts like images and text.
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 undergraduate students who are interested in the theory and algorithms behind machine learning.
Learning Outcomes
By the end of the course, students should be able to:
- Have a deep understanding of the assumptions, derivation and usage of some of the most popular machine learning algorithms.
- Implement and analyze existing learning algorithms, including well-studied methods for classification, regression, structured prediction, clustering, and representation learning.
- Integrate multiple facets of practical machine learning in a single system: data preprocessing, learning, regularization and model selection.
- Describe and derive the formal properties of models and algorithms for learning and explain the practical implications of those results.
- Compare and contrast different paradigms for learning (supervised, unsupervised, etc...).
- Design experiments to evaluate and compare different machine learning techniques on real-world problems.
- Employ probability, statistics, calculus, linear algebra, and optimization in order to develop new predictive models or learning methods.
- Analyze the academic literature surrounding a recent area of research interest in machine learning, draw connections to historical works and identify potential future lines of inquiry.
2. Prerequisites
Students entering the class are expected to have pre-existing working knowledge in the following areas:
Significant experience programming in a general programming language. Specifically, you need to have written from scratch programs consisting of several hundred lines of code. For undergraduate students, this will be satisfied for example by having passed 15-122 (Principles of Imperative Computation) with a grade of ‘C’ or higher, or comparable courses or experience elsewhere.
Note: For the programming components of our homework assignments, you will be required to use Python. You will be expected to know, or be able to quickly pick up, that programming language.
- Basic familiarity with probability and statistics, as can be achieved at CMU by having passed 36-217 (Probability Theory and Random Processes), or 36-225 (Introduction to Probability and Statistics I), or 15-259, or 21-325, or comparable courses elsewhere, with a grade of ‘C’ or higher.
- 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 elsewhere, with a grade of ‘C’ or higher.
- 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 elsewhere, with a grade of ‘C’ or higher.
You must strictly adhere to these pre-requisites! Even if CMU’s registration system does not prevent you from registering for this course, it is still your responsibility to make sure you have all of these prerequisites before you register.
3. Recommended Textbooks
This course does not exactly follow any one textbook. However, most lectures will have some optional reading to help you better understand the material or see a different presentation/perspective. We recommend you read these after the corresponding lecture. These readings will typically be drawn from the following texts, many of which are freely available online:
- Pattern Recognition and Machine Learning; Christopher M. Bishop.
- A Course in Machine Learning; Hal Daumé III.
- Machine Learning; Tom Mitchell.
- Machine Learning: a Probabilistic Perspective; Kevin P. Murphy.
- Dive into Deep Learning; Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola.
The textbook below is a great resource for those hoping to brush up on the prerequisite mathematics background for this course:
- Mathematics for Machine Learning, Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong.
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
Your grade in this course will consist of participation in lectures, midterm and final exams, homework assignments and a class project. The breakdown is as follows:
- Participation = 5%
- Midterm = 25%
- Final = 25%
- 6 Homework Assignments = 25%
- HW1 - HW4 = 5% Each
- HW5 - HW6 = 2.5% Each
- Project = 20%
We will convert numerical course grades to letter grades based on grade boundaries that are determined at the end of the semester. The following is a list of upper bounds on the grade cutoffs we will use; in all likelihood, these will be adjusted down at the end of the semester:
- A+: ≥ 97%
- A: ≥ 93%
- A-: ≥ 90%
- B+: ≥ 87%
- B: ≥ 83%
- B-: ≥ 80%
- C+: ≥ 77%
- C: ≥ 73%
- C-: ≥ 70%
- D+: ≥ 67%
- D: ≥ 63%
- R: < 63%
Participation
We will be using PollEverywhere for in-class polls. In order to access these polls, you must create an account using your CMU email address. You can always access the latest poll at pollev.com/10701polls.
You will always be allowed to submit multiple times so if there are multiple questions during a lecture, you should submit multiple times. Your participation grade will be based on the percentage of in-class polls answered:
- 5% for 80% or greater poll participation.
- 3% for 65%-80% poll participation.
- 1% for 50%-65% poll participation.
The correctness of your responses will not be taken into account when computing participation grades, all that matters is that you submit something. All in-class polls will only be live until the start of the next lecture or recitation (roughly a 48-hour period); you will receive 50% credit for any poll you respond to after the corresponding lecture ends, i.e., if you were to respond to every poll after the end of the corresponding lecture, then your overall participation grade would be 1%.
Midterm and Final 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 March 19th. 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 making a private post on Piazza.
Homework Assignments
The homework assignments will be divided into two components: programming and written; most assignments will have both components but HW5 and HW6 will be written only assignments. 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. All programming must be completed in Python.
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 problem/research area. You will be given a small list of topics to choose from and will work in groups of 2 or 3; you may not work by yourself on the project.
There will be three deliverables associated with the project:
- A one-page proposal detailing the topic your group will focus on, what method or methods you will implement, and the metrics you will use to compare them (if applicable). Proposals 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 2% of your final grade.
- 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. Check-ins should include preliminary results and analysis. Again, these will largely be graded on completion. The check-in is worth 2% of your final grade.
- 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 16% of your final grade.
5. Office Hours
The schedule of office hours will always appear on the course calendar. 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.
We will make use of the following (informal) rules:
- 10 Minute Rule: Each student’s question will be addressed by a course staff member for at most 10 minutes. The only exception to this will be if the question has broad interest to many other students.
- The Pseudo Code Rule: This is not a programming course; you are expected to know how to debug code. As such, if your question is of the form "Could you help me to debug my code?", you must bring with you detailed pseudocode that describes your implementation design. If you do not have pseudocode, the course staff member will not look at your code, but instead ask you to sketch out pseudocode at the chalkboard and discuss there instead. After discussing at a high-level, if your 10 minutes have not expired, the course staff member may have time to look at your code.
While you're awaiting your turn, we encourage you to listen in to the answers to any publicly answered questions. Please be courteous and allow the student who posed the question to primarily direct the discussion. We also encourage you to collaborate with others (following our collaboration policies below) while waiting.
6. General Policies
Late homework policy
You have a total of 6 grace days for use on any homework assignment. 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:
- Submissions between 0 and 24 hours late will receive a 50% multiplicative penalty.
- Submissions between 24 and 48 hours late will receive a 25% multiplicative penalty.
Any homework submitted more than 48 hours late will receive a score of 0. 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:
- Medical Emergencies: If you are sick and unable to complete an assignment or attend class, please go to University Health Services. For minor illnesses, we expect grace days or our late penalties to provide sufficient accommodation. For medical emergencies (e.g., prolonged hospitalization), students may request an extension afterwards.
- Family/Personal Emergencies: If you have a family emergency (e.g., death in the family) or a personal emergency (e.g., mental health crisis), please contact your academic adviser and/or Counseling and Psychological Services (CaPS).
- University-Approved Travel: If you are traveling out-of-town to a university approved event or an academic conference, you may request an extension for any time lost due to traveling. For university approved absences, you must provide confirmation of attendance, usually from a faculty or staff organizer of the event or via travel/conference receipts.
For any of the above situations, you may request an extension by emailing Daniel at dpbird@andrew.cmu.edu – do not email the instructor or TAs. Please be specific about which assessment(s) you are requesting an extension for and the number of hours requested. The email should be sent as soon as you are aware of the conflict and at least 24 hours prior to the deadline. In the case of an emergency, no notice is needed.
If this is a medical emergency or mental health crisis, you must also CC your CMU college liaison and/or your academic advisor. Do not submit any medical documentation to the course staff. If necessary, your college liaison and The Division of Student Affairs (DoSA) will request such documentation and they will view the health documentation and conclude whether a retroactive extension is appropriate. If you haven’t interacted with your college liaison before, they are experienced student affairs staff who work in partnership with students, housefellows, advisors, faculty, and associate deans in each college to assure support for students regarding their overall Carnegie Mellon experience.
Audit Policy
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 instructor requesting permission to audit. Instead, you should first register for the appropriate section. Next fill out the Course Audit Approval form, obtain your academic advisor's signature and then approach the instructor in-person immediately after lecture to obtain their signature.
Auditors are required to:
- Attend or watch all of the lectures.
- Receive a 65% participation grade or higher.
- Submit at least 4 of the 6 homework assignments.
- Auditors are encouraged to sit for the exams, but should only do so if they plan to put forth actual effort in solving them.
- Auditors should not complete a course project unless they clearly communicate their status as an auditor to their group members and all other group members agree to work with them.
Pass/Fail Policy
You are allowed to take this course as Pass/Fail; instructor permission is not required. What letter grade is the cutoff for a Pass will depend on your specific program; we 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 you can count a Pass/Fail course towards your degree requirements.
Accommodations for Students with Disabilities
If you have a disability and have an accommodations letter from the Disability Resources office, please email Daniel at dpbird@andrew.cmu.edu to set up a meeting for the purposes of discussing your accommodations and needs as early in the semester as possible. He 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, I encourage you to contact them at access@andrew.cmu.edu.
7. Technologies
We will use a variety of technologies throughout the course:
- Piazza: we will use Piazza for all course discussion. Questions about homeworks, course content, logistics, etc. should all be directed to Piazza. If you have a question, chances are several others had the same question. By posting your question publicly, 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 homework assignments as well as any code you write to complete the assignments. The course staff will grade your submissions, 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 assignment, 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!
- Canvas: you will be able to see your assessment grades and watch lecture recordings on our course Canvas page; note that recordings may not be immediately available after lecture due to editing/processing time.
- PollEverywhere: in-class polls will be conducted through Polleverywhere. You can access the most recent poll at pollev.com/10701polls but you must be logged into an account associated with your CMU email in order to do so.
8. Collaboration and Academic Integrity
Read this section carefully!
Collaboration among Students
The purpose of student collaboration is to facilitate learning, not to circumvent it. Studying the material in groups is strongly encouraged. You are also allowed to seek help from other students in understanding the material needed to solve a particular homework problem, provided any written notes (including code) are taken on an impermanent surface (e.g., whiteboard, chalkboard), and provided learning is facilitated, not circumvented. The actual solution must be written by each student alone.
A good method to follow when collaborating is to meet with your peers, discuss ideas at a high level, but do not copy down any notes from each other or from a shared work surface. Any scratch work done at this time should be your own only. Before writing the assignment solutions, you should make sure that you are doing this without anyone else present, putting all notes away, closing all tabs on your computer, and writing it completely by yourself with no other resources.
You are absolutely not allowed to share/compare answers or screen share your work with one another.
The presence or absence of any form of help or collaboration, whether given or received, must be explicitly stated and disclosed in full by all involved. Specifically, each assignment solution must include answers to the following questions:
- 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")
- 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")
- 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.).
If you gave help after turning in your own assignment and/or after answering the questions above, you must update your answers before the assignment’s deadline, if necessary by emailing the course staff.
Collaboration without full disclosure will be handled severely, in compliance with CMU’s Policy on Academic Integrity.
Previously Used Assignments
Some of the homework assignments used in this class may have been used in prior offerings, 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 complete 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.
AI Assistance
To best support your own learning, you should complete all graded assignments in this course yourself, without any use of generative artificial intelligence (AI), such as ChatGPT. Please refrain from using AI tools to generate any content (text, video, audio, images, code, etc.) for an assessment. Passing off any AI generated content as your own (e.g., cutting and pasting content into written assignments, or paraphrasing AI content) constitutes a violation of CMU’s Policy on Academic Integrity.
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 pseudocode, 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 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.
To protect future students, do not post your solutions publicly, neither during the course nor afterwards.
Penalties for Violations of Course Policies
All violations of course policies (even the first one) will always be reported to the university authorities (your department head, associate dean, the dean of Student Affairs, etc.) as an official Academic Integrity Violation and will carry severe penalties.
- The penalty for the first violation is a negative 100% on the assignment i.e., it would have been better to submit nothing and receive a 0%.
- The penalty for the second violation is failure in the course, and can even lead to dismissal from the university.
9. Support
Take care of yourself. Do your best to maintain a healthy lifestyle 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 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/.
If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:
- CaPS: 412-268-2922
- Re:solve Crisis Network: 888-796-8226
- If the situation is life threatening, call the police:
- On campus: CMU Police: 412-268-2323
- Off campus: 911
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: csdi@andrew.cmu.edu, 412-268-2150
- Ethics Reporting Hotline. Students, faculty, and staff can anonymously file a report by calling 844-587-0793 or visiting cmu.ethicspoint.com.
- username: tartans
- password: plaid
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
Henry Chai
OH: Thursdays 1:00 PM - 2:00 PM in GHC 8133
Education Associate
Daniel Bird
Teaching Assistants
Anna Bair
OH: Thursdays 5:00 PM - 6:00 PM in GHC 5117
Hadrien Helfgott
OH: Mondays 5:30 PM - 6:30 PM in GHC 5117
Hongwei Tu
OH: Tuesdays 5:30 PM - 6:30 PM in GHC 5117
Karthik Balaji Ganesh
OH: Fridays 5:30 PM - 6:30 PM in GHC 5117
Lucas Wu
OH: Mondays 12:00 PM - 1:00 PM in PH A18A
Michael Zhou
OH: Fridays 11:30 AM - 12:30 PM in GHC 4101
Raghu Radhakrishnan
OH: Wednesdays 5:30 PM - 6:30 PM in GHC 5117
Schedule
Lectures are the primary mode of content delivery in this course. Attending lectures is highly recommended; there will be regular in-class activities and polls which will constitute a small portion of your final grade. 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.
Date | Topic | Slides | Readings/Resources |
---|---|---|---|
Wed, 1/17 | Introduction: Notation & Problem Formulation | Lecture 1 (Inked) | |
Mon, 1/22 | Decision Trees | Lecture 2 (Inked) | Mitchell, Chapter 3
Daumé III, Chapter 1 |
Wed, 1/24 | KNNs & Model Selection | Lecture 3 (Inked) | Mitchell, Sections 8.1 - 8.2
Daumé III, Chapter 3 |
Mon, 1/29 | Linear Regression | Lecture 4 (Inked) | Murphy, Sections 7.1 - 7.3 |
Wed, 1/31 | MLE/MAP | Lecture 5 (Inked) | Mitchell, Estimating Probabilities |
Mon, 2/5 | Naïve Bayes | Lecture 6 (Inked) | Murphy, Section 3.5 |
Wed, 2/7 | Logistic Regression | Lecture 7 (Inked) | Murphy, Sections 8.1 - 8.3 |
Mon, 2/12 | Regularization | Lecture 8 (Inked) | Murphy, Sections 7.5 & 14.4 |
Wed, 2/14 | Neural Networks | Lecture 9 (Inked) | Mitchell, Chapter 4.1 - 4.6
Zhang, Lipton, Li & Smola, Chapter 5.1 - 5.3 |
Mon, 2/19 | Backpropagation | Lecture 10 (Inked) | |
Fri, 2/23 (SWAPPED W/ RECITATION) | CNNs | Lecture 11 (Inked) | Zhang, Lipton, Li & Smola, Chapter 7 |
Mon, 2/26 | RNNs | Lecture 12 (Inked) | Zhang, Lipton, Li & Smola, Chapters 9 & 10.1 |
Wed, 2/28 | Attention & Transformers | Lecture 13 (Inked) | Zhang, Lipton, Li & Smola, Chapter 11 |
Mon, 3/4 | No Class (Spring Break) | ||
Wed, 3/6 | No Class (Spring Break) | ||
Mon, 3/11 | Unsupervised Learning: Clustering | Lecture 14 (See Recording for Ink) | Daumé III, Chapter 15
Murphy, Sections 11.1 - 11.4.2 |
Wed, 3/13 | Unsupervised Learning: Dimensionality Reduction | Lecture 15 (Inked) | Daumé III, Chapter 15
Murphy, Sections 12.2.1 - 12.2.3 |
Mon, 3/18 | Reinforcement Learning: Value & Policy Iteration | Lecture 16 (Inked) | Mitchell, Chapter 13 |
Tue, 3/19 | Midterm (7 - 9 PM in DH A302) | ||
Wed, 3/20 | Reinforcement Learning: Q-Learning & Deep RL | Lecture 17 (Inked) | Mitchell, Chapter 13 |
Mon, 3/25 | Pretraining, Fine-tuning & In-context Learning | Lecture 18 (Inked) | |
Wed, 3/27 | Algorithmic Bias | Lecture 19 (Inked) | |
Mon, 4/1 | Learning Theory I | Lecture 20 (Inked) | Mitchell, Chapter 7.1 - 7.3 |
Wed, 4/3 | Learning Theory II | Lecture 21 (Inked) | Mitchell, Chapter 7.4 |
Mon, 4/8 | Ensemble Methods: Bagging | Lecture 22 (No Ink) | |
Wed, 4/10 | Ensemble Methods: Boosting | Lecture 23 (Inked) | |
Mon, 4/15 | SVMs | Lecture 24 (Inked) | |
Wed, 4/17 | Kernels | Lecture 25 (Inked) | Murphy, Sections 14.1 - 14.5 |
Mon, 4/22 | Gaussian Processes | Lecture 26 (Inked) | Murphy, Sections 15.1 - 15.2 |
Wed, 4/24 | Generative Models for Vision | Lecture 27 (Pre-class) | |
Mon, 5/6 | Final (1 - 3 PM) |
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 | Solutions |
---|---|---|---|
Fri, 1/19 | No Recitation | ||
Fri, 1/26 | Recitation 1: Decision Trees & kNNs | Recitation 1 (LaTeX Source) | Solutions |
Fri, 2/2 | Recitation 2: Linear Regression & MLE/MAP | Recitation 2 (LaTeX Source) | Solutions |
Fri, 2/9 | Recitation 3: Naïve Bayes & Logistic Regression | Recitation 3 (LaTeX Source) | Solutions |
Fri, 2/16 | Recitation 4: Neural Networks | Recitation 4 (LaTeX Source) | Solutions |
Wed, 2/21 (SWAPPED W/ LECTURE) | Recitation 5: PyTorch | Recitation 5 | |
Fri, 3/1 | Recitation 6: Working with Text Data | Recitation 6 (Colab Notebook) | |
Fri, 3/8 | No Recitation (Spring Break) | ||
Fri, 3/15 | Midterm Practice Problem Review | Midterm Practice Problems | Solutions |
Fri, 3/22 | Recitation 7: Reinforcement Learning & Unsupervised Learning | Recitation 7 (LaTeX Source) | Solutions |
Fri, 3/29 | Project Mentor Meetings | ||
Fri, 4/5 | Recitation 8: Learning Theory | Recitation 8 (LaTeX Source) | Solutions |
Fri, 4/12 | No Recitation (Carnival) | ||
Fri, 4/19 | Recitation 9: Ensemble Methods & SVMs | Recitation 9 (LaTeX Source) | Solutions |
Fri, 4/26 | Final Practice Problem Review | Final Practice Problems | Solutions |
Assignments
Our homework assignments are an opportunity for you all to reason about and build/experiment with some of the models that we introduce in class. All programming questions must be completed in Python and you must use LaTeX to typset your responses to the written questions. You will submit both your code and your written responses using Gradescope; note that each assignment will have separate submissions for the code and the written portion.
Release Date | Topic | Files | Due Date |
---|---|---|---|
Wed, 1/24 | HW1: Decision Trees & kNNs | HW1 Handout | Fri, 2/2 at 11:59 PM |
Wed, 2/7 | HW2: Linear Regression, Naïve Bayes & Logistic Regression | HW2 Handout | Mon, 2/19 at 11:59 PM |
Mon, 2/19 | HW3: Neural Networks | HW3 Handout | Wed, 2/28 at 11:59 PM |
Wed, 2/28 | HW4: Deep Learning in PyTorch | HW4 Handout | Fri, 3/15 at 11:59 PM |
Fri, 3/22 | HW5: Unsupervised Learning & Reinforcement Learning | HW5 Handout | Mon, 4/1 at 11:59 PM |
Thu, 4/11 | HW6: Learning Theory & Ensemble Methods | HW6 Handout | Sat, 4/20 at 11:59 PM |
Project
Details about the project can be found in the Project Specifications Handout.
Deliverable | Gradescope Link | Due Date |
---|---|---|
Proposal | Link to Submit | Fri, 3/22 at 11:59 PM |
Check-in | Link to Submit | Mon, 4/8 at 11:59 PM |
Final Report | Link to Submit | Fri, 4/26 at 11:59 PM |