CS229: Machine Learning

Autumn 2017

Instructors


Course Description   This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.

Announcements

  • 11/09/17 Please take a few minutes to fill in the Mid-Quarter Survey for CS229. We give careful consideration to student feedback.
  • 11/02/17 Problem Set 3 has now been posted on the schedule/syllabus page. It will be due 11/15 at 11:59pm.
  • 10/26/17 Practice midterms are available on Piazza.
  • 10/26/17 Problem Set 1 grades have been released on Gradescope.
  • 10/26/17 Problem Set 2 has been posted on the schedule/syllabus page. It will be due 11/1 at 11:59pm.
  • 10/05/17 Problem Set 1 has now been posted on the schedule/syllabus page. It will be due 10/18 at 11:59pm.
  • 09/27/17 Problem Set 0 has now been posted on the schedule/syllabus page. It will be due 10/4 at 11:59pm.
  • 09/27/17 Office hours have now been posted.
  • 09/27/17 The first discussion session (optional) will be held Friday 9/29 4:30-5:20PM at NVIDIA Auditorium.
  • 09/24/17 Welcome to CS229! We look forward to meeting you Monday 9/25 at 9:30 am!

Course Information

Time and Location
MW 9:30 AM - 10:50 AM, NVIDIA Auditorium (Huang Engineering Center)
Discussion sections
NVIDIA Auditorium, Fridays 4:30-5:20pm. Sections will be recorded and attendance is optional.
Contact Information
If you have a question, to get a response from the teaching staff quickly we strongly encourage you to post it to the class Piazza forum. For private matters, please make a private note visible only to the course instructors. For longer discussions with TAs and to get help in person, we strongly encourage you to come to office hours. You can also reach out to us via email at cs229-qa@cs.stanford.edu (a mailing list consisting of the TAs and instructors) or cs229-project@cs.stanford.edu for project questions. Answers to commonly asked questions and clarifications to the homeworks will be posted on the FAQ.
Office Hours
Office hours can be found here.
Course Coordinator
Teaching Assistants
* denotes a project TA
FAQ
Answers to frequently asked questions can be found here.
Handout
The class handout can be downloaded here.

Logistics

Prerequisites
Students are expected to have the following background:
  • Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program.
  • Familiarity with probability theory (CS 109 or STATS 116)
  • Familiarity with linear algebra (any one of Math 104, Math 113, or CS 205 should be sufficient)
Sections
To review material from the prerequisites or to supplement the lecture material, there will occasionally be extra discussion sections held on Friday. An announcement will be made whenever one of these sections is held. Attendance at these sections is optional.
Course Materials
There is no required text for this course. Notes will be posted periodically on the class syllabus.
Grading
There will be four written homeworks, one midterm, and a major open-ended term project (see the projects page for details). The assignments will contain written questions and questions that require some MATLAB programming. In the term project, you will investigate some interesting aspect of machine learning or apply machine learning to a problem that interests you.
We try very hard to make questions unambiguous, but some ambiguities may remain. Ask if confused or state your assumptions explicitly. Reasonable assumptions will be accepted in case of ambiguous questions.
Course grades: will be based 40% on homeworks (10% each), 20% on the midterm, and 40% on the major term project.
Submitting Assignments
Assignments will be submitted through Gradescope. Sign up for the course using entry code 9ZRWVZ. More detailed instructions.
Late assignments
Each student will have a total of seven free late (calendar) days to use for homeworks, project proposals and project milestones. Once these late days are exhausted, any assignments turned in late will be penalized 20% per late day. However, no assignment will be accepted more than three days after its due date, and late days cannot be used for the final project poster or write-up. Each 24 hours or part thereof that a homework is late uses up one full late day.
Honor code

We strongly encourage students to form study groups. Students may discuss and work on homework problems in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should write on the problem set the set of people with whom s/he collaborated.
Further, since we occasionally reuse problem set questions from previous years, we expect students not to copy, refer to, or look at the solutions in preparing their answers. It is an honor code violation to intentionally refer to a previous year's solutions. This applies both to the official solutions and to solutions that you or someone else may have written up in a previous year.