Title: Efficient%20Algorithms%20for%20Non-parametric%20Clustering%20With%20Clutter
1Efficient Algorithms for Non-parametric
Clustering With Clutter
- Weng-Keen Wong
- Andrew Moore
- (In partial fulfillment of the speaking
requirement)
2Problems From the Physical Sciences
Minefield detection (Dasgupta and Raftery 1998)
Earthquake faults (Byers and Raftery 1998)
3Problems From the Physical Sciences
(Pereira 2002)
(Sloan Digital Sky Survey 2000)
4A Simplified Example
5Clustering with Single Linkage Clustering
Clusters
Single Linkage Clustering MST
6Clustering with Mixture Models
Resulting Clusters
Mixture of Gaussians with a Uniform Background
Component
7Clustering with CFF
Cuevas-Febrero-Fraiman
Original Dataset
8Related Work
- (Dasgupta and Raftery 98)
- Mixture model approach mixture of Gaussians for
features, Poisson process for clutter - (Byers and Raftery 98)
- K-nearest neighbour distances for all points
modeled as a mixture of two gamma distributions,
one for clutter and one for the features - Classify each data point based on which component
it was most likely generated from
9Outline
- 1. Introduction Clustering and Clutter
- 2. The Cuevas-Febreiro-Fraiman Algorithm
- 3. Optimizing Step One of CFF
- 4. Optimizing Step Two of CFF
- 5. Results
10The CFF Algorithm Step One
- Find the high
- density datapoints
11The CFF Algorithm Step Two
- Cluster the high density points using Single
Linkage Clustering - Stop when link length gt ?
12The CFF Algorithm
- Originally intended to estimate the number of
clusters - Can also be used to find clusters against a noisy
background
13Step One Density Estimators
- Finding high density points requires a density
estimator - Want to make as few assumptions about underlying
density as possible - Use a non-parametric density estimator
14A Simple Non-Parametric Density Estimator
- A datapoint is a high
- density datapoint if
- The number of
- datapoints within a
- hypersphere of radius
- h is gt threshold c
15Speeding up the Non-Parametric Density Estimator
- Addressed in a separate paper (Gray and Moore
2001) - Two basic ideas
- 1. Use a dual tree algorithm (Gray and Moore
2000) - 2. Cut search off early without computing exact
densities (Moore 2000)
16Step Two Euclidean Minimum Spanning Trees (EMSTs)
- Traditional MST algorithms assume you are given
all the distances - Implies O(N2) memory usage
- Want to use a Euclidean Minimum Spanning Tree
algorithm
17Optimizing Clustering Step
- Exploit recent results in computational geometry
for efficient EMSTs - Involves modification to GeoMST2 algorithm by
(Narasimhan et al 2000) - GeoMST2 is based on Well-Separated Pairwise
Decompositions (WSPDs) (Callahan 1995) - Our optimizations gain an order of magnitude
speedup, especially in higher dimensions
18Outline for Optimizing Step Two
- 1. High level overview of GeoMST2
- 2. Properties of a WSPD
- 3. How to create a WSPD
- 4. More detailed description of GeoMST2
- 5. Our optimizations
19Intuition behind GeoMST2
20Intuition behind GeoMST2
21High Level Overview of GeoMST2
Well-Separated Pairwise Decomposition
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
22High Level Overview of GeoMST2
Well-Separated Pairwise Decomposition
Each Pair (Ai,Bi) represents a possible edge in
the MST
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
23High Level Overview of GeoMST2
1. Create the Well-Separated Pairwise
Decomposition
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
2. Take the pair (Ai,Bi) that corresponds to the
shortest edge
3. If the vertices of that edge are not in the
same connected component, add the edge to the
MST. Repeat Step 2.
24A Well-Separated Pair (Callahan 1995)
- Let A and B be point sets in ?d
- Let RA and RB be their respective bounding
hyper-rectangles - Define MargDistance(A,B) to be the minimum
distance between RA and RB
25A Well-Separated Pair (Cont)
- The point sets A and B are considered to be
- well-separated if
- MargDistance(A,B) ? maxDiam(RA),Diam(RB)
26Interaction Product
- The interaction product between two point sets A
and B is defined as - A ? B p,p p ? A, p ? B, p ? p
27Interaction Product
- The interaction product between two point sets A
and B is defined as - A ? B p,p p ? A, p ? B, p ? p
This is the set of all distinct pairs with one
element in the pair from A and the other element
from B
28Interaction Product Definition
- The interaction product between two point sets A
and B is defined as - A ? B p,p p ? A, p ? B, p ? p
For Example A 1,2,3 B 4,5 A ? B
1,4, 1,5, 2,4, 2,5, 3,4, 3,5
29Interaction Product
Now let A and B be the same point set ie. A
0,1,2,3,4 B 0,1,2,3,4
- A ? B 0,1, 0,2, 0,3,0,4,
- 1,2, 1,3, 1,4,
- 2,3, 2,4,
- 3,4
30Interaction Product
Now let A and B be the same point set ie. A
0,1,2,3,4 B 0,1,2,3,4
- A ? B 0,1, 0,2, 0,3, 0,4,
- 1,2, 1,3, 1,4,
- 2,3, 2,4,
- 3,4
Think of this as all possible edges in a
complete, undirected graph with 0,1,2,3,4 as
the vertices
31A Well-Separated Pairwise Decomposition
Pair 1 (0,1)
Pair 2 (0,1, 2)
Pair 3 (0,1,2,3,4)
Pair 4 (3, 4)
Claim The set of pairs (0,1), (0,1,
2), (0,1,2,3,4), (3, 4) form a
Well-Separated Decomposition.
32Interaction Product Properties
- If P is a point set in ?d then a WSPD of P is a
set of pairs (Ai,Bi),,(Ak,Bk) with the following
properties - 1. Ai ? P and Bi ? P for all i 1,,k
- 2. Ai ? Bi ? for all i 1, , k
A 0,1,2,3,4 B 0,1,2,3,4 (0,1),
(0,1, 2), (0,1,2,3,4), (3, 4)
clearly satisfies Properties 1 and 2
33Interaction Product Property 3
- 3. (Ai ? Bi) ? (Aj ? Bj) ? for all i,j such
that i ? j
From (0,1), (0,1, 2), (0,1,2,3,4),
(3, 4) we get the following interaction
products A1 ? B1 0,1 A2 ? B2
0,2,1,2 A3 ? B3 0,3,1,3,2,3,0,4,
1,4,2,4 A4 ? B4 3,4 These Interaction
Products are all disjoint
34Interaction Product Property 4
P ? P 0,1, 0,2, 0,3, 0,4, 1,2,
1,3, 1,4, 2,3, 2,4,
3,4 A1 ? B1 0,1 A2 ? B2
0,2,1,2 A3 ? B3 0,3,1,3,2,3,0,4,
1,4,2,4 A4 ? B4 3,4 The Union of the
above Interaction Products gives back P ? P
35Interaction Product Property 5
- 5. Ai and Bi are well-separated for all i1,,k
36Two Points to Note about WSPDs
- Two distinct points are considered to be
well-separated - For any data set of size n, there is a trivial
WSPD of size (n choose 2)
37A Well-Separated Pairwise Decomposition
(Continued)
If there are n points in P, a WSPD of P can be
constructed in O(nlogn) time with O(n) elements
using a fair split tree (Callahan 1995)
38A Fair Split Tree
39Creating a WSPD
Are the nodes outlined in yellow well-separated?
No.
40Creating a WSPD
Recurse on children of node with widest dimension
41Creating a WSPD
Recurse on children of node with widest dimension
42Creating a WSPD
Recurse on children of node with widest dimension
43Creating a WSPD
And so on
44Base Case
Eventually you will find a well-separated pair of
nodes. Add this pair to the WSPD.
45Another Example of the Base Case
46Creating a WSPD
- FindWSPD(W,NodeA,NodeB)
- if( IsWellSeparated(NodeA,NodeB))
- AddPair(W,NodeA,NodeB)
- else
- if( MaxHrectDimLength(NodeA) lt
MaxHrectDimLength(NodeB) ) - Swap(NodeA,NodeB)
- FindWSPD(W,NodeA-gtLeft,NodeB) FindWSPD(W,NodeA-
gtRight,NodeB)
47High Level Overview of GeoMST2
1. Create the Well-Separated Pairwise
Decomposition
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
2. Take the pair (Ai,Bi) that corresponds to the
shortest edge
3. If the vertices of that edge are not in the
same connected component, add the edge to the
MST. Repeat Step 2
48Bichromatic Closest Pair Distance
- Given two sets (Ai,Bi), the Bichromatic
- Closest Pair Distance is the closest distance
- from a point in Ai to a point in Bi
49High Level Overview of GeoMST2
1. Create the Well-Separated Pairwise
Decomposition
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
2. Take the pair (Ai,Bi) with the shortest BCP
distance
3. If Ai and Bi are not already connected, add
the edge to the MST. Repeat Step 2.
50GeoMST2 Example Start
Current MST
51GeoMST2 Example Iteration 1
Current MST
52GeoMST2 Example Iteration 2
Current MST
53GeoMST2 Example Iteration 3
Current MST
54GeoMST2 Example Iteration 4
Current MST
55High Level Overview of GeoMST2
1. Create the Well-Separated Pairwise
Decomposition
Modification for CFF If BCP distance gt ?,
terminate
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
2. Take the pair (Ai,Bi) with the shortest BCP
distance
3. If Ai and Bi are not already connected, add
the edge to the MST. Repeat Step 2.
56Optimizations
- We dont need the EMST
- We just need to cluster all points that are
within ? distance or less from each other - Allows two optimizations to GeoMST2 code
57High Level Overview of GeoMST2
Optimizations take place in Step 1
1. Create the Well-Separated Pairwise
Decomposition
- (A1,B1)
- (A2,B2)
- .
- .
- .
- (Am,Bm)
2. Take the pair (Ai,Bi) with the shortest BCP
distance
3. If Ai and Bi are not already connected, add
the edge to the MST. Repeat Step 2.
58Recall How to Create the WSPD
59Optimization 1 Illustration
60Optimization 1
- Ignore all links that are gt ?
- Every pair (Ai, Bi) in the WSPD becomes an edge
unless it joins two already connected components - If MargDistance(Ai,Bi) gt ?, then an edge of
length ? cannot exist between a point in Ai and
Bi - Dont include such a pair in the WSPD
61Optimization 2 Illustration
62Optimization 2
- Join all elements that are within ? distance of
each other - If the max distance separating the bounding
hyper-rectangles of Ai and Bi is ? ?, then join
all the points in Ai and Bi if they are not
already connected - Do not add such a pair (Ai,Bi) to the WSPD
63Implications of the optimizations
- Reduce the amount of time spent in creating the
WSPD - Reduce the number of WSPDs, thereby speeding up
the GeoMST2 algorithm by reducing the size of the
priority queue
64Results
- Ran step two algorithms on subsets of the Sloan
Digital Sky Survey - 7 attributes 4 colors, 2 sky coordinates, 1
redshift value - Compared Kruskal, GeoMST2, and
- ?-clustering
65Results (GeoMST2 vs ?-Clustering vs Kruskal in
4D)
66Results (GeoMST2 vs ?-Clustering in 3D)
67Results (GeoMST2 vs ?-Clustering in 4D)
68Results (Change in Time as ? changes for 4D data)
69Results (Increasing Dimensions vs Time
70Future Work
- More accurate, faster non-parametric density
estimator - Use ball trees instead of fair split tree
- Optimize algorithm if we keep h constant but vary
c and ?
71Conclusions
- ?-clustering outperforms GeoMST2 by nearly an
order of magnitude in higher dimensions - Combining the optimizations in both steps will
yield an efficient algorithm for clustering
against clutter on massive data sets