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 Deep neural networks, Bayesian networks, logistic regression, Support Vector Machines, statistical learning methods, representation learning, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam's Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.
General Information
Class Time
Monday/Wednesday 3-4:20 pm in Rashid Auditorium (GHC 4401)
(Silicon Valley campus 10-601 SV meets in Building 19, Conference Room 1020)
If you are in 10-601 D , this is the online video section. Please watch the videos either live streamed, or made available after lecture on our Class Schedule page. Unfortunately there are only 255 chairs in the room, though there are 558 students. We will make the live stream URL available the moment we get it, so watch this space...
(Silicon Valley campus 10-601 SV meets in Building 19, Conference Room 1020)
If you are in 10-601 D , this is the online video section. Please watch the videos either live streamed, or made available after lecture on our Class Schedule page. Unfortunately there are only 255 chairs in the room, though there are 558 students. We will make the live stream URL available the moment we get it, so watch this space...
Recitations
Thursdays 6:30-7:30 in Rashid Auditorium
September 7 and October 19, recitation will be held in NSH 3305
September 7 and October 19, recitation will be held in NSH 3305
Suggested Readings
There is no required book for this class. Here are some relevant textbooks.
[Goodfellow, Bengio, Courville] Deep Learning
[Murphy] Machine Learning: A Probabilistic Perspective
[Mitchell] - Machine Learning
[Bishop]- Pattern Recognition and Machine Learning
[Goodfellow, Bengio, Courville] Deep Learning
[Murphy] Machine Learning: A Probabilistic Perspective
[Mitchell] - Machine Learning
[Bishop]- Pattern Recognition and Machine Learning
Prerequisites
Students entering the class are expected to have a pre-existing working knowledge of probability, linear algebra, statistics and algorithms, though the class has been designed to allow students with a strong numerate background to catch up and fully participate. In addition, recitation sessions will be held to review some basic concepts. Homework 1 is a simple test of your background, and an opportunity to brush up on it using online resources.
Grading
Your grade will be based
- 35% on the midterm exam
- 35% on the final exam
- 30% on homework
You must be present for the midterm exam on October 25, and the final exam which is yet to be scheduled by the CMU registrar. We will not be able to schedule you an individual exam.
- 35% on the midterm exam
- 35% on the final exam
- 30% on homework
You must be present for the midterm exam on October 25, and the final exam which is yet to be scheduled by the CMU registrar. We will not be able to schedule you an individual exam.
Homework Policy
All homework is worth
-full credit at the time it is due.
-penalized by 25% for the first day (24-hour period) past the deadline
-penalized by 50% for the second day (24-hour period) past the deadline
-zero credit after that.
However, we will delete you lowest homework score when calculating your final grade.
We will have programming assignments, to give you the opportunity to dig into algorithm details, applying them to interesting data sets.
There will be no large project in this course.
-full credit at the time it is due.
-penalized by 25% for the first day (24-hour period) past the deadline
-penalized by 50% for the second day (24-hour period) past the deadline
-zero credit after that.
However, we will delete you lowest homework score when calculating your final grade.
We will have programming assignments, to give you the opportunity to dig into algorithm details, applying them to interesting data sets.
There will be no large project in this course.
Academic Integrity
We treat all our students as responsible adults who are here to learn the class material, and we expect you to behave according. We encourage you to work with your fellow students to learn the material, and even to discuss home work questions together. However, every homework solution you turn in must be written completely by you. Writing the solutions together is considered cheating, and will result in failing the course, and further disciplinary action.
Wait List
We have a list of 558 students from CMU Pittsburgh and CMU Silicon Valley who wish to take this class, and have three sections. We intend to let *everybody* into the course, by adding them to one of these sections. If you are currently on the waitlist, this will change soon, so get started immediately on the coursework and homework 1.
Deadline Extension Policy
If you have an unavoidable conflict that would prevent you from completing a homework on time (e.g. travel to a conference to present a paper, medical emergency), you may request an extension by emailing Brynn Edmunds at bedmunds@andrew.cmu.edu – do not email the instructor or TAs. 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 (e.g. sudden illness or family emergency), no notice is needed.
Policy on Pass/Fail and Audit
You may take this course Pass/Fail. To pass, you have two choices: (1) you may do all the work and you will be graded on the same curve as other students to determine whether you pass, or (2) you can skip the homework and we will use only your midterm and final exams to determine whether you pass.
We do not allow auditing this class. (our instructors are stretched thin handling students taking this for credit). However, every CMU student is free to access the video lectures, slides, and other materials on Piazza for their personal use.
We do not allow auditing this class. (our instructors are stretched thin handling students taking this for credit). However, every CMU student is free to access the video lectures, slides, and other materials on Piazza for their personal use.
Where to Find Class Lecture Schedule, Videos, Homeworks, Slides
The lecture schedule, handouts, homeworks, online slides and online videos are available at https://piazza.com/class/j5jwojwry7n6bf?cid=6
Can I Sit In Lecture Room if I'm Registered in Section 10-601 D?
You may come and sit in lecture if seats remain unfilled at 3:05 Eastern time (12:05 Pacific). First priority goes to students enrolled in sections B and SV, but if those seats aren't used when class begins, then you may take a seat.
Who are the TAs and instructors, and when are their office hours?
The calendar showing instructor office hours is at
https://canvas.cmu.edu/calendar#view_name=month
The list of instructors and their default office hours is available at https://piazza.com/cmu/fall2017/10601b/staff
More information on TA's, instructors, and how to get in line at office hours is available at https://piazza.com/class/j5jwojwry7n6bf?cid=126
https://canvas.cmu.edu/calendar#view_name=month
The list of instructors and their default office hours is available at https://piazza.com/cmu/fall2017/10601b/staff
More information on TA's, instructors, and how to get in line at office hours is available at https://piazza.com/class/j5jwojwry7n6bf?cid=126
Collaboration Policy
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. “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 Cheating and Plagiarism.
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 pro-actively 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.
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. “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 Cheating and Plagiarism.
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 pro-actively 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.
Staff Office Hours
Brynn Edmunds
Daniel Bird
Tom M. Mitchell
Zhuoran Liu
Hemank Lamba
Vikram Kamath Cannanure
Shreya Punya
Mo Li
Kijung Shin
Vidhan Agarwal
Praneet Dutta
Rhea Jain
Sriram Guna Sekhar Kollipara
Arashnoor Singh Minhas
Eti Rastogi
Mary Stech
Afshaan Mazagonwalla
Leila Wehbe