Course Description
Machine Learning is concerned with computer programs that automatically improve their performance through experience (e.g., programs that learn to recognize human faces, recommend music and movies, and drive autonomous robots). This course covers the theory and practical algorithms for machine learning from a variety of perspectives. We cover topics such as Linear Regression, SVMs, Neural Networks, Graphical Models, Clustering, etc. Programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a PhD-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in 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 ML 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 the 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
For more details about topics covered, see the Course Schedule.
Prerequisites
Students entering the class are expected to have a pre-existing working knowledge including:
- 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-359, 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) or 15-151 (Mathematical Foundations of Computer Science), or comparable courses elsewhere, with a grade of ‘C’ or higher.
- Significant experience programming in a general programming language. Specifically, you need to have written from scratch programs consisting of several hundred lines of code. This will be satisfied for example 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 or experience elsewhere.
You must strictly adhere to these prerequisites! 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.
Recommended Textbooks
- Machine Learning: a Probabilistic Perspective, Kevin Murphy
- Pattern Recognition and Machine Learning, Chris Bishop, ISBN
- Machine Learning, Tom Mitchell
The core content of this course does not exactly follow any one textbook.
Course Components
Grading
The requirements of this course consist of participating in lectures, an exam, homework assignments, and a final project. The grading breakdown is the following:
- Homework Assignments
- 40%
- Exam
- 30%
- Project
- 30%
Exams
The exam will take place on 11/23 and will be 2 hours (from 11:30-1:30). 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 an exam (e.g. an exam in another course), notify us by filling out an “exam conflict” form when it is released on Piazza.
Homework
The homeworks will divide into two components: programming and written. The programming assignments will ask you to implement ML algorithms from scratch; they emphasize understanding of real-world applications of ML, building end-to-end systems, and experimental design. The written assignments will focus on core concepts, “on-paper” implementations of classic learning algorithms, derivations, and understanding of theory.
Recitations
Recitations will be recorded. Attendance at recitations is not required, but strongly encouraged. These sessions will be interactive and focus on problem solving. 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.
Technologies
We use a variety of technologies:
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 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 use Gradescope to collect PDF submissions of open-ended questions on the homework (e.g. mathematical derivations, plots, short answers). The course staff will manually grade your submission, and you’ll receive personalized feedback explaining your final marks.
You will also submit your code for programming questions on the homework to Gradescope. After uploading your code, our grading scripts will autograde your assignment by running your program on a VM. This provides you with immediate feedback on the performance of your submission.
- Regrade Requests
- If you believe an error was made during manual grading, you’ll 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!
Course Expectations with COVID
Online Lectures and Exams
Due to the size of 10-701 all lectures, recitations, project presentations, and exams will be hosted online to help protect students and CMU staff. The course will use Zoom throughout the semester and details will be given on Piazza how to access all materials in the course. Please make sure that your Internet connection and equipment are set up to use Zoom and able to share audio and video during class meetings. (See this page from Computing Resources for information on the technology you are likely to need.) If there is a gap in your technology set-up, email Daniel as soon as possible, and we can see about finding solutions.
In Person Office Hours
We are hoping to host some in person office hours however our main priority is to keep everyone safe, if we do not feel like we are able to do that in these office hours, then we will move all office hours online. If we are to host in person office hours, they will be hosted with all regular CMU safety measures in place. All students and TAs will wear appropriate face coverings and maintain social distance. Anyone unable to follow these rules will be asked to leave and may face academic consequences.
General Policies
Late homework policy
You receive 8 total grace days for use on any of the 5 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 3 grace days on any single assignment. Any homework submitted with after 3 days or if the student has no grace days remaining will be given a score of 0.
All homework submissions are electronic (see Technologies section below). As such, lateness will be determined by the latest timestamp of any part of your submission. For example, suppose the homework requires submissions for both written and programming – if you submit the written on time but the programming is 1 minute late, your entire homework will be penalized for the full 24-hour period.
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 and should include a note from University Health Services.
- 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 or Counseling and Psychological Services (CaPS). In addition to offering support, they will reach out to the instructors for all your courses on your behalf to request an extension.
- University-Approved Absences
- If you are attending an out-of-town university approved event (e.g. multi-day athletic/academic trip organized by the university), you may request an extension for the duration of the trip. You must provide confirmation of your attendance, usually from a faculty or staff organizer of the event.
For any of the above situations, you may request an extension by emailing the education associate, Daniel Bird. The email should be sent as soon as you are aware of the conflict and at least 5 days prior to the deadline. In the case of an emergency, no notice is needed.
Audit Policy
Official auditing of the course (i.e. taking the course for an “Audit” grade) is not permitted this semester.
Unofficial auditing of the course (i.e. watching the lectures online or attending them in person) is welcome and permitted without prior approval. We give priority to students taking the course for a letter grade, so auditors may only take a seat in the classroom if there is one available 10 minutes after the start of class. Unofficial auditors will not be given access to course materials such as homework assignments and exams.
Pass/Fail Policy
We allow you to take the course as Pass/Fail. Instructor permission is not required. What grade is the cutoff for Pass will depend on your program. 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, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I 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.
Academic Integrity Policies
Read this 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. It is also allowed to seek help from other students in understanding the material needed to solve a particular homework problem, provided no written notes (including code) are shared, or are taken at that time, and provided learning is facilitated, not circumvented. The actual solution must be done by each student alone.
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 answering 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. “I pointed Joe Smith to section 2.3 since he didn’t know how to proceed with Question 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”)
- 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 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 gross 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 (even first one) of course policies will always be reported to the university authorities (your Department Head, Associate Dean, Dean of Student Affairs, etc.) as an official Academic Integrity Violation and will carry severe penalties.
- 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+.
- The penalty for the second violation is failure in the course, and can even lead to dismissal from the university.
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. 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:
- 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
If you have questions about this or your coursework, please let the instructors know.