CMSC828J Advanced Topics in Information Processing:

Subspaces and Manifolds for Computer Vision and Machine Learning

 General Information

Class Time

Mon, Wed. 3:30-4:45

Room

CSI 2118

Course Info

See below

Text

Riemannian Geometry, by Manfredo Do Carmo

A Panoramic View of Riemannian Geometry, by Marcel Berger

Personnel

 Instructor TA Name David Jacobs Abhishek Sharma Email djacobs at cs Office AVW 4421 Office hours Mon. 2:00-3:00 or by appt.

Announcements:

Midterm is here.  Data for problem 4 is here, with readme.  Due on Wed. April 3.

Review for final is here.

Description

Linear subspaces and other manifolds are widely used to represent data.  Dimensionality reduction is often a driving motivation. For example, Principal Component Analysis (PCA) represents data by projecting it into a low-dimensional space that best captures the data, providing a representation that captures the intrinsic dimensionality of the data.  Many other linear approaches exist, which used supervised information (eg., LDA) or attempt to represent multiple data sets in a common space (eg., CCA, PLS).  Manifold learning approaches represent data using low-dimensional, non-linear manifolds.  Even when they don’t perform dimensionality reduction, Riemannian manifolds offer the opportunity to make use of non-Euclidean metrics that better capture the relationship between data elements.  These approaches have been widely studied and used in machine learning, computer vision and other application areas, such as Natural Language Processing.

In this class we will study these techniques.  The class will be a mix between lectures, in which we study the mathematics behind linear subspaces and Riemannian manifolds, and reading and discussion of papers that develop and apply these methods to various application areas.  We will emphasize their use in computer vision (because that’s what the instructor knows about) but will be happy to discuss a range of other application areas that may be of interest to the students of the class.

Prerequisites

Knowledge of and comfort with mathematics will be very helpful.  At a minimum, students should know multivariable calculus and linear algebra.  No knowledge of manifolds, Riemannian geometry, or differential geometry will be assumed.

Requirements

Here is my current plan for the workload of the class.  This may change during the first two weeks, as the number of students settles down.

1) Reports.  There will be some classes in which we discuss research papers.  Prior to each of these classes, students must turn in a one page report on the papers to be discussed.  I prefer if you turn in a hardcopy to me at the start of class.   Late papers will not be accepted, since the goal of these reports is to get you to think about papers before we discuss them.  However, each student need not turn in a report on days when they are presenting a paper.  The current schedule calls for ten classes with discussions, but this number may change as the semester evolves.  Students will be required to turn in no more than 8 reports.   10% of grade

2)  Presentations.  Students will be divided into six groups.  Each group will take charge of one class.  They are responsible for selecting papers on a specific topic, presenting these papers and leading a discussion on them.  In running a successful class, you will be expected to accomplish four things:  1) Clearly explain material in the papers you have chosen.  Your presentation should be clearer than the papers, not just a regurgitation of them.  2) You should bring in material that goes beyond that in the papers chosen for discussion.  This may include, for example, re-implementing methods in the papers and describing new experiments with them, or describing relevant work in additional papers. 3) You MUST bring your own insights to the presentation.  4) You must lead a discussion involving the class.  All teams should schedule a one hour meeting with me at least one week before the class they are leading, in which they will give a dry run of their presentation.  15 % of grade.

3) Midterm, Final.  These will be based on material from the lectures, and required reading for the lectures.  Notice that all readings are divided into required and background.  Exams will draw from material in the required reading.  50% of grade

4) Project.  Student will choose one:  25% of grade

a) For three of the algorithms discussed in class, implement these algorithms and experiment with them on some real data.  Talk with me about the algorithms you choose to implement before hand.  Algorithms cannot be too easy (ie., implementing PCA in one line of Matlab code won’t really count).  The number of algorithms you will implement is negotiable, if you choose some that are particularly complex.  For each algorithm, turn in a write-up fully explaining your results, and email me a zip file with your code. The intent is that this should be the equivalent of three medium sized problem sets.

b) Programming/research project: This is meant to be a more open-ended project for students interested in research in topics covered in this course.  It should involve implementation of existing or novel algorithms and experiments on a real-world data set.

Please hand in your solution to the problem sets, including: 1) A document, with pictures when appropriate, describing your results; 2) Your code.  I would prefer to receive your code by email in a zip file, and a hardcopy of the document, but I'll accept everything by email.  Projects are due on the last day of class, May 8.

Class Schedule

This schedule should be considered more of a guideline than a rigid plan.

Lectures