This is the website for COMS 4721, which is taught during Spring 2022.
Machine learning is the study of computational mechanisms that “learn” from data to make predictions and decisions. Such mechanisms execute algorithms intended to identify useful patterns from relevant data in order to devise a rule for prediction or decision-making. But in what kinds of data is it possible to find such patterns, and under what circumstances would such patterns lead to accurate predictions or prudent decisions? These are the types of questions addressed by the computational and statistical approach to machine learning which is at the heart of this course.
Instructions and materials for homework assignments can be found on Courseworks under “Files”.
Please check Ed for announcements about possible changes or updates about office hours (e.g., if the location/mode changes).
Unless otherwise stated, office hours are conducted over Zoom. The Zoom link can be found in Courseworks.
The calendar is also available in iCal format.
COMS 4721 is a graduate-level introduction to machine learning. The course covers basic statistical principles of supervised machine learning, as well as some common algorithmic paradigms.
Note: The course description for COMS 4721 elsewhere (e.g., SSOL, Vergil) is out-of-date.
This course is the same as COMS 4771, except that enrollment is restricted to students in the Data Science MS program.
If you are not in the Data Science MS program, consider taking COMS 4771 instead.
As announced by the university, the first two weeks of lectures will be held online via Zoom. The Zoom links will be made available on Courseworks; recordings of these lectures are expected to be made available there a little while after each lecture (assuming someone remembers to click ‘record’ …).
If/when in-person instruction resumes, it is unclear if Zoom-based attendance/lecture recordings will be possible due to lack of technical support.
You must know multivariate calculus, linear algebra, and basic probability. You must be comfortable with writing code to process and analyze data in Python, and be familiar with basic algorithmic design and analysis. You must have general mathematical maturity. A detailed list of prerequisite topics is available here.
In previous offerings of this course, some students who only had a passing familiarity with the prerequisite topics have found the course material extraordinarily difficult.
If you are unsure about whether you satisfy the prerequisites for this course (or would like to “page-in” this knowledge), please check the following links.
If time permits, we may also cover other topics such as boosting, unsupervised learning, online decision making (depending on student interest).
The lectures will be mostly self-contained, but required reading assignments (which should be completed prior to lecture) will be posted on the website. Additional reading material from some of the following texts will be suggested.
(All of these texts are available online, possibly through Columbia University Libraries.)
The overall course grade is comprised of:
Submission of assignments and grading will be handled on Gradescope and Courseworks.
Regrade requests will be handled on Gradescope. Any request for a regrade must be submitted before the deadline (which will also be indicated on Gradescope). Upon any regrade request, we may re-examine the grading of the entire assignment and adjust your grade accordingly (up or down). A regrade request must be accompanied by a clear and detailed argument for why your solution was incorrectly graded. Requests accompanied by vague arguments will not be considered.
The final letter grade is determined by the overall percentage \(p\) of points you earn. For each \(y \in \{ {\operatorname{A}}, \operatorname{B}, \operatorname{C}, \operatorname{D}, \operatorname{F} \}\), if \(p \geq l_y\), then the letter grade is \(y\) or better (possibly with a plus or minus modifier). The values \(l_{\operatorname{A}}, l_{\operatorname{B}}, l_{\operatorname{C}}, l_{\operatorname{D}}, l_{\operatorname{F}}\) are guaranteed to satisfy \(l_{\operatorname{A}} \leq 90\), \(l_{\operatorname{B}} \leq 80\), \(l_{\operatorname{C}} \leq 70\), \(l_{\operatorname{D}} \leq 60\), \(l_{\operatorname{F}} \leq 0\), and \(l_{\operatorname{F}} \leq l_{\operatorname{D}} \leq l_{\operatorname{C}} \leq l_{\operatorname{B}} \leq l_{\operatorname{A}}\), although their final values may only be determined at the end of the semester. Note that it is not a priori expected that the distribution of final letter grades (over all students in the course) will neatly match any particular probability distribution or “curve”.
All written portions of assignments must be neatly and legibly typeset as PDF documents; handwritten submissions will not be accepted. The purpose of this requirement is to make it easier to grade your work. Before submission, please read the rendered PDF document to make sure that everything is legible and neat!
You can use LaTeX, Microsoft Word, or any other system that produces high-quality PDFs with neatly typeset mathematical expressions. The purpose of this requirement is to make it easier to grade your work.
If you plan to use LaTeX but have not used it before, or if you only have a passing familiarity with it, it is recommended that you read and complete the lessons and exercises in The Bates LaTeX Manual or on learnlatex.org. This video by Ryan O’Donnell on writing math in LaTeX is also recommended.
Programming portions of assignments will be submitted on Courseworks; instructions will be given in the homework assignments.
All assignments must be submitted by the specified due dates unless an extension has been approved. Late submissions are not accepted unless explicitly stated in the assignment instructions.
Extensions are generally only granted for medical reasons. To request an extension, ask your academic advisor to (1) confirm documentation from a physician / medical practitioner and (2) to communicate this confirmation and your extension request via an email to the instructor.
In order to receive disability-related academic accommodations for this course, students must first be registered with their school’s Disability Services office. Detailed information is available online for both the Columbia and Barnard registration processes. Refer to the appropriate website for information regarding deadlines, disability documentation requirements, and drop-in hours (Columbia) / intake session (Barnard).
You are expected to adhere to the Academic Honesty policy of the Computer Science Department, as well as the course-specific policies described below.
You are welcome and encouraged to discuss homework assignments with fellow students. Your discussions should respect the following rules.
COLLABORATION OR DISCUSSION BETWEEN STUDENTS ON QUIZZES OR EXAMS IS NOT PERMITTED.
Outside reference materials and sources (i.e., texts and sources beyond the assigned reading materials for the course) may be used on homework only if given explicit written permission from the instructor and if the following rules are followed.
OUTSIDE REFERENCES CANNOT BE USED ON QUIZZES OR EXAMS UNLESS YOU HAVE RECEIVED EXPLICIT WRITTEN PERMISSION FROM THE INSTRUCTOR.
Violation of any portion of these policies will result in a penalty to be assessed at the instructor’s discretion. This may range from a zero grade for the assignment in question to a failing letter grade for the course. All violations are automatically reported to Student Conduct and Community Standards.
You are encouraged to use office hours and Ed to discuss and ask questions about course material and reading assignments, and to ask for high-level clarification on and possible approaches to homework problems.
Questions, of course, are also welcome during lecture. If something is not clear to you during lecture, there is a chance it may also not be clear to other students. So please raise your hand to ask for clarification during lecture. Some questions may need to be handled “off-line”; we’ll do our best to handle these questions in office hours or on Ed.
When asking questions on Ed or in office hours, please be as specific as possible and give all of the relevant context.
To help us (the instructor, TAs, other students) provide a useful answer, make your question specific and accompanied by relevant context.
Quiz 1 will be released on February 24 at 4:00 PM. You can choose to do it in any contiguous 1 hour period between February 24th at 4:00 PM and February 25th at 4:00 PM.
For Quiz 1, you can use the following:
You cannot use any of the following:
You may not communicate with anyone while taking the quiz. The answers you submit must be your own. You must not give or receive any unauthorized assistance.
There is a “Fake Quiz” on Gradescope that demonstrates the format of the quiz.
Quiz 2 will be released on March 24 at 4:00 PM. You can choose to do it in any contiguous 1 hour period between March 24th at 4:00 PM and March 25th at 4:00 PM.
For Quiz 2, you can use the following:
You cannot use any of the following:
You may not communicate with anyone while taking the quiz. The answers you submit must be your own. You must not give or receive any unauthorized assistance.
The format of the quiz will be similar to that of Quiz 1.
Quiz 3 will take place in the first thirty minutes of lecture on April 21. It will cover course material through the lecture on kernels and neural networks.
For Quiz 3, you can use the following:
You cannot use any of the following:
(We will provide pages to use as scratch paper as part of the quiz; do not bring your own.)
You may not communicate with anyone (except the instructor) while taking the quiz. The answers you submit must be your own. You must not give or receive any unauthorized assistance.
The first page of the quiz is available on Courseworks.
Please plan to be in a location with a desktop/laptop computer with a camera and reliable internet connection during the scheduled final exam time period.
For the final exam, you can use the following:
Use of Zoom during the final exam:
You cannot use any of the following:
During the exam, you must not communicate with anyone except for the instructor to ask questions. The answers you submit must be your own. You must not give or receive any unauthorized assistance.
There is a “Fake Quiz” on Courseworks that demonstrates the format of the exam.
DSI staff handles enrollment for this course. Enrollment is restricted to students in the Data Science MS program.
The instructor is not managing enrollments or the waitlist, so please send all questions and requests about enrollment and the waitlist to DSI staff. Please do not email the instructor about enrollment.
Unfortunately, we will not allow auditors this semester, as it will complicate course logistics. Consider COMS 4771 instead.