CS/CNS/EE 156b: Learning Systems (Spring 2019)

Class Time: Tuesday and Thursday 2:30--3:55 pm in MRE B270


- Final presentations are scheduled in the usual time and order on Tuesday, May 28 and Thursday, May 30. The room is reserved through 5:00 PM in case we go over. Instructions about the presentations have been emailed to the class.

- The slides of your final presentation will also be the final report. Please email them to Yaser (actual slides file, not just a link) immediately after class. No other document is needed.

- A Grand Prize of sorts :-) will be awarded to the best solution (on the test data set), independently of the class grades.

Data and Solutions

- The data is for use in this class only, and is not to be made available to others outside the class. You are asked to delete the data at the end of the term. Do not use data from any other source.

- Submit your solutions to this server as disussed in class. The scores and ranks will be posted on this board.

Software Policy

- You can use publicly available software with a notable exception: You are not allowed to use any packages or tools that are based directly upon papers or algorithms written for the Netflix Challenge, or that were bench-marked or tested against the Netflix dataset. If you are not sure whether a particular package falls under this restriction, please email Brendan Hollaway (address below) for questions and clarifications. Brendan maintains a list of packages that have been determined to be disallowed so you don't waste time on exploring them.

Computational Resources

- Here is a document that describes computational resources that are available to you in this class.


- Here is the initial handout of the class. All class policies are stated in it.

- Here is a funny article that makes an excellent introduction to the project.


- The Netflix competition, which took place from 2006 to 2009, was a fierce competition and left behind a trail of techniques and practical expertise that are worth studying. Here are the reports of the winning team (three detailed reports from the three parts of the team).

- Here is a more recent article (part 1 and part 2) about the Netflix prize in retrospect and recommender systems in general.

- Here is an introduction to Restricted Boltzmann Machines, one of the less documented techniques used in the competition. Here is also a practical guide to implementation.

- Here is an article about efficient KNN tailored to the Netflix competition, and a paper about KNN in collaborative filtering.

- For background material in Learning Systems (CS 156a), you can consult the online version of Learning From Data.


e-mail Office Hours
Instructor Yaser Abu-Mostafa yaser(at)caltech... by appointment (150 Moore)
Head TA Brendan Hollaway bhollawa(at)caltech... by appointment + email questions
TA Bhairav Chidambaram bchidamb(at)caltech... ---
TA Rupesh Jeyaram rjeyaram(at)caltech... by appointment + email questions
TA Meera Krishnamoorthy mkrishna(at)caltech... ---
TA Jenny Li jli5(at)caltech... ---
TA Connor Soohoo connorsoohoo(at)gmail... ---
TA Albert Tseng atseng(at)caltech... by appointment + email questions
Secretary Lucinda Acosta lucinda(at)caltech... ---

Updated: 5/27/2019