socg: linear-size approximations to the vietoris-rips filtration

Post on 11-May-2015

329 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

The Vietoris-Rips filtration is a versatile tool in topological data analysis. Unfortunately, it is often too large to construct in full. We show how to construct an $O(n)$-size filtered simplicial complex on an $n$-point metric space such that the persistence diagram is a good approximation to that of the Vietoris-Rips filtration. The filtration can be constructed in $O(n\log n)$ time. The constants depend only on the doubling dimension of the metric space and the desired tightness of the approximation. For the first time, this makes it computationally tractable to approximate the persistence diagram of the Vietoris-Rips filtration across all scales for large data sets. Our approach uses a hierarchical net-tree to sparsify the filtration. We can either sparsify the data by throwing out points at larger scales to give a zigzag filtration, or sparsify the underlying graph by throwing out edges at larger scales to give a standard filtration. Both methods yield the same guarantees.

TRANSCRIPT

A filtration is a growing sequence of spaces.

A filtration is a growing sequence of spaces.

A persistence diagram describes the topological changes over time.

A filtration is a growing sequence of spaces.

Dea

th

Birth

A persistence diagram describes the topological changes over time.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

R! is the powerset 2P .

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

R! is the powerset 2P .

This is too big!

Linear-Size Approximations to the Vietoris-Rips Filtration

Don SheehyGeometrica Group

INRIA Saclay

Previous Approaches at subsampling:

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:Meshes in Euclidean Space [HMSO10]

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:Meshes in Euclidean Space [HMSO10]Topological simplification [Z10, ALS11]

Two tricks:

Two tricks:1 Embed the zigzag in a topologically equivalent filtration.

Two tricks:

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) " H(Q") ! H(Q#) "

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) " H(Q") ! H(Q#) "

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) ! H(Q") ! H(Q#) !

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) ! H(Q") ! H(Q#) !

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

At the homology level, there is no zigzag.

The Result:

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

A metric with doubling dimension d is one for which every ball of radius 2r can be covered by 2d balls of radius r for all r.

How to perturb the metric.

How to perturb the metric.Let tp be the time when point p is removed.

How to perturb the metric.

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

Let tp be the time when point p is removed.

How to perturb the metric.

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

How to perturb the metric.

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

How to perturb the metric.

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

How to perturb the metric.

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

Relaxed Rips: ! ! R̂! " d̂!(p, q) # 2" for all p, q ! !

How to perturb the metric.

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

Relaxed Rips: ! ! R̂! " d̂!(p, q) # 2" for all p, q ! !

R !

1+"

! R̂! ! R!

Really getting rid of the zigzags.

Really getting rid of the zigzags.

X! =

!

"!!

Q!

Really getting rid of the zigzags.

X! =

!

"!!

Q!

This is (almost) the clique complex of a hierarchical spanner!

Net-trees

Net-trees

Net-trees

Net-trees

One leaf per point of P.

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)

Let up be the ancestor of all nodes represented by p.

Time to remove p: tp = 1!(1!!)rad(parent(up))

Projection onto a net

Projection onto a net

N! = {p ! P : tp " !}

Projection onto a net

N! = {p ! P : tp " !}

Q! is the subcomplex of R̂! induced on N!.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

For all distinct p, q ! N!,d(p, q) " Kpack!(1# !)".

2 Packing:

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

For all distinct p, q ! N!,d(p, q) " Kpack!(1# !)".

2 Packing:

Q! is the subcomplex of R̂! induced on N!.

Why is the filtration only linear size?

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

3 Conclude average O(1) simplices per vertex.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

3 Conclude average O(1) simplices per vertex.

2O(d2)

Summary

SummaryApproximate the VR filtration with a Zigzag filtration.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The Future

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

Thank You.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

Thank You.Thank You.

top related