COMS 4252: Introduction to Computational Learning Theory
Fall 2014

SYLLABUS

General Information | Introduction | Topics | Prerequisites | Grading | Readings | Problem Sets | Final Projects | Schedule of Topics | Lecture Notes

General Information

Instructor: Rocco Servedio. Office: 517 CSB. Office hours: Fri 10-12.
Teaching assistants: Clement Canonne (Office hours: Tues 3-5pm, CSB 516), Luke Kowalczyk (Office hours: Mon 4-6, Computer Science TA room), Sarper Sertoglu (Office hours: Tues 11-1, Computer Science TA room) Sarthak Dash (Office hours: Thurs 2-4pm, Computer Science TA room).
Classroom: 535 Mudd
Time: Mon/Wed 1:10-2:25.
Course website (this page): http://www.cs.columbia.edu/~cs4252/
Course email (use for all course-related issues): coms4252columbia2014 at gmail dot com. Also, here are email addresses for the individual TAs; these should only be used to contact a specific TA for the purposes of requesting a HW regrade of the problem graded by that particular TA. Clement: clc2200 at columbia dot edu. Luke: luke at cs dot columbia dot edu. Sarper: ss4552 at columbia dot edu. Sarthak: sd2828 at columbia dot edu.

Introduction

The question "Can machines think?" is one that has fascinated people for a long time; see here for a non-technical perspective (you may need to be on the Columbia network to access this resource). This is pretty close to the question "Can machines learn?", which has been studied from different points of view by many researchers in computer science.

This course will give an introduction to some of the central topics in computational learning theory, a field which approaches the above question from a theoretical computer science perspective. We will study well-defined mathematical and computational models of learning in which it is possible to give precise and rigorous analyses of learning problems and learning algorithms. A big focus of the course will be the computational efficiency of learning in these models. We'll develop computationally efficient algorithms for certain learning problems, and will see why efficient algorithms are not likely to exist for other problems.

List of Topics

This is a preliminary list of core topics. Other topics may be covered depending on how the semester progresses. Most topics will take several lectures.

Prerequisites

You should be familiar with the following topics:

Grading and Requirements

The requirements of the course are as follows:

Homework policy: You are encouraged to discuss the course material and the homework problems with each other in small groups (2-3 people), but you must list all discussion partners on your problem set. Discussion of homework problems may include brainstorming and verbally discussing possible solution approaches, but must not go as far as one person telling the others how to solve the problem. In addition, each person must write up her/his solutions independently; you may not look at another student's written solutions. You may consult outside materials, but all materials used must be appropriately acknowledged, and you must always write up your solutions in your own words.

Violation of any portion of this policy will result in a penalty to be assessed at the instructor's discretion. This may include receiving a zero grade for the assignment in question AND a failing grade for the whole course, even for the first infraction.

Students are expected to adhere to the Academic Honesty policy of the Computer Science Department; this policy can be found in full here. Please contact the instructor with any questions.

Re-grade policy: If you dispute the grade received for an assignment, you must submit, in writing, a detailed and clearly stated argument for what you believe is incorrect and why. This must be submitted no later than the beginning of class 1 week after the assignment was returned. (For example, if the assignment were returned to the class on Wednesday, your regrade request would have to be submitted before the start of class on the next Wednesday). Requests for a re-grade after this time will not be accepted. A written response will be provided within one week indicating your final score. Requests of re-grade of a specific problem may result in a regrade of the entire assignment. This re-grade and written response is final. Keep in mind that a re-grade request may result in the overall score for an assignment being lowered.

Readings

The textbook for this course is:

This book is available for purchase on-line. It's also available on reserve in the science and engineering library, and is electronically available through the Columbia library here (you will need to be signed in to access this). Note that several topics which we'll cover (particularly early in the semester) are not in the book. A good source for material which we will cover in the first few weeks of class are the following two papers:

A handy overview of Chernoff and Hoeffding bounds can be found here (thanks to Clement Canonne for preparing this).

For the unit on boosting, a good reference is Rob Schapire's survey paper "The Boosting approach to machine learning: An overview". The first three sections give a (very condensed) treatment of the AdaBoost algorithm we'll cover in class, and later sections have good overviews of more advanced material (this is a good starting point for a project on boosting). Of course, the original paper on Adaboost, "A decision-theoretic generalization of on-line learning and an application to boosting", is a good sources as well. Click here for a handy copy of the AdaBoost algorithm.

Problem Sets

Click here to get to the homework page.

Final Projects

Click here for more information about final projects.

Schedule of Topics

Here is an anticipated schedule of topics. Note that the ordering of some topics may change, and we may spend more or less than one lecture per topic.

Lecture Notes

Click here to obtain SmartBoard notes from lectures.