Breaking News:

All assignments are due by Wednesday, June 6.

The class final is Friday, June 8, 3:30 -- 5:00 pm in 380-380C. See Piazza for details.


The goal of this course is to cover the rudiments of geometric and topological methods that have proven useful in the analysis of geometric data, using classical as well as deep learning approaches. Even non-geometric data, e.g. social networks or genomic microarrays, are often best analyzed by embedding them in a multi-dimensional geometric feature space.

While great strides have been made in applying machine learning to image and natural language data, extant techniques rely heavily of the data being presented in regular array formats. Geometric and topological data, on the other hand is typically in less regular forms, such as for example point clouds or simplicial complexes, requiring novel ideas and methods in both the supervised and unsupervised settings.

Topics to be covered include:

  • Linear algebraic techniques, such as PCA and CCA (useful when the data can be viewed as points in a high dimensional Euclidean space)
  • Non-linear dimensionality reduction methods for such point data
  • Spectral methods for data in the form of graphs, spectral clustering
  • Rudiments of computational topology and specifically persistent homology -- data as complexes
  • Representations for geometric data and  spectral methods on meshes
  • Methods for establishing maps and correspondences between geometric data sets
  • Deep architectures for processing 3D data in voxel, multiview, point cloud, and mesh formats, including classification and segmentation
  • Function spaces and functional maps as information transport operators
  • Networks of related data sets and the extraction of shared structure (latent spaces) and of data set differences
  • Applications to computer graphics, computer vision, as well as other areas

Extant annotated visual data repositories, such as Imagenet and Shapenet, will be covered and used. The course also aims to show that there can be multiple perspectives or views on the same data, and that a particular piece of data is often best understood not alone but within a "social network" of related data sets that provide a useful context for its analysis.

This class presumes an elementary knowledge of algorithms and of linear algebra. It will require four assignments (w. programming) and a final exam.


These pages are maintained by Leonidas Guibas guibas@cs.stanford.edu.
Last update June 5, 2018.