Introduction to Machine Learning - 10-715


  • Basic probability and statistics are a plus.

  • Basic linear algebra (matrices, vectors, eigenvalues) is a plus. Knowing functional analysis would be great but not required.

  • Ability to write code that exceeds 'Hello World’. Preferably beyond Matlab or R.

  • Basic knowledge of optimization. Having attended a convex optimization class would be great but the recitations will cover this.

Office hours and questions

If you have questions, you should do the following:

  • If it's a question that other students also might have, ask it on the Google Group first.

  • Come to the office hours. By default they're open for all. You're also welcome to stick around while we're answering other students’ questions.


Homework (40%), midterm (20%), and project (40%).


To satisfy the auditing requirement you must do the homeworks and the midterm and get a Pass for each of them.

Please send an email to the instructors that you'll be auditing the class and let them know beforehand what you're planning to do.

Waitlisted students

If you are waitlisted do not despair. Often students drop out and you will get a slot eventually. If there's space in the lecture theater, feel free to attend (obviously students who are registered have priority). The videos of the lectures will also be up online.


  • There will be 4 sets of assignments. Please hand in the assignments at the beginning of the class on the due date (typically Monday) and also! email them to the TAs.

  • Place each problem onto a separate stack as this helps the TAs to grade them (different TAs specialize on different problems).

  • You can use 2 late days for the 4 assignments. Please use them wisely. After using your late days you can only receive zero credit. No excuses.

  • Homeworks are due individually. Each student must hand in their own answers. If you collaborate with others, it is your responsibility to make sure you personally understand the solution.

  • You must indicate on each homework with whom you collaborated.

  • We strongly discourage you from copying solutions of your fellow students since you're depriving yourself of the experience of learning how to solve the problems on your own. In particular you won't learn useful things for the exams and projects this way. Or for that matter, from the course.

  • Likewise, since this is a graduate class, we expect you not to simply 'google’ your solutions (not that this would help you much anyway).

  • That said, feel free to discuss the solutions with others. You will likely benefit from that.


The midterm exam is on Monday, Nov 9, 2015.


Like any class project, it must address a topic related to machine learning and you must have started the project while taking this class. You will need to submit i) a project proposal (i.e. a paper draft) ii) a midterm report, iii) a final paper, and iv) present the final paper during the class.

The final project should be completed in teams of 3 students. Teams of 2 or 4 are OK if there’s a good reason. Obviously, larger teams are expected to deliver more. Single projects are not OK unless you can prove that a) nobody would take you on their team and b) there is no project that you would like to work on. In an emergency, Alex and Barnabas can help overcome obstacles a) and b).

The report should describe the project. It should describe your work in a reproducible manner, i.e. in enough detail that someone competent could take the report and regenerate the results (after some work but no guesswork) reliably.