SlideShare a Scribd company logo
Drawing Large Graphs Using Divisive Hierarchical
k-means
Barbara Ikica
22. 11. 2012
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Identifying connected components
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Identifying connected components
Diffusion kernels on graphs
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Identifying connected components
Diffusion kernels on graphs
Drawing
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Identifying connected components
Diffusion kernels on graphs
Drawing
Time complexity
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Abstract
Idea behind the algorithm
Implementation
Hierarchical clustering (Divisive Hierarchical k-means)
Graph representation
Identifying connected components
Diffusion kernels on graphs
Drawing
Time complexity
Random projections
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
0
1
2
3 4
5 6
7
8
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
0
1
2
3 4
5 6
7
8
0
1
2
3 4
5 6
7
8
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
0
1
2
3 4
5 6
7
8
0
1
2
3 4
5 6
7
8
012 3456
78
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
Objective: Arrangement of the (sets of the) vertices of a graph
G = V (G), E(G) at the level of hierarchy n
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
Objective: Arrangement of the (sets of the) vertices of a graph
G = V (G), E(G) at the level of hierarchy n
1. Determining the partition of V (G) : Pn = {Mi}m
i=1
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Idea behind the algorithm
Objective: Arrangement of the (sets of the) vertices of a graph
G = V (G), E(G) at the level of hierarchy n
1. Determining the partition of V (G) : Pn = {Mi}m
i=1
2. Determining the drawing area for each Mi ∈ Pn
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
M := {vi}n
i=1, vi ∈ Rd ∀i, 1 ≤ i ≤ n.
We aim to partition the set M into k clusters P = {S1, S2, . . . , Sk}
so as to minimize the within-cluster sum of squares
min
P
k
i=1 vj∈Si
vj − µi
2
,
where µi := 1
|Si|( vj∈Si
vj) is the centroid vector of the cluster Si.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
NP-hard problem
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
NP-hard problem
If k and d are fixed, the problem can be exactly solved in
O(ndk+1 log n) steps.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
Recall that:
We aim to partition the set M into k clusters P = {S1, S2, . . . , Sk} so as to minimize
the within-cluster sum of squares
min
P
k
i=1 vj ∈Si
vj − µi
2
.
Corollary 1
min
z∈Rd
v∈S
v − z 2
=
v∈S
v − µ 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
Lemma 1
Choose arbitrary S ⊂ Rd and z ∈ Rd. Then
v∈S
v − z 2
=
v∈S
v − µ 2
+ |S| z − µ 2
,
where µ is the centroid vector of the cluster S, i.e. µ = 1
|S| v∈S
v.
Corollary 1
min
z∈Rd
v∈S
v − z 2
=
v∈S
v − µ 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering
Lemma 1
Choose arbitrary S ⊂ Rd and z ∈ Rd. Then
v∈S
v − z 2
=
v∈S
v − µ 2
+ |S| z − µ 2
,
where µ is the centroid vector of the cluster S, i.e. µ = 1
|S| v∈S
v.
Lemma 2
Let X denote an arbitrary random variable with values in Rd. For any z ∈ Rd the
following holds:
E( X − z 2
) = E( X − E(X) 2
) + z − E(X) 2
.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ
(0)
i for
each i = 1, 2, . . . , k.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ
(0)
i for
each i = 1, 2, . . . , k.
For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k)
1. S
(t)
i = vp : vp − µ
(t)
i
2
≤ vp − µ
(t)
j
2
∀ j : 1 ≤ j ≤ k
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ
(0)
i for
each i = 1, 2, . . . , k.
For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k)
1. S
(t)
i = vp : vp − µ
(t)
i
2
≤ vp − µ
(t)
j
2
∀ j : 1 ≤ j ≤ k and
2. µ
(t+1)
i = 1
S
(t)
i
vj ∈S
(t)
i
vj
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ
(0)
i for
each i = 1, 2, . . . , k.
For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k)
1. S
(t)
i = vp : vp − µ
(t)
i
2
≤ vp − µ
(t)
j
2
∀ j : 1 ≤ j ≤ k and
2. µ
(t+1)
i = 1
S
(t)
i
vj ∈S
(t)
i
vj
until there is no further change in the assignments of the vectors to the clusters
S
(t)
i (for each i) in the partition V.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof.
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
≤
k
i=1 vj ∈S
(t−1)
i
vj − µ
(t)
i
2
(1)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof.
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
≤
k
i=1 vj ∈S
(t−1)
i
vj − µ
(t)
i
2
, since (1)
S
(t)
i = vp : vp − µ
(t)
i
2
≤ vp − µ
(t)
j
2
∀ j : 1 ≤ j ≤ k .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof.
k
i=1 vj ∈S
(t)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
(2)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof.
k
i=1 vj ∈S
(t)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
, since (2)
µ
(t+1)
i =
1
S
(t)
i
vj ∈S
(t)
i
vj and min
z∈Rd
v∈S
v − z 2
=
v∈S
v − µ 2
.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof. Thus
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
≤
k
i=1 vj ∈S
(t−1)
i
vj − µ
(t)
i
2
(1)
k
i=1 vj ∈S
(t)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
(2)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof. Thus
k
i=1 vj ∈S
(t+1)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t+1)
i
2
(1)
k
i=1 vj ∈S
(t)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
(2)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
k-means clustering – iterative algorithm
Lemma 3
The value of the expression
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
decreases monotonically
during iteration.
Proof. Thus
k
i=1 vj ∈S
(t+1)
i
vj − µ
(t+1)
i
2
≤
k
i=1 vj ∈S
(t)
i
vj − µ
(t)
i
2
.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering
Hierarchical clustering
M
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Figure: Schematic representation of the hierarchical partition of the set
M.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Input (graph data)
0 2
1 3
1 5
3 8
3 9
4 7
6 7
9 10
9 11
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Input (graph data)
0 2
1 3
1 5
3 8
3 9
4 7
6 7
9 10
9 11
0
2
5
1
3
8
4
6
7
9
11
10
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Input (graph data)
0 2
1 3
1 5
3 8
3 9
4 7
6 7
9 10
9 11
0
2
5
1
3
8
4
6
7
9
11
10
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Input (graph data)
0 2
1 3
1 5
3 8
3 9
4 7
6 7
9 10
9 11
0
2
5
1
33
8
4
6
7
99
11
10
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Adjacency matrix MG
[MG
]ij =
1; vi ∼ vj,
0; otherwise.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Adjacency matrix MG
[MG
]ij =
1; vi ∼ vj,
0; otherwise.
Example
MG
=







0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0







Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Adjacency matrix MG
[MG
]ij =
1; vi ∼ vj,
0; otherwise.
Example
MG
=







0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0






 4
6
7
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
Adjacency matrix MG
[MG
]ij =
1; vi ∼ vj,
0; otherwise.
Example
MG
=







0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0






 4
6
7
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









−→















[2]
[3,5]
[0]
[1,8,9]
[7]
[1]
[7]
[4,6]
[3]
[3,10,11]
[9]
[9]















Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









−→















[2]
[3,5]
[0]
[1,8,9]
[7]
[1]
[7]
[4,6]
[3]
[3,10,11]
[9]
[9]















Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Graph representation
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









−→















[2]
[3,5]
[0]
[1,8,9]
[7]
[1]
[7]
[4,6]
[3]
[3,10,11]
[9]
[9]















Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
0
2
5
1
3
8
4
6
7
9
11
10
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
0
2
5
1
3
8
4
6
7
9
11
10
5
1
3
8
9
10
11
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10 MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 0 1 0 0 0 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 0 1 0 0 0 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 0 0 0 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 0 0 0 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 0 0 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 2 2 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
10
11
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 2 2 0 0
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
10
11
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 2 2 2 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
10
11
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 2 2 2 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
5
1
3
8
9
11
10
1
5
3
8
9
10
11
MG
=









0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0









1 2 1 2 0 2 0 0 2 2 2 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
0
2
5
1 3
8 4
6 7
9
11
10
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Identifying connected components
0
2
5
1 3
8 4
6 7
9
11
10
1 2 1 2 3 2 3 3 2 2 2 2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
0 1
2 3
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
0 1
2 3
0
3
1
2 Hierarchical clustering on the row
vectors of the adjacency matrix
MG:
S1 = {1, 2}
S2 = {0, 3}
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
0 1
2 3
0
3
1
2 Hierarchical clustering on the row
vectors of ?:
S1 = {0, 1, 2}
S2 = {3}
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
The adjacency matrix MG has the following property:
[(MG
)k
]ij = # of all paths of length up to k between vertices i and j
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
The adjacency matrix MG has the following property:
[(MG
)k
]ij = # of all paths of length up to k between vertices i and j
We modify the algorithm by replacing MG with the kernel matrix
KG:
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
k : Ω × Ω → R is a similarity measure if:
k(x, y) characterizes the similarities of x, y ∈ Ω.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
k : Ω × Ω → R is a similarity measure if:
k(x, y) characterizes the similarities of x, y ∈ Ω.
k : Ω × Ω → R is a kernel if:
1. k(x, y) = k(y, x), ∀x, y ∈ Ω,
2. k is positive semidefinite:
the kernel matrix K ∈ Rn×n, [K]ij = k(xi, xj), is positive
semidefinite for all x1, x2, . . . , xn ∈ Ω.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
k : Ω × Ω → R is a similarity measure if:
k(x, y) characterizes the similarities of x, y ∈ Ω.
k : Ω × Ω → R is a kernel if:
1. k(x, y) = k(y, x), ∀x, y ∈ Ω,
2. k is positive semidefinite:
the kernel matrix K ∈ Rn×n, [K]ij = k(xi, xj), is positive
semidefinite for all x1, x2, . . . , xn ∈ Ω.
Given a kernel k, there exist a Hilbert space Hk and a map φ : Ω → Hk such
that
φ(x), φ(y) Hk
= k(x, y) for all x, y ∈ Ω.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) indeed is a kernel matrix,
since
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) indeed is a kernel matrix,
since
KG
= exp(αMG
)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) indeed is a kernel matrix,
since
KG
= exp(αMG
) = exp(αUDUT
)
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) indeed is a kernel matrix,
since
KG
= exp(αMG
) = exp(αUDUT
) = αU exp(D)UT
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Diffusion kernels on graphs
KG
:=
∞
k=0
αk(MG)k
k!
= exp(αMG
) indeed is a kernel matrix,
since
KG
= exp(αMG
) = exp(αUDUT
) = αU exp(D)UT
=⇒ KG is a symmetric positive semidefinite matrix
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering on KG
Example
"1#1"
"2#11"
"1#2"
"2#211"
"3#11"
"2#12"
"3#2"
"3#12"
"2#221"
"2#212"
"2#2221"
"2#2222"
0
2
4
6 7
1 3
5
8
9
10
11
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering on KG
Example
"1#1"
"2#11"
"1#2"
"2#211"
"3#11"
"2#12"
"3#2"
"3#12"
"2#221"
"2#212"
"2#2221"
"2#2222"
0
2
4
6 7
1 3
5
8
9
10
11
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering on KG
Example
"1#1"
"2#11"
"1#2"
"2#211"
"3#11"
"2#12"
"3#2"
"3#12"
"2#221"
"2#212"
"2#2221"
"2#2222"
0
2
4
6 7
1
5
3
8
9
10
11
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering on KG
Example
"1#1"
"2#11"
"1#2"
"2#211"
"3#11"
"2#12"
"3#2"
"3#12"
"2#221"
"2#212"
"2#2221"
"2#2222"
0
2
4
6 7
1
5
8
10
11
3
9
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Hierarchical clustering on KG
Example
"1#1"
"2#11"
"1#2"
"2#211"
"3#11"
"2#12"
"3#2"
"3#12"
"2#221"
"2#212"
"2#2221"
"2#2222"
0
2
4
6 7
1
5
8
10
11
3
9
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P0.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P1.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P1.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P1.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P2.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P2.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Drawing
A111A112
A12
A211 A212
A221 A222
Figure: Determining the
drawing area for the sets
in the partition P3.
V (G)
A1
A11
A111 A112
A12
A12
A2
A21
A211 A212
A22
A221 A222
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Efficient computation of KG
= exp(αMG
)
Computation of KG si needed in the algorithm:
to determine the centroids µj,
to minimize vi − µj
2
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Efficient computation of KG
= exp(αMG
)
Computation of KG si needed in the algorithm:
to determine the centroids µj,
to minimize vi − µj
2:
vi − µj
2
= vi − µj, vi − µj = vi, vi − 2 vi, µj + µj, µj .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Efficient computation of KG
= exp(αMG
)
Computation of KG si needed in the algorithm:
to determine the centroids µj,
to minimize vi − µj
2:
vi − µj
2
= vi − µj, vi − µj = vi, vi − 2 vi, µj + µj, µj .
The question is thus:
How to efficiently multiply the matrix KG with an arbitrary vector and how to
efficiently compute the inner products vi, vi = vi
2?
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Time complexity
Multiplying the matrix KG
with an arbitrary vector v
KG
v = Iv +
α
1
MG
v +
α2
2!
(MG
)2
v +
α3
3!
(MG
)3
v + . . . =
= v +
α
1
(MG
v) +
α
2
MG α
1
(MG
v) +
α
3
MG α
2
MG α
1
(MG
v) + . . .
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Random projections
Random projections
Corollary of the Johnson–Lindenstrauss lemma:
Theorem 1
Let P be an arbitrary set of n points in Rd
, represented as an n × d matrix A ∈ Rn×d
. Given ε > 0, β > 0 let
k0 =
4+2β
ε2/2−ε3/3
log n. For integer k ≥ k0, let R ∈ Rd×k
be a random matrix with elements rij , where rij
are independent random variables from either one of the following two probability distributions:
rij :
1 −1
1
2
1
2
, rij :
1 0 −1
1
6
2
3
1
6
.
Let E = 1√
k
AR and let f : Rd
→ Rk
map the i-th row of A to the i-th row of E.
Then
(1 − ε) u − v
2
≤ f (u) − f (v)
2
≤ (1 + ε) u − v
2
holds for all u, v ∈ P with probability at least 1 − n−β
.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means
Implementation – Random projections
Random projections
Corollary of the Johnson–Lindenstrauss lemma:
Theorem 1
Let P be an arbitrary set of n points in Rd
, represented as an n × d matrix A ∈ Rn×d
. Given ε > 0, β > 0 let
k0 =
4+2β
ε2/2−ε3/3
log n. For integer k ≥ k0, let R ∈ Rd×k
be a random matrix with elements rij , where rij
are independent random variables from either one of the following two probability distributions:
rij :
1 −1
1
2
1
2
, rij :
1 0 −1
1
6
2
3
1
6
.
Let E =
1
√
k
AR and let f : Rd
→ Rk
map the i-th row of A to the i-th row of E.
Then
(1 − ε) u − v
2
≤ f (u) − f (v)
2
≤ (1 + ε) u − v
2
holds for all u, v ∈ P with probability at least 1 − n−β
.
Barbara Ikica
Drawing Large Graphs Using Divisive Hierarchical k-means

More Related Content

What's hot

Paths and Polynomials
Paths and PolynomialsPaths and Polynomials
Paths and PolynomialsASPAK2014
 
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...grssieee
 
Introduction about Geometric Algebra
Introduction about Geometric AlgebraIntroduction about Geometric Algebra
Introduction about Geometric Algebra
Vitor Pamplona
 
Algebra(03)_160311_02
Algebra(03)_160311_02Algebra(03)_160311_02
Algebra(03)_160311_02Art Traynor
 
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
Sahil Kumar
 
From planar maps to spatial topology change in 2d gravity
From planar maps to spatial topology change in 2d gravityFrom planar maps to spatial topology change in 2d gravity
From planar maps to spatial topology change in 2d gravity
Timothy Budd
 
Multilayerity within multilayerity? On multilayer assortativity in social net...
Multilayerity within multilayerity? On multilayer assortativity in social net...Multilayerity within multilayerity? On multilayer assortativity in social net...
Multilayerity within multilayerity? On multilayer assortativity in social net...
Moses Boudourides
 
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFULLADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
Fransiskeran
 
Topology Matters in Communication
Topology Matters in CommunicationTopology Matters in Communication
Topology Matters in Communication
cseiitgn
 
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKESODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
graphhoc
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 
Parallel tansport sssqrd
Parallel tansport sssqrdParallel tansport sssqrd
Parallel tansport sssqrd
foxtrot jp R
 
Lesson 16 The Spectral Theorem and Applications
Lesson 16  The Spectral Theorem and ApplicationsLesson 16  The Spectral Theorem and Applications
Lesson 16 The Spectral Theorem and ApplicationsMatthew Leingang
 
Density theorems for Euclidean point configurations
Density theorems for Euclidean point configurationsDensity theorems for Euclidean point configurations
Density theorems for Euclidean point configurations
VjekoslavKovac1
 
How to design a linear control system
How to design a linear control systemHow to design a linear control system
How to design a linear control system
Alireza Mirzaei
 
Important Cuts and (p,q)-clustering
Important Cuts and (p,q)-clusteringImportant Cuts and (p,q)-clustering
Important Cuts and (p,q)-clusteringASPAK2014
 
01 knapsack using backtracking
01 knapsack using backtracking01 knapsack using backtracking
01 knapsack using backtrackingmandlapure
 
FURTHER RESULTS ON ODD HARMONIOUS GRAPHS
FURTHER RESULTS ON ODD HARMONIOUS GRAPHSFURTHER RESULTS ON ODD HARMONIOUS GRAPHS
FURTHER RESULTS ON ODD HARMONIOUS GRAPHS
graphhoc
 

What's hot (19)

Paths and Polynomials
Paths and PolynomialsPaths and Polynomials
Paths and Polynomials
 
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...
WE4.L09 - MEAN-SHIFT AND HIERARCHICAL CLUSTERING FOR TEXTURED POLARIMETRIC SA...
 
Introduction about Geometric Algebra
Introduction about Geometric AlgebraIntroduction about Geometric Algebra
Introduction about Geometric Algebra
 
Algebra(03)_160311_02
Algebra(03)_160311_02Algebra(03)_160311_02
Algebra(03)_160311_02
 
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
 
From planar maps to spatial topology change in 2d gravity
From planar maps to spatial topology change in 2d gravityFrom planar maps to spatial topology change in 2d gravity
From planar maps to spatial topology change in 2d gravity
 
Multilayerity within multilayerity? On multilayer assortativity in social net...
Multilayerity within multilayerity? On multilayer assortativity in social net...Multilayerity within multilayerity? On multilayer assortativity in social net...
Multilayerity within multilayerity? On multilayer assortativity in social net...
 
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFULLADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
LADDER AND SUBDIVISION OF LADDER GRAPHS WITH PENDANT EDGES ARE ODD GRACEFUL
 
Topology Matters in Communication
Topology Matters in CommunicationTopology Matters in Communication
Topology Matters in Communication
 
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKESODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
ODD HARMONIOUS LABELINGS OF CYCLIC SNAKES
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
 
Parallel tansport sssqrd
Parallel tansport sssqrdParallel tansport sssqrd
Parallel tansport sssqrd
 
Lesson 16 The Spectral Theorem and Applications
Lesson 16  The Spectral Theorem and ApplicationsLesson 16  The Spectral Theorem and Applications
Lesson 16 The Spectral Theorem and Applications
 
Density theorems for Euclidean point configurations
Density theorems for Euclidean point configurationsDensity theorems for Euclidean point configurations
Density theorems for Euclidean point configurations
 
How to design a linear control system
How to design a linear control systemHow to design a linear control system
How to design a linear control system
 
Important Cuts and (p,q)-clustering
Important Cuts and (p,q)-clusteringImportant Cuts and (p,q)-clustering
Important Cuts and (p,q)-clustering
 
01 knapsack using backtracking
01 knapsack using backtracking01 knapsack using backtracking
01 knapsack using backtracking
 
FURTHER RESULTS ON ODD HARMONIOUS GRAPHS
FURTHER RESULTS ON ODD HARMONIOUS GRAPHSFURTHER RESULTS ON ODD HARMONIOUS GRAPHS
FURTHER RESULTS ON ODD HARMONIOUS GRAPHS
 
1452 86301000013 m
1452 86301000013 m1452 86301000013 m
1452 86301000013 m
 

Similar to Presentation slides

On the Odd Gracefulness of Cyclic Snakes With Pendant Edges
On the Odd Gracefulness of Cyclic Snakes With Pendant EdgesOn the Odd Gracefulness of Cyclic Snakes With Pendant Edges
On the Odd Gracefulness of Cyclic Snakes With Pendant Edges
GiselleginaGloria
 
Natural and Clamped Cubic Splines
Natural and Clamped Cubic SplinesNatural and Clamped Cubic Splines
Natural and Clamped Cubic SplinesMark Brandao
 
Further pure mathmatics 3 vectors
Further pure mathmatics 3 vectorsFurther pure mathmatics 3 vectors
Further pure mathmatics 3 vectors
Dennis Almeida
 
20 k-means, k-center, k-meoids and variations
20 k-means, k-center, k-meoids and variations20 k-means, k-center, k-meoids and variations
20 k-means, k-center, k-meoids and variations
Andres Mendez-Vazquez
 
On the 1-2-3-edge weighting and Vertex coloring of complete graph
On the 1-2-3-edge weighting and Vertex coloring of complete graphOn the 1-2-3-edge weighting and Vertex coloring of complete graph
On the 1-2-3-edge weighting and Vertex coloring of complete graph
ijcsa
 
Calculo integral - Larson
Calculo integral - LarsonCalculo integral - Larson
Calculo integral - Larson
Juan Alejandro Alvarez Agudelo
 
6.6 analyzing graphs of quadratic functions
6.6 analyzing graphs of quadratic functions6.6 analyzing graphs of quadratic functions
6.6 analyzing graphs of quadratic functionsJessica Garcia
 
Optimisation random graph presentation
Optimisation random graph presentationOptimisation random graph presentation
Optimisation random graph presentation
Venkat Sai Sharath Mudhigonda
 
Mgm
MgmMgm
Skiena algorithm 2007 lecture15 backtracing
Skiena algorithm 2007 lecture15 backtracingSkiena algorithm 2007 lecture15 backtracing
Skiena algorithm 2007 lecture15 backtracingzukun
 
E-Cordial Labeling of Some Mirror Graphs
E-Cordial Labeling of Some Mirror GraphsE-Cordial Labeling of Some Mirror Graphs
E-Cordial Labeling of Some Mirror Graphs
Waqas Tariq
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph Motif
AMR koura
 
5 DimensionalityReduction.pdf
5 DimensionalityReduction.pdf5 DimensionalityReduction.pdf
5 DimensionalityReduction.pdf
Rahul926331
 
graphs of functions 2
 graphs of functions 2 graphs of functions 2
graphs of functions 2larasati06
 
2) quadratics gral form
2) quadratics gral form2) quadratics gral form
2) quadratics gral form
estelav
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
Bala Murali
 
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
Tomoya Murata
 

Similar to Presentation slides (20)

On the Odd Gracefulness of Cyclic Snakes With Pendant Edges
On the Odd Gracefulness of Cyclic Snakes With Pendant EdgesOn the Odd Gracefulness of Cyclic Snakes With Pendant Edges
On the Odd Gracefulness of Cyclic Snakes With Pendant Edges
 
Natural and Clamped Cubic Splines
Natural and Clamped Cubic SplinesNatural and Clamped Cubic Splines
Natural and Clamped Cubic Splines
 
Further pure mathmatics 3 vectors
Further pure mathmatics 3 vectorsFurther pure mathmatics 3 vectors
Further pure mathmatics 3 vectors
 
20 k-means, k-center, k-meoids and variations
20 k-means, k-center, k-meoids and variations20 k-means, k-center, k-meoids and variations
20 k-means, k-center, k-meoids and variations
 
On the 1-2-3-edge weighting and Vertex coloring of complete graph
On the 1-2-3-edge weighting and Vertex coloring of complete graphOn the 1-2-3-edge weighting and Vertex coloring of complete graph
On the 1-2-3-edge weighting and Vertex coloring of complete graph
 
Semi-Magic Squares From Snake-Shaped Matrices
Semi-Magic Squares From Snake-Shaped MatricesSemi-Magic Squares From Snake-Shaped Matrices
Semi-Magic Squares From Snake-Shaped Matrices
 
Calculo integral - Larson
Calculo integral - LarsonCalculo integral - Larson
Calculo integral - Larson
 
6.6 analyzing graphs of quadratic functions
6.6 analyzing graphs of quadratic functions6.6 analyzing graphs of quadratic functions
6.6 analyzing graphs of quadratic functions
 
Optimisation random graph presentation
Optimisation random graph presentationOptimisation random graph presentation
Optimisation random graph presentation
 
Mgm
MgmMgm
Mgm
 
Skiena algorithm 2007 lecture15 backtracing
Skiena algorithm 2007 lecture15 backtracingSkiena algorithm 2007 lecture15 backtracing
Skiena algorithm 2007 lecture15 backtracing
 
E-Cordial Labeling of Some Mirror Graphs
E-Cordial Labeling of Some Mirror GraphsE-Cordial Labeling of Some Mirror Graphs
E-Cordial Labeling of Some Mirror Graphs
 
Lower triangular sums_1
Lower triangular sums_1Lower triangular sums_1
Lower triangular sums_1
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph Motif
 
5 DimensionalityReduction.pdf
5 DimensionalityReduction.pdf5 DimensionalityReduction.pdf
5 DimensionalityReduction.pdf
 
graphs of functions 2
 graphs of functions 2 graphs of functions 2
graphs of functions 2
 
2) quadratics gral form
2) quadratics gral form2) quadratics gral form
2) quadratics gral form
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
Doubly Accelerated Stochastic Variance Reduced Gradient Methods for Regulariz...
 
Cse41
Cse41Cse41
Cse41
 

Recently uploaded

Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
sachin783648
 
Viksit bharat till 2047 India@2047.pptx
Viksit bharat till 2047  India@2047.pptxViksit bharat till 2047  India@2047.pptx
Viksit bharat till 2047 India@2047.pptx
rakeshsharma20142015
 
platelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptxplatelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptx
muralinath2
 
Large scale production of streptomycin.pptx
Large scale production of streptomycin.pptxLarge scale production of streptomycin.pptx
Large scale production of streptomycin.pptx
Cherry
 
plant biotechnology Lecture note ppt.pptx
plant biotechnology Lecture note ppt.pptxplant biotechnology Lecture note ppt.pptx
plant biotechnology Lecture note ppt.pptx
yusufzako14
 
ESR_factors_affect-clinic significance-Pathysiology.pptx
ESR_factors_affect-clinic significance-Pathysiology.pptxESR_factors_affect-clinic significance-Pathysiology.pptx
ESR_factors_affect-clinic significance-Pathysiology.pptx
muralinath2
 
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCINGRNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
AADYARAJPANDEY1
 
Structural Classification Of Protein (SCOP)
Structural Classification Of Protein  (SCOP)Structural Classification Of Protein  (SCOP)
Structural Classification Of Protein (SCOP)
aishnasrivastava
 
Mammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also FunctionsMammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also Functions
YOGESH DOGRA
 
extra-chromosomal-inheritance[1].pptx.pdfpdf
extra-chromosomal-inheritance[1].pptx.pdfpdfextra-chromosomal-inheritance[1].pptx.pdfpdf
extra-chromosomal-inheritance[1].pptx.pdfpdf
DiyaBiswas10
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
AlguinaldoKong
 
Citrus Greening Disease and its Management
Citrus Greening Disease and its ManagementCitrus Greening Disease and its Management
Citrus Greening Disease and its Management
subedisuryaofficial
 
Cancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate PathwayCancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate Pathway
AADYARAJPANDEY1
 
erythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptxerythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptx
muralinath2
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
Scintica Instrumentation
 
Anemia_ different types_causes_ conditions
Anemia_ different types_causes_ conditionsAnemia_ different types_causes_ conditions
Anemia_ different types_causes_ conditions
muralinath2
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
pablovgd
 
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
Health Advances
 
Predicting property prices with machine learning algorithms.pdf
Predicting property prices with machine learning algorithms.pdfPredicting property prices with machine learning algorithms.pdf
Predicting property prices with machine learning algorithms.pdf
binhminhvu04
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
IqrimaNabilatulhusni
 

Recently uploaded (20)

Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
 
Viksit bharat till 2047 India@2047.pptx
Viksit bharat till 2047  India@2047.pptxViksit bharat till 2047  India@2047.pptx
Viksit bharat till 2047 India@2047.pptx
 
platelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptxplatelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptx
 
Large scale production of streptomycin.pptx
Large scale production of streptomycin.pptxLarge scale production of streptomycin.pptx
Large scale production of streptomycin.pptx
 
plant biotechnology Lecture note ppt.pptx
plant biotechnology Lecture note ppt.pptxplant biotechnology Lecture note ppt.pptx
plant biotechnology Lecture note ppt.pptx
 
ESR_factors_affect-clinic significance-Pathysiology.pptx
ESR_factors_affect-clinic significance-Pathysiology.pptxESR_factors_affect-clinic significance-Pathysiology.pptx
ESR_factors_affect-clinic significance-Pathysiology.pptx
 
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCINGRNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
 
Structural Classification Of Protein (SCOP)
Structural Classification Of Protein  (SCOP)Structural Classification Of Protein  (SCOP)
Structural Classification Of Protein (SCOP)
 
Mammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also FunctionsMammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also Functions
 
extra-chromosomal-inheritance[1].pptx.pdfpdf
extra-chromosomal-inheritance[1].pptx.pdfpdfextra-chromosomal-inheritance[1].pptx.pdfpdf
extra-chromosomal-inheritance[1].pptx.pdfpdf
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
 
Citrus Greening Disease and its Management
Citrus Greening Disease and its ManagementCitrus Greening Disease and its Management
Citrus Greening Disease and its Management
 
Cancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate PathwayCancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate Pathway
 
erythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptxerythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptx
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
 
Anemia_ different types_causes_ conditions
Anemia_ different types_causes_ conditionsAnemia_ different types_causes_ conditions
Anemia_ different types_causes_ conditions
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
 
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
 
Predicting property prices with machine learning algorithms.pdf
Predicting property prices with machine learning algorithms.pdfPredicting property prices with machine learning algorithms.pdf
Predicting property prices with machine learning algorithms.pdf
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
 

Presentation slides

  • 1. Drawing Large Graphs Using Divisive Hierarchical k-means Barbara Ikica 22. 11. 2012 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 2. Abstract Idea behind the algorithm Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 3. Abstract Idea behind the algorithm Implementation Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 4. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 5. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 6. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Identifying connected components Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 7. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Identifying connected components Diffusion kernels on graphs Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 8. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Identifying connected components Diffusion kernels on graphs Drawing Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 9. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Identifying connected components Diffusion kernels on graphs Drawing Time complexity Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 10. Abstract Idea behind the algorithm Implementation Hierarchical clustering (Divisive Hierarchical k-means) Graph representation Identifying connected components Diffusion kernels on graphs Drawing Time complexity Random projections Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 11. Idea behind the algorithm 0 1 2 3 4 5 6 7 8 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 12. Idea behind the algorithm 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 13. Idea behind the algorithm 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 012 3456 78 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 14. Idea behind the algorithm Objective: Arrangement of the (sets of the) vertices of a graph G = V (G), E(G) at the level of hierarchy n Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 15. Idea behind the algorithm Objective: Arrangement of the (sets of the) vertices of a graph G = V (G), E(G) at the level of hierarchy n 1. Determining the partition of V (G) : Pn = {Mi}m i=1 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 16. Idea behind the algorithm Objective: Arrangement of the (sets of the) vertices of a graph G = V (G), E(G) at the level of hierarchy n 1. Determining the partition of V (G) : Pn = {Mi}m i=1 2. Determining the drawing area for each Mi ∈ Pn Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 17. Implementation – Hierarchical clustering Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 18. Implementation – Hierarchical clustering k-means clustering M := {vi}n i=1, vi ∈ Rd ∀i, 1 ≤ i ≤ n. We aim to partition the set M into k clusters P = {S1, S2, . . . , Sk} so as to minimize the within-cluster sum of squares min P k i=1 vj∈Si vj − µi 2 , where µi := 1 |Si|( vj∈Si vj) is the centroid vector of the cluster Si. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 19. Implementation – Hierarchical clustering k-means clustering NP-hard problem Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 20. Implementation – Hierarchical clustering k-means clustering NP-hard problem If k and d are fixed, the problem can be exactly solved in O(ndk+1 log n) steps. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 21. Implementation – Hierarchical clustering k-means clustering Recall that: We aim to partition the set M into k clusters P = {S1, S2, . . . , Sk} so as to minimize the within-cluster sum of squares min P k i=1 vj ∈Si vj − µi 2 . Corollary 1 min z∈Rd v∈S v − z 2 = v∈S v − µ 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 22. Implementation – Hierarchical clustering k-means clustering Lemma 1 Choose arbitrary S ⊂ Rd and z ∈ Rd. Then v∈S v − z 2 = v∈S v − µ 2 + |S| z − µ 2 , where µ is the centroid vector of the cluster S, i.e. µ = 1 |S| v∈S v. Corollary 1 min z∈Rd v∈S v − z 2 = v∈S v − µ 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 23. Implementation – Hierarchical clustering k-means clustering Lemma 1 Choose arbitrary S ⊂ Rd and z ∈ Rd. Then v∈S v − z 2 = v∈S v − µ 2 + |S| z − µ 2 , where µ is the centroid vector of the cluster S, i.e. µ = 1 |S| v∈S v. Lemma 2 Let X denote an arbitrary random variable with values in Rd. For any z ∈ Rd the following holds: E( X − z 2 ) = E( X − E(X) 2 ) + z − E(X) 2 . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 24. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ (0) i for each i = 1, 2, . . . , k. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 25. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ (0) i for each i = 1, 2, . . . , k. For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k) 1. S (t) i = vp : vp − µ (t) i 2 ≤ vp − µ (t) j 2 ∀ j : 1 ≤ j ≤ k Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 26. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ (0) i for each i = 1, 2, . . . , k. For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k) 1. S (t) i = vp : vp − µ (t) i 2 ≤ vp − µ (t) j 2 ∀ j : 1 ≤ j ≤ k and 2. µ (t+1) i = 1 S (t) i vj ∈S (t) i vj Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 27. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Randomly pick k vectors from M = {v1, v2, . . . , vn} as the centroids µ (0) i for each i = 1, 2, . . . , k. For t = 0, 1, 2, . . . repeat (for each i = 1, 2, . . . , k) 1. S (t) i = vp : vp − µ (t) i 2 ≤ vp − µ (t) j 2 ∀ j : 1 ≤ j ≤ k and 2. µ (t+1) i = 1 S (t) i vj ∈S (t) i vj until there is no further change in the assignments of the vectors to the clusters S (t) i (for each i) in the partition V. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 28. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 29. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 30. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. k i=1 vj ∈S (t) i vj − µ (t) i 2 ≤ k i=1 vj ∈S (t−1) i vj − µ (t) i 2 (1) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 31. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. k i=1 vj ∈S (t) i vj − µ (t) i 2 ≤ k i=1 vj ∈S (t−1) i vj − µ (t) i 2 , since (1) S (t) i = vp : vp − µ (t) i 2 ≤ vp − µ (t) j 2 ∀ j : 1 ≤ j ≤ k . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 32. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. k i=1 vj ∈S (t) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t) i 2 (2) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 33. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. k i=1 vj ∈S (t) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t) i 2 , since (2) µ (t+1) i = 1 S (t) i vj ∈S (t) i vj and min z∈Rd v∈S v − z 2 = v∈S v − µ 2 . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 34. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. Thus k i=1 vj ∈S (t) i vj − µ (t) i 2 ≤ k i=1 vj ∈S (t−1) i vj − µ (t) i 2 (1) k i=1 vj ∈S (t) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t) i 2 (2) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 35. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. Thus k i=1 vj ∈S (t+1) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t+1) i 2 (1) k i=1 vj ∈S (t) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t) i 2 (2) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 36. Implementation – Hierarchical clustering k-means clustering – iterative algorithm Lemma 3 The value of the expression k i=1 vj ∈S (t) i vj − µ (t) i 2 decreases monotonically during iteration. Proof. Thus k i=1 vj ∈S (t+1) i vj − µ (t+1) i 2 ≤ k i=1 vj ∈S (t) i vj − µ (t) i 2 . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 37. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 38. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 39. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 40. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 41. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 42. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 43. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 44. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 45. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 46. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 47. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 48. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 49. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 50. Implementation – Hierarchical clustering Hierarchical clustering M A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Figure: Schematic representation of the hierarchical partition of the set M. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 51. Implementation – Graph representation Input (graph data) 0 2 1 3 1 5 3 8 3 9 4 7 6 7 9 10 9 11 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 52. Implementation – Graph representation Input (graph data) 0 2 1 3 1 5 3 8 3 9 4 7 6 7 9 10 9 11 0 2 5 1 3 8 4 6 7 9 11 10 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 53. Implementation – Graph representation Input (graph data) 0 2 1 3 1 5 3 8 3 9 4 7 6 7 9 10 9 11 0 2 5 1 3 8 4 6 7 9 11 10 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 54. Implementation – Graph representation Input (graph data) 0 2 1 3 1 5 3 8 3 9 4 7 6 7 9 10 9 11 0 2 5 1 33 8 4 6 7 99 11 10 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 55. Implementation – Graph representation Adjacency matrix MG [MG ]ij = 1; vi ∼ vj, 0; otherwise. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 56. Implementation – Graph representation Adjacency matrix MG [MG ]ij = 1; vi ∼ vj, 0; otherwise. Example MG =        0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0        Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 57. Implementation – Graph representation Adjacency matrix MG [MG ]ij = 1; vi ∼ vj, 0; otherwise. Example MG =        0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0        4 6 7 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 58. Implementation – Graph representation Adjacency matrix MG [MG ]ij = 1; vi ∼ vj, 0; otherwise. Example MG =        0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0        4 6 7 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 59. Implementation – Graph representation MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 60. Implementation – Graph representation MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          −→                [2] [3,5] [0] [1,8,9] [7] [1] [7] [4,6] [3] [3,10,11] [9] [9]                Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 61. Implementation – Graph representation MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          −→                [2] [3,5] [0] [1,8,9] [7] [1] [7] [4,6] [3] [3,10,11] [9] [9]                Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 62. Implementation – Graph representation MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          −→                [2] [3,5] [0] [1,8,9] [7] [1] [7] [4,6] [3] [3,10,11] [9] [9]                Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 63. Implementation – Identifying connected components 0 2 5 1 3 8 4 6 7 9 11 10 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 64. Implementation – Identifying connected components 0 2 5 1 3 8 4 6 7 9 11 10 5 1 3 8 9 10 11 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 65. Implementation – Identifying connected components 5 1 3 8 9 11 10 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 0 1 0 0 0 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 66. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 0 1 0 0 0 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 67. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 0 0 0 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 68. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 0 0 0 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 69. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 70. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 0 0 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 71. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 2 2 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 72. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 10 11 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 2 2 0 0 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 73. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 10 11 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 2 2 2 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 74. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 10 11 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 2 2 2 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 75. Implementation – Identifying connected components 5 1 3 8 9 11 10 1 5 3 8 9 10 11 MG =          0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0          1 2 1 2 0 2 0 0 2 2 2 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 76. Implementation – Identifying connected components 0 2 5 1 3 8 4 6 7 9 11 10 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 77. Implementation – Identifying connected components 0 2 5 1 3 8 4 6 7 9 11 10 1 2 1 2 3 2 3 3 2 2 2 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 78. Implementation – Diffusion kernels on graphs 0 1 2 3 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 79. Implementation – Diffusion kernels on graphs 0 1 2 3 0 3 1 2 Hierarchical clustering on the row vectors of the adjacency matrix MG: S1 = {1, 2} S2 = {0, 3} Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 80. Implementation – Diffusion kernels on graphs 0 1 2 3 0 3 1 2 Hierarchical clustering on the row vectors of ?: S1 = {0, 1, 2} S2 = {3} Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 81. Implementation – Diffusion kernels on graphs The adjacency matrix MG has the following property: [(MG )k ]ij = # of all paths of length up to k between vertices i and j Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 82. Implementation – Diffusion kernels on graphs The adjacency matrix MG has the following property: [(MG )k ]ij = # of all paths of length up to k between vertices i and j We modify the algorithm by replacing MG with the kernel matrix KG: KG := ∞ k=0 αk(MG)k k! = exp(αMG ) . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 83. Implementation – Diffusion kernels on graphs k : Ω × Ω → R is a similarity measure if: k(x, y) characterizes the similarities of x, y ∈ Ω. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 84. Implementation – Diffusion kernels on graphs k : Ω × Ω → R is a similarity measure if: k(x, y) characterizes the similarities of x, y ∈ Ω. k : Ω × Ω → R is a kernel if: 1. k(x, y) = k(y, x), ∀x, y ∈ Ω, 2. k is positive semidefinite: the kernel matrix K ∈ Rn×n, [K]ij = k(xi, xj), is positive semidefinite for all x1, x2, . . . , xn ∈ Ω. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 85. Implementation – Diffusion kernels on graphs k : Ω × Ω → R is a similarity measure if: k(x, y) characterizes the similarities of x, y ∈ Ω. k : Ω × Ω → R is a kernel if: 1. k(x, y) = k(y, x), ∀x, y ∈ Ω, 2. k is positive semidefinite: the kernel matrix K ∈ Rn×n, [K]ij = k(xi, xj), is positive semidefinite for all x1, x2, . . . , xn ∈ Ω. Given a kernel k, there exist a Hilbert space Hk and a map φ : Ω → Hk such that φ(x), φ(y) Hk = k(x, y) for all x, y ∈ Ω. Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 86. Implementation – Diffusion kernels on graphs KG := ∞ k=0 αk(MG)k k! = exp(αMG ) indeed is a kernel matrix, since Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 87. Implementation – Diffusion kernels on graphs KG := ∞ k=0 αk(MG)k k! = exp(αMG ) indeed is a kernel matrix, since KG = exp(αMG ) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 88. Implementation – Diffusion kernels on graphs KG := ∞ k=0 αk(MG)k k! = exp(αMG ) indeed is a kernel matrix, since KG = exp(αMG ) = exp(αUDUT ) Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 89. Implementation – Diffusion kernels on graphs KG := ∞ k=0 αk(MG)k k! = exp(αMG ) indeed is a kernel matrix, since KG = exp(αMG ) = exp(αUDUT ) = αU exp(D)UT Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 90. Implementation – Diffusion kernels on graphs KG := ∞ k=0 αk(MG)k k! = exp(αMG ) indeed is a kernel matrix, since KG = exp(αMG ) = exp(αUDUT ) = αU exp(D)UT =⇒ KG is a symmetric positive semidefinite matrix Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 91. Implementation – Hierarchical clustering on KG Example "1#1" "2#11" "1#2" "2#211" "3#11" "2#12" "3#2" "3#12" "2#221" "2#212" "2#2221" "2#2222" 0 2 4 6 7 1 3 5 8 9 10 11 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 92. Implementation – Hierarchical clustering on KG Example "1#1" "2#11" "1#2" "2#211" "3#11" "2#12" "3#2" "3#12" "2#221" "2#212" "2#2221" "2#2222" 0 2 4 6 7 1 3 5 8 9 10 11 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 93. Implementation – Hierarchical clustering on KG Example "1#1" "2#11" "1#2" "2#211" "3#11" "2#12" "3#2" "3#12" "2#221" "2#212" "2#2221" "2#2222" 0 2 4 6 7 1 5 3 8 9 10 11 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 94. Implementation – Hierarchical clustering on KG Example "1#1" "2#11" "1#2" "2#211" "3#11" "2#12" "3#2" "3#12" "2#221" "2#212" "2#2221" "2#2222" 0 2 4 6 7 1 5 8 10 11 3 9 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 95. Implementation – Hierarchical clustering on KG Example "1#1" "2#11" "1#2" "2#211" "3#11" "2#12" "3#2" "3#12" "2#221" "2#212" "2#2221" "2#2222" 0 2 4 6 7 1 5 8 10 11 3 9 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 96. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P0. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 97. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P1. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 98. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P1. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 99. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P1. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 100. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P2. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 101. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P2. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 102. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 103. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 104. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 105. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 106. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 107. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 108. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 109. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 110. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 111. Implementation – Drawing A111A112 A12 A211 A212 A221 A222 Figure: Determining the drawing area for the sets in the partition P3. V (G) A1 A11 A111 A112 A12 A12 A2 A21 A211 A212 A22 A221 A222 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 112. Implementation – Time complexity Efficient computation of KG = exp(αMG ) Computation of KG si needed in the algorithm: to determine the centroids µj, to minimize vi − µj 2 Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 113. Implementation – Time complexity Efficient computation of KG = exp(αMG ) Computation of KG si needed in the algorithm: to determine the centroids µj, to minimize vi − µj 2: vi − µj 2 = vi − µj, vi − µj = vi, vi − 2 vi, µj + µj, µj . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 114. Implementation – Time complexity Efficient computation of KG = exp(αMG ) Computation of KG si needed in the algorithm: to determine the centroids µj, to minimize vi − µj 2: vi − µj 2 = vi − µj, vi − µj = vi, vi − 2 vi, µj + µj, µj . The question is thus: How to efficiently multiply the matrix KG with an arbitrary vector and how to efficiently compute the inner products vi, vi = vi 2? Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 115. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 116. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 117. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 118. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 119. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 120. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 121. Implementation – Time complexity Multiplying the matrix KG with an arbitrary vector v KG v = Iv + α 1 MG v + α2 2! (MG )2 v + α3 3! (MG )3 v + . . . = = v + α 1 (MG v) + α 2 MG α 1 (MG v) + α 3 MG α 2 MG α 1 (MG v) + . . . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 122. Implementation – Random projections Random projections Corollary of the Johnson–Lindenstrauss lemma: Theorem 1 Let P be an arbitrary set of n points in Rd , represented as an n × d matrix A ∈ Rn×d . Given ε > 0, β > 0 let k0 = 4+2β ε2/2−ε3/3 log n. For integer k ≥ k0, let R ∈ Rd×k be a random matrix with elements rij , where rij are independent random variables from either one of the following two probability distributions: rij : 1 −1 1 2 1 2 , rij : 1 0 −1 1 6 2 3 1 6 . Let E = 1√ k AR and let f : Rd → Rk map the i-th row of A to the i-th row of E. Then (1 − ε) u − v 2 ≤ f (u) − f (v) 2 ≤ (1 + ε) u − v 2 holds for all u, v ∈ P with probability at least 1 − n−β . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means
  • 123. Implementation – Random projections Random projections Corollary of the Johnson–Lindenstrauss lemma: Theorem 1 Let P be an arbitrary set of n points in Rd , represented as an n × d matrix A ∈ Rn×d . Given ε > 0, β > 0 let k0 = 4+2β ε2/2−ε3/3 log n. For integer k ≥ k0, let R ∈ Rd×k be a random matrix with elements rij , where rij are independent random variables from either one of the following two probability distributions: rij : 1 −1 1 2 1 2 , rij : 1 0 −1 1 6 2 3 1 6 . Let E = 1 √ k AR and let f : Rd → Rk map the i-th row of A to the i-th row of E. Then (1 − ε) u − v 2 ≤ f (u) − f (v) 2 ≤ (1 + ε) u − v 2 holds for all u, v ∈ P with probability at least 1 − n−β . Barbara Ikica Drawing Large Graphs Using Divisive Hierarchical k-means