Course description: Topology, much like geometry, is concerned with studying the shape of mathematical spaces; these include surfaces, collections of functions and even more complicated objects. Over the last decade some of these same techniques have found applications to problems in data analysis, in areas such as chemistry, neuroscience and robotics. In this course, we will introduce the main tools powering this rapidly-growing field (e.g., persistent homology and mapper), we will present several examples of applications (e.g., to computer vision, time series analysis and computational biology), as well as some of the theoretical open problems in the field. The course will include an independent research component.
Major topics:
Unit I: Background
Simplicial complexes
The graph laplacian
Fields, vector spaces, linear transformations and the smith normal form
Betti numbers and Homology
Unit II: Persistent Homology and topological data analysis
Intuition, Definition, Computing persistent homology
The Stability of Persistence
Unit III: Applications
Topology of spaces of micro images and applications to image compression and texture classification
Time series analysis: recurrence in biological systems, chatter detection in mechanical systems and video analysis
Machine learning with persistence diagrams
References:
Linear Algebra Done Wrong, by Sergei Treil, 2014.
Elements of algebraic topology, by James R. Munkres, Vol. 2. Reading: Addison-Wesley, 1984.
Persistence theory: From quiver representations to data analysis, by Steve Y. Oudot, Mathematical Surveys and Monographs, Vol. 209, American Mathematical Society, 2015.
Homework:
Homework 1 : pdf , JupyterNotebook
Homework 2: pdf, download JupyterNotebook and data
Lectures:
Lecture 1 [01/06/20] Intro: The Euler characteristic, Betti numbers, barcodes and the topology of data (slides, video)
Lecture 2 [01/08/20] Simplicial complexes (video)
Lecture 3 [01/13/20] Nerve complexes and the “baby” nerve lemma, learning with nerve complexes, simplicial maps (slides, video)
Lecture 4 [01/15/20] Barycentric coordinates, the simplicial approximation theorem and intro to chains (video)
[01/20/20] No class (Martin Luther King)
Lecture 5 [01/22/20] (Lecturer: Luis Polanco) Chains and the boundary operator (video)
[01/27/20] Computational activity: Getting started with Python and JuPyter notebooks (instructions, download notebook)
[01/29/20] Computational activity: Nerve complexes and learning with sparse Laplacian eigenvectors (download notebook)
Lecture 6 [02/03/20] Recap, n-chains and boundary maps, equivalence relations, path-connected components (video)
Lecture 7 [02/05/20] Cycles and boundaries, every boundary is a cycle, homology and computational examples (video)
Lecture 8 [02/10/20] Chains as integer vectors, boundary maps as integer matrices, and the Smith normal form as a way to compute homology (video)
Lecture 9 [02/12/20] Computing homology via matrix reduction, examples (video)
Lecture 10 [02/17/20] Betti curves, Euler characteristic (revisited), Euler characteristic curves and applications to neuroscience, computational geometry and cosmology (video)
Lecture 11 [02/19/20] Solutions to Homework 1, the Persistent Homology of data — preview (video)
Lecture 12 [02/24/20] Simplicial maps and induced linear maps on chains and homology (video)
[02/26/20] Computational activity: Classification with Euler Curves (download notebook and data)
[03/02/20 - 03/06/20] Spring break - no classes
Lecture 13 [03/09/20] Examples of induced maps in homology, the elder rule, and why not to do integer persistence (video)
Lecture 14 [03/11/20] Homology with field coefficients and computational examples —- the Homology of the real projective plane (video)
Lecture 15 [03/16/20] Persistent homology and applications — klein bottles in images, texture and protein classification (video)
[03/18/20] Computational activity, part 1: Computing persistent homology (download notebook and data)
[03/23/20] Computational activity, part 2: Sampling the Klein bottle, the projective plane of lines in images, and improving persistence via geodesic distance
Lecture 16 [03/25/20] Topological time series analysis (video)
[03/30/20] Computational activity, part 1: Topological time series analysis — Sliding window embeddings and persistent homology (download notebook)
[04/01/20] Computational activity, part 2: Persistence, noise and time series data from dynamical systems
Lecture 17 [04/06/20] The stability of persistence + The theory of SW1PerS (video)
Lecture 18 [04/08/20] Machine learning with persistence diagrams (video)
[04/13/20] Computational activity, part 1: Machine learning with persistence diagrams - Feature selection and manifold classification (download notebook)
[04/15/20] Computational activity, part 2: Machine learning with persistence diagrams - Classification of dynamic regimes in the Lorenz system
[04/20/20] Final project presentations: (1) kNN graphs for periodicity detection in video data, (2) classification of sleep states with SW1PerS, (3) Automatic chatter detection, (4) Merge trees and applications.
[04/22/20] Final project presentations: (5) Water quality classification with convNets and persistent homology, (6) gearbox failure prediction with SW1PerS, (7) multi-field persistence for topological time series analysis, (8) improving data visualization with persistent homology