CS 4252 Final Project

For the final project, you will choose one research paper in computational learning theory, read it, and submit a written report giving a clear and coherent explanation in your own words of what you learned from the paper. The point of the project is (a) to give you a chance to explore a CLT topic outside of the lectures/book, and (b) for you to demonstrate to me that you can read and understand (at least some portion of) a research paper in computational learning theory.

Note that your report does not have to provide detailed coverage of the entire paper that you choose (some papers are quite long), but it is a good idea to go into at least some level of detail about some portion of the paper. Ten pages is a reasonable length for your written report, though there is neither a hard upper limit nor lower limit on the length of the report. (Note that your report should be no longer than it needs to be -- concision will be rewarded and excessive wordiness or "padding" will be frowned on).

You may work in teams of up to three people for the final project, but you do not have to work in a team. Expectations for team projects will be calibrated according to the number of team members -- so a three-person project would need to demonstrate three times as much work/understanding as a one-person project on the same topic in order to get the same grade.

The rough timeline for final projects is:

  • Tues November 10: initial project proposal due.
  • Specify the paper you plan to cover for your final project. Email this to the course account with subject line "Project Proposal". If you don't plan to cover the entire paper you should specify (approximately) the portion of the paper that you are planning to cover.

  • Thurs December 17, 11:59pm EST: final project report due.
  • Email your final project to coms4252columbia.projects2015@gmail.com (not the usual course account) with subject line "Final Project Report". Your project should be submitted in the form of a pdf file.

    If you are not sure what to do for your final project, here are some sample topics and papers to consider as possibilities. There is nothing particularly special about the items listed below, many other great topics/papers could have been given. It is OK to choose from this list but you are encouraged to spend some time browsing the literature since you may encounter a great topic that interests you more than any of these.

    Note that if you decide to choose your own paper, it is not an option to choose a survey paper -- you should choose a paper that actually presents original research results. You also may not be allowed to pick such a "classic" paper that its contents have already been extensively covered in surveys, since in such cases the survey papers have already by and large done the work that you are expected to do for this project, that of reading, understanding, and giving a nice exposition of (at least a portion of) the paper.

  • Learning rich concept classes: Some learning algorithms which run in more than polynomial time (but less than exponential 2^n time) are known for rich concept classes in the PAC learning model. These include algorithms for decision trees (Ehrenfeucht and Haussler, 1989, Information and Computation, "Learning Decision Trees from Random Examples") and algorithms for DNF formulas (Bshouty, 1994, Information Processing Letters, "A subexponential exact algorithm for learning DNF using equivalence queries", or the 2004 Klivans/Servedio JCSS paper on DNF.).

  • Learning under the uniform distribution / Fourier analysis: Learning Boolean functions from uniformly distributed random examples on {0,1}^n is an important topic in learning theory. Much more is learnable in these frameworks than in the standard PAC model where you must succeed w.r.t. any distribution. For this project you could choose from the 1989 COLT paper of Karsten Verbeurgt on learning DNF in quasipolynomial time under the uniform distribution; the paper of Kushilevitz and Mansour (SIAM J on Computing, 1993) on learning decision trees using the Fourier spectrum; or Linial, Mansour and Nisan's 1993 JACM article on "Constant depth circuits, Fourier transform and learnability".
  • "Follow-the-(perturbed)-leader": this is an alternate approach to ``best-expert'' algorithms (different from multiplicative weight approaches) but one that also gives good bounds. The 2005 JCSS paper "Efficient algorithms for online decision problems" by Kalai and Vempala is a good choice for this topic.

  • Statistical Query learning: The STOC 1994 paper of Blum, Furst, Jackson, Kearns, Mansour and Rudich on "Weakly learning DNF and characterizing statistical query learning using Fourier analysis" covers aspects of the SQ learning model that we won't do in class. Another good paper here is Vitaly Feldman's 2012 JCSS paper "A complete characterization of statistical query learning with applications to evolvability."

  • Topics in exact learning: toward the end of the course we will study (only a little bit) a model in which the learner can make equivalence queries and membership queries, and must exactly identify the unknown target concept. We will show that monotone DNF are efficiently learnable in this framework, but in fact several other interesting and expressive concept classes are known to be efficiently learnable in this model; these include finite automata (a result due to Dana Angluin; this is covered in the Kearns/Vazirani text, and references are given there) and decision trees. Good papers to choose for this topic are Dana Angluin's 1987 Information and Computation paper "Learning Regular Sets from Queries and Counterexamples", or her 1990 Machine Learning paper "Negative results for Equivalence Queries", or Nader Bshouty's 1995 Information and Computation paper "Exact learning Boolean functions via the monotone theory".
  • Complexity-theoretic aspects of learning: There are many interesting connections between complexity theory (complexity classes) and learning theory. Good papers in this area are the 1996 JCSS paper of Bshouty, Cleve, Gavalda, Kannan, Tamon "Oracles and queries that are sufficient for exact learning" and the 2009 Fortnow/Klivans JCSS paper "Efficient learning algorithms yield circuit lower bounds."

  • Random projection: A useful technique (which we did not cover in class) is to perform a 'random projection' of data from n-dimensional space to k-dimensional space (with k much less than n). If you are interested in this topic you may want to choose the 2006 Machine Learning paper "An algorithmic theory of learning: Robust concepts and random projection" of Arriaga and Vempala, or the 2008 Klivans/Servedio paper "Learning intersections of halfspaces with a margin".
  • On-line mistake-bound learning with ``I don't know'' answers: One can consider a variant of the OLMB learning model in which the learning algorithm is allowed to answer ``I don't know''. In some versions of this model the learning algorithm must never make a mistake, and in other versions the goal is to achieve a good tradeoff between the number of mistakes and the number of examples for which ``I don't know'' is answered. Relevant papers here include the 2008 ICML paper of Li, Littman and Walsh; the 2010 NIPS paper of Sayedi, Zadimoghaddam and Blum; and the 2013 SODA paper of Demaine and Zadimoghaddam.

  • Multiclass learning: in the class we only discuss learning Boolean (i.e. two-valued) functions but there is much work on learning multivalued functions where there are more than two possible outputs. Some good possible papers on this topic would be the 1999 Guruswami/Sahai paper or the 1995 JAIR multiclass learning paper of Dietterich/Bakiri.

  • Evolvability: Leslie Valiant has introduced a computational model of evolution which views the evolution process as a restricted form of learning. See his 2009 JACM paper "Evolvability."

  • Noise-tolerant learning of linear threshold functions: The 1998 Algorithmica paper of Blum, Frieze, Kannan and Vempala gives a polynomial-time algorithm to learn arbitrary linear threshold functions in the presence of random classification noise.