3 ms·
Disclaimer: I have written a few academic papers based on persistent homology and co-founded a company which uses it. Persistent Homology was invented to deal
by topologix 14y ago
Disclaimer: I have written a few academic papers based on persistent homology and co-founded a company which uses it.
Persistent Homology was invented to deal with noise (even though nothing that deals with data is ever IMMUNE to noise). The basic idea is to pick out/discern the topological features (betti numbers) which persist over a range of one or more parameters. Let's take the simple case of single parameter persistence (call it epsilon). Say that we are given a set of N points equipped with a distance function (i.e. given any two points, we can compute a distance between them (http://en.wikipedia.org/wiki/Distance) http://en.wikipedia.org/wiki/Distance)). Now, construct a structure comprised of sets of varying lenghts (a set with a single point in it is called a vertex or a 0-simplex, a set with two points in it is called an edge or a 1-simplex, a set with three points in it is called a triangle or 2-simplex and so on.). Given a fixed epsilon, we will:
1. draw an edge (1-simplex) between all pairs of points which are within epsilon of each other.
2. draw a triangle (2-simplex) comprising of all triples of points which are within epsilon of each other (note that three points can have edges between all pairs without 'filling out' the triangle)
3. draw a tetrahedron (3-simplex) comprising of all sets of four points which are within epsilon of each other (remember the note from the previous point)
4. and so on..
Now given this set of simplices for a fixed epsilon, we can compute the number of holes of various dimensions, this gives us a fixed set of betti numbers.
Persistent Homology allows one to study the evolution of this complex as epsilon increases.
The trick about noise : if the features are 'short lived' (i.e. they existed for a short range of epsilon), they are likely noisy. The reason why persistent homology is great is because it identifies the topological features and produces a measure for how long they survive.
I made an example video showing persistence homology in action for a simple 3D dataset (sampled from a torus). Check it out here:
https://www.youtube.com/watch?v=CKfUzmznd9g https://www.youtube.com/watch?v=CKfUzmznd9g
Notice that in this video there are three long lines in the left frame. The first corresponds to betti-0 (there is a single connected component). The second two correspond to betti-1 (there are two loops on a torus). The third corresponds to betti-2 (there is a singe empty space within the torus).
- jclos 14y agoI find that fascinating. Since you seem to know what you are talking about, can you name a good introductory book on the topic for someone who doesn't have an education in higher-level mathematics besides what's in a standard CS curriculum (I am a PhD student in machine learning/information retrieval)? EDIT: I just realized that it was covered by the blog post. I am a complete moron. Sorry.
- topologix 14y agoI recommend Afra's book: http://www.amazon.com/Computing-Cambridge-Monographs-Computational-Mathematics/dp/0521136091/ref=sr_1_2?ie=UTF8&qid=1364746529&sr=8-2&keywords=computational+topology http://www.amazon.com/Computing-Cambridge-Monographs-Computa... Happy to help if you need it!
- Topolomancer 14y agoI like "Computational topology" by Edelsbrunner and Harer. They start with some basic graph theory and build on that to give a solid overview of algebraic topology, persistent homology, and even some Morse theory.