Media Graph Partitioning Introduction modules, cluster, - - PowerPoint PPT Presentation

โ–ถ
media
SMART_READER_LITE
LIVE PREVIEW

Media Graph Partitioning Introduction modules, cluster, - - PowerPoint PPT Presentation

Online Social Networks and Media Graph Partitioning Introduction modules, cluster, communities, groups, partitions (more on this today) 2 Outline PART I 1. Introduction: what, why, types? 2. Cliques and vertex similarity 3. Background:


slide-1
SLIDE 1

Online Social Networks and Media

Graph Partitioning

slide-2
SLIDE 2

Introduction

modules, cluster, communities, groups, partitions (more on this today)

2

slide-3
SLIDE 3

PART I

  • 1. Introduction: what, why, types?
  • 2. Cliques and vertex similarity
  • 3. Background: Cluster analysis
  • 4. Hierarchical clustering (betweenness)
  • 5. Modularity
  • 6. How to evaluate (if time allows)

Outline

3

slide-4
SLIDE 4

PART II

  • 1. Cuts
  • 2. Spectral Clustering
  • 3. Dense Subgraphs
  • 4. Community Evolution
  • 5. How to evaluate (from Part I)

Outline

4

partitions

slide-5
SLIDE 5

Graph partitioning

The general problem

โ€“ Input: a graph G = (V, E)

  • edge (u, v) denotes similarity between u and v
  • weighted graphs: weight of edge captures the degree of

similarity

Partitioning as an optimization problem:

  • Partition the nodes in the graph such that nodes within clusters

are well interconnected (high edge weights), and nodes across clusters are sparsely interconnected (low edge weights)

  • most graph partitioning problems are NP hard
slide-6
SLIDE 6

6

Graph Partitioning

slide-7
SLIDE 7

Graph Partitioning

Undirected graph ๐ป(๐‘Š, ๐น): Bi-partitioning task:

Divide vertices into two disjoint groups ๐‘ฉ, ๐‘ช How can we define a โ€œgoodโ€ partition of ๐‘ฏ? How can we efficiently identify such a partition?

7

1 3 2 5 4 6 A B

1 3 2 5 4 6

slide-8
SLIDE 8

Graph Partitioning

What makes a good partition?

  • Maximize the number of within-group

connections

  • Minimize the number of between-group

connections

8

1 3 2 5 4 6

A B

slide-9
SLIDE 9

A B

Graph Cuts

Express partitioning objectives as a function of the โ€œedge cutโ€ of the partition Cut: Set of edges with only one vertex in a group:

9

cut(A,B) = 2

1 3 2 5 4 6

slide-10
SLIDE 10

An example

slide-11
SLIDE 11

Min Cut

min-cut: the min number of edges such that when removed cause the graph to become disconnected Minimizes the number of connections between partition

U V-U

๏€จ ๏€ฉ ๏› ๏

๏ƒฅ ๏ƒฅ

๏ƒŽ ๏€ญ ๏ƒŽ

๏€ฝ ๏€ญ

U i U V j U

j i, A U V U, E min

This problem can be solved in polynomial time Min-cut/Max-flow algorithm

arg minA,B cut(A,B)

slide-12
SLIDE 12

Min Cut

Problem:

โ€“ Only considers external cluster connections โ€“ Does not consider internal cluster connectivity

12

โ€œOptimal cutโ€ Minimum cut

slide-13
SLIDE 13

Graph Bisection

  • Since the minimum cut does not always yield

good results we need extra constraints to make the problem meaningful.

  • Graph Bisection refers to the problem of

partitioning the nodes of the graph into two equal sets.

  • Kernighan-Lin algorithm: Start with random equal

partitions and then swap nodes to improve some quality metric (e.g., cut, modularity, etc).

slide-14
SLIDE 14

Cut Ratio

Ratio Cut Normalize cut by the size of the groups

14

Ratio-cut=

Cut(U,Vโˆ’U) |๐‘‰|

+

Cut(U,Vโˆ’U) |๐‘Šโˆ’๐‘‰|

slide-15
SLIDE 15

Normalized Cut

Normalized-cut Connectivity between groups relative to the density of each group

๐‘ค๐‘๐‘š(๐‘‰): total weight of the edges with at least

  • ne endpoint in ๐‘‰: ๐‘ค๐‘๐‘š ๐‘‰ =

๐‘’๐‘—

๐‘—โˆˆ๐‘‰

Why use these criteria?

๏ฎ Produce more balanced partitions

15

Normalized-cut=

Cut(U,Vโˆ’U) ๐‘Š๐‘๐‘š(๐‘‰)

+

Cut(U,Vโˆ’U) ๐‘Š๐‘๐‘š(๐‘Šโˆ’๐‘‰)

slide-16
SLIDE 16

Normalized-Cut(Red) =

1 1 + 1 27 = 28 27

Normalized-Cut(Green) =

2 12 + 2 16 = 14 48

Ratio-Cut(Red) =

1 1 + 1 8 = 9 8

Ratio-Cut(Green) =

2 5 + 2 4 = 18 20

Red is Min-Cut

Normalized is even better for Green due to density

slide-17
SLIDE 17

An example

Which of the three cuts has the best (min, normalized, ratio) cut?

slide-18
SLIDE 18

Graph expansion

Graph expansion:

๏€จ ๏€ฉ

๏ป ๏ฝ

U V , U min U

  • V

U, cut min ฮฑ

U

๏€ญ ๏€ฝ

slide-19
SLIDE 19

Graph Cuts

Ratio and normalized cuts can be reformulated in matrix format and solved using spectral clustering

slide-20
SLIDE 20

SPECTRAL CLUSTERING

slide-21
SLIDE 21

Matrix Representation

Adjacency matrix (A):

โ€“ n๏‚ด n matrix โ€“ A=[aij], aij=1 if edge between node i and j

Important properties: โ€“ Symmetric matrix โ€“ Eigenvectors are real and orthogonal

21

1 3 2 5 4 6

1 2 3 4 5 6 1

1 1 1

2

1 1

3

1 1 1

4

1 1 1

5

1 1 1

6

1 1

If the graph is weighted, aij= wij

slide-22
SLIDE 22

Spectral Graph Partitioning

x is a vector in ๏ƒ‚n with components (๐’š๐Ÿ, โ€ฆ , ๐’š๐’)

โ€“ Think of it as a label/value of each node of ๐‘ฏ

  • What is the meaning of A๏ƒ— x?

Entry yi is a sum of labels xj of neighbors of i

22

slide-23
SLIDE 23

Spectral Analysis

ith coordinate of A๏ƒ— x :

โ€“ Sum of the x-values

  • f neighbors of i

โ€“ Make this a new value at node j

Spectral Graph Theory:

โ€“ Analyze the โ€œspectrumโ€ of a matrix representing ๐ป โ€“ Spectrum: Eigenvectors ๐‘ฆ๐‘— of a graph, ordered by the magnitude (strength) of their corresponding eigenvalues ๐œ‡๐‘—: Spectral clustering: use the eigenvectors of A or graphs derived by it Most based on the graph Laplacian

23

๐‘ฉ โ‹… ๐’š = ๐ โ‹… ๐’š

slide-24
SLIDE 24

Matrix Representation

Degree matrix (D):

โ€“ n๏‚ด n diagonal matrix โ€“ D=[dii], dii = degree of node i

24

1 3 2 5 4 6

1 2 3 4 5 6 1

3

2

2

3

3

4

3

5

3

6

2

slide-25
SLIDE 25

Matrix Representation

Laplacian matrix (L):

โ€“ n๏‚ด n symmetric matrix

25

๐‘ด = ๐‘ฌ โˆ’ ๐‘ฉ

1 3 2 5 4 6

1 2 3 4 5 6 1 3

  • 1
  • 1
  • 1

2

  • 1

2

  • 1

3

  • 1
  • 1

3

  • 1

4

  • 1

3

  • 1
  • 1

5

  • 1
  • 1

3

  • 1

6

  • 1
  • 1

2

slide-26
SLIDE 26

Laplacian Matrix properties

  • The matrix L is symmetric and positive semi-

definite

โ€“ all eigenvalues of L are positive

  • The matrix L has 0 as an eigenvalue, and

corresponding eigenvector w1 = (1,1,โ€ฆ,1)

โ€“ ฮป1 = 0 is the smallest eigenvalue

Proof: Let w1 be the column vector with all 1s -- show Lw1 = 0w1

positive definite: if zTMz is non-negative, for every non-zero column vector z

slide-27
SLIDE 27

The second smallest eigenvalue

The second smallest eigenvalue (also known as Fielder value) ฮป2 satisfies

Lx x min ฮป

T 1 x , w x 2

1

๏€ฝ ๏ž

๏€ฝ

slide-28
SLIDE 28

The second smallest eigenvalue

  • For the Laplacian
  • The expression:

is

1

w x ๏ž

๏ƒฅ

๏€ฝ

i i

x

Lx xT

๏€จ ๏€ฉ

๏ƒฅ

๏ƒŽ

๏€ญ

E j) (i, 2 j i

x x

slide-29
SLIDE 29

The second smallest eigenvalue

๏€จ ๏€ฉ

๏ƒฅ

๏ƒŽ ๏‚น

๏€ญ

E j) (i, 2 j i x

x x min

where ๏ƒฅ ๏€ฝ

i i

x

Thus, the eigenvector for eigenvalue ฮป2 (called the Fielder vector) minimizes

  • Intuitively, minimum when xi and xj close whenever there is

an edge between nodes i and j in the graph.

  • x must have some positive and some negative components
slide-30
SLIDE 30

Cuts + eigenvalues: intuition

  • A partition of the graph by taking:
  • one set to be the nodes i whose corresponding vector

component xi is positive and

  • the other set to be the nodes whose corresponding

vector component is negative.

  • The cut between the two sets will have a small number of

edges because (xiโˆ’xj)2 is likely to be smaller if both xi and xj have the same sign than if they have different signs.

  • Thus, minimizing xTLx under the required constraints will end

giving xi and xj the same sign if there is an edge (i, j).

slide-31
SLIDE 31

1 3 2 5 4 6

Example

slide-32
SLIDE 32

Other properties of L

Let G be an undirected graph with non-negative

  • weights. Then
  • the multiplicity k of the eigenvalue 0 of L equals the

number of connected components A1, . . . , Ak in the graph

  • the eigenspace of eigenvalue 0 is spanned by the

indicator vectors 1A1 , . . . , 1Ak of those components

slide-33
SLIDE 33

Proof (sketch)

0 = ๐‘ฆ๐Š๐‘ด๐’š = ๐’š๐’‹ โˆ’ ๐’š๐’Œ

๐Ÿ‘ ๐’‹,๐’Œ โˆˆ๐‘ญ

If connected (k = 1)

Assume k connected components, both A and L block diagonal, if we

  • rder vertices based on the connected component they belong to (recall

the โ€œtileโ€ matrix)

Li Laplacian of the i-th component for all block diagonal matrices, that the spectrum is given by the union of the spectra

  • f each block, and the corresponding eigenvectors are the eigenvectors of the block,

filled with 0 at the positions of the other blocks.

slide-34
SLIDE 34
  • What we know about x?

โ€“ ๐‘ฆ is unit vector: ๐‘ฆ๐‘—

2 = 1 ๐‘—

โ€“ ๐‘ฆ is orthogonal to 1st eigenvector (1, โ€ฆ , 1) thus: ๐‘ฆ๐‘— โ‹… 1

๐‘—

= ๐‘ฆ๐‘—

๐‘—

= 0

34

๏ƒฅ ๏ƒฅ

๏€ญ ๏€ฝ

๏ƒŽ 2 2 ) , ( 2

) ( min

i i j i E j i

x x x ๏ฌ

All labelings

  • f nodes ๐‘— so

that ๐‘ฆ๐‘— = 0

We want to assign values ๐‘ฆ๐‘— to nodes i such that few edges cross 0. (we want xi and xj to subtract each other)

๐‘ฆ๐‘— x ๐‘ฆ๐‘˜

Balance to minimize

Cuts + eigenvalues: summary

slide-35
SLIDE 35

Spectral Clustering Algorithms

Three basic stages:

Pre-processing

  • Construct a matrix representation of the graph

Decomposition

  • Compute eigenvalues and eigenvectors of the matrix
  • Map each point to a lower-dimensional representation

based on one or more eigenvectors

Grouping

  • Assign points to two or more clusters, based on the

new representation

35

slide-36
SLIDE 36

Spectral Partitioning Algorithm

Pre-processing:

Build Laplacian matrix L of the graph

Decomposition:

โ€“ Find eigenvalues ๏ฌ and eigenvectors x

  • f the matrix L

โ€“ Map vertices to corresponding components of ๏ฌ2

36

0.0

  • 0.4
  • 0.4

0.4

  • 0.6

0.4 0.5 0.4

  • 0.2
  • 0.5
  • 0.3

0.4

  • 0.5

0.4 0.6 0.1

  • 0.3

0.4 0.5

  • 0.4

0.6 0.1 0.3 0.4 0.0 0.4

  • 0.4

0.4 0.6 0.4

  • 0.5
  • 0.4
  • 0.2
  • 0.5

0.3 0.4 5.0 4.0 3.0 3.0 1.0 0.0

๏ฌ = X =

How do we now find the clusters?

  • 0.6

6

  • 0.3

5

  • 0.3

4

0.3

3

0.6

2

0.3

1 1 2 3 4 5 6 1 3

  • 1
  • 1
  • 1

2

  • 1

2

  • 1

3

  • 1
  • 1

3

  • 1

4

  • 1

3

  • 1
  • 1

5

  • 1
  • 1

3

  • 1

6

  • 1
  • 1

2

slide-37
SLIDE 37

Spectral Partitioning Algorithm

Grouping:

โ€“ Sort components of reduced 1-dimensional vector โ€“ Identify clusters by splitting the sorted vector in two

  • How to choose a splitting point?

โ€“ Naรฏve approaches:

  • Split at 0 or median value

โ€“ More expensive approaches:

  • Attempt to minimize normalized cut in 1-dimension

(sweep over ordering of nodes induced by the eigenvector)

37

  • 0.6

6

  • 0.3

5

  • 0.3

4

0.3

3

0.6

2

0.3

1

Split at 0: Cluster A: Positive points Cluster B: Negative points

0.3

3

0.6

2

0.3

1

  • 0.6

6

  • 0.3

5

  • 0.3

4

A B

slide-38
SLIDE 38

Example: Spectral Partitioning

38

Rank in x2 Value of x2

slide-39
SLIDE 39

k-Way Spectral Clustering

How do we partition a graph into k clusters?

  • Recursively apply a bi-partitioning algorithm in a hierarchical

divisive manner

  • Disadvantages: Inefficient, unstable

39

slide-40
SLIDE 40

k-Way Spectral Clustering

40

Use several of the eigenvectors to partition the graph.

If we use m eigenvectors, and set a threshold for each, we can get a partition into 2m groups, each group consisting of the nodes that are above or below threshold for each of the eigenvectors, in a particular pattern.

slide-41
SLIDE 41

1 3 2 5 4 6 Example If we use both the 2nd and 3rd eigenvectors, nodes 2 and 3 (negative in both) 5 and 6 (negative in 2nd, positive in 3rd) 1 and 4 alone

  • Note that each eigenvector except the first is the vector x that minimizes xTLx, subject

to the constraint that it is orthogonal to all previous eigenvectors.

  • Thus, while each eigenvector tries to produce a minimum-sized cut, successive

eigenvectors have to satisfy more and more constraints => the cuts progressively worse.

slide-42
SLIDE 42

Spectral Clustering

  • Use the lowest k eigenvalues of L to

construct the nxk graph Gโ€™ that has these eigenvectors as columns

  • The n-rows represent the graph vertices in a

k-dimensional Euclidean space

  • Group these vertices in k clusters using k-

means clustering or similar techniques

slide-43
SLIDE 43

Spectral clustering (besides graphs)

Can be used to cluster any points (not just vertices), as long as an appropriate similarity matrix Needs to be symmetric and non-negative How to construct a graph:

  • ฮต-neighborhood graph: connect all points whose pairwise

distances are smaller than ฮต

  • k-nearest neighbor graph: connect each point with each k

nearest neigbhor

  • full graph: connect all points with weight in the edge (i, j) equal

to the similarity of i and j

slide-44
SLIDE 44

Summary

  • The values of x minimize
  • For weighted matrices
  • The ordering according to the xi values will group similar

(connected) nodes together

  • Physical interpretation: The stable state of springs placed on

the edges of the graph

๏€จ ๏€ฉ

2 ) , ( ๏ƒฅ ๏ƒŽ ๏‚น

๏€ญ

E j i j i

x x

x

min

๏› ๏๏€จ

๏€ฉ

๏ƒฅ

๏€ญ

๏‚น j) (i, 2 j i x

x x j i, A min

๏ƒฅ

๏€ฝ

i i

x

๏ƒฅ

๏€ฝ

i i

x

slide-45
SLIDE 45

Normalized Graph Laplacians

2 / 1 2 / 1 2 / 1 2 / 1 ๏€ญ ๏€ญ ๏€ฝ ๏€ญ ๏€ญ

๏€ญ ๏€ฝ WD D I LD D Lsym W D I L D Lrw

1 1 ๏€ญ ๏€ญ

๏€ญ ๏€ฝ ๏€ฝ

๏ƒฅ

๏ƒŽ

๏ƒท ๏ƒท ๏ƒธ ๏ƒถ ๏ƒง ๏ƒง ๏ƒจ ๏ƒฆ ๏€ญ ๏€ฝ

E j) (i, 2 j i

x x

j i sym

d d x L x๏ด

Lrw closely connected to random walks (to be discussed in future lectures)

slide-46
SLIDE 46

Cuts and spectral clustering

Relaxing Ncut leads to normalized spectral clustering, while relaxing RatioCut leads to unnormalized spectral clustering

slide-47
SLIDE 47

Finding an Optimal Cut (sketch)

  • Express partition (A,B) as a vector

๐‘ง๐‘— = +1 โˆ’1 ๐‘—๐‘” ๐‘— โˆˆ ๐ต ๐‘—๐‘” ๐‘— โˆˆ ๐ถ

  • We can minimize the cut of the partition by

finding a non-trivial vector x that minimizes:

47

๐‘ง๐‘— = โˆ’1 0 ๐‘ง๐‘˜ = +1

Can not solve exactly. Let us relax ๐‘ง and allow it to take any real value (instead of two)

slide-48
SLIDE 48

48

๏ฎ ๐œ‡2 = min

๐‘ง

๐‘” ๐‘ง : The minimum value of ๐‘”(๐‘ง) is given by the 2nd smallest eigenvalue ฮป2 of the Laplacian matrix L

๏ฎ x = arg miny ๐‘” ๐‘ง : The optimal solution for y is

given by the corresponding eigenvector ๐‘ฆ, referred as the Fiedler vector

๐‘ฆ๐‘— x ๐‘ฆ๐‘˜

Finding an Optimal Cut (sketch)

Rayleigh Theorem

slide-49
SLIDE 49

Need to re-transform the real-valued solution vector f of the relaxed problem into a discrete indicator vector. Simplest way, use the sign Consider the coordinates fi as points in R and cluster them into two groups C by the k-means clustering algorithm.

Finding an Optimal Cut (sketch)

slide-50
SLIDE 50

Spectral partition

  • Partition the nodes according to the ordering induced

by the Fielder vector

  • If u = (u1,u2,โ€ฆ,un) is the Fielder vector, then split

nodes according to a threshold value s

โ€“ bisection: s is the median value in u โ€“ ratio cut: s is the value that minimizes ฮฑ โ€“ sign: separate positive and negative values (s=0) โ€“ gap: separate according to the largest gap in the values of u

  • This works well (provably for special cases)
slide-51
SLIDE 51

Fielder Value

  • The value ฮป2 is a good approximation of the graph expansion
  • For the minimum ratio cut of the Fielder vector we have that
  • If the max degree dmax is bounded we obtain a good approximation of the

minimum expansion cut ฮฑ 2 ฮป 2d ฮฑ

2 max 2

๏‚ฃ ๏‚ฃ

๏€จ ๏€ฉ

2 max 2 2

ฮป 2d ฮป ฮฑ 2 ฮป ๏€ญ ๏‚ฃ ๏‚ฃ dmax = maximum degree ฮฑ 2 ฮป 2d ฮฑ

2 max 2

๏‚ฃ ๏‚ฃ

Suppose there is a partition of G into A and B where ๐ต โ‰ค |๐ถ|, s.t. ๐›ฝ =

(# ๐‘“๐‘’๐‘•๐‘“๐‘ก ๐‘”๐‘ ๐‘๐‘› ๐ต ๐‘ข๐‘ ๐ถ) ๐ต

slide-52
SLIDE 52
  • Approx. Guarantee of Spectral (proof)
  • Suppose there is a partition of G into A and B

where ๐ต โ‰ค |๐ถ|, s.t. ๐›ฝ = (# ๐‘“๐‘’๐‘•๐‘“๐‘ก ๐‘”๐‘ ๐‘๐‘› ๐ต ๐‘ข๐‘ ๐ถ)

๐ต

then 2๐›ฝ โ‰ฅ ๐œ‡2

โ€“ This is the approximation guarantee of the spectral

  • clustering. It says the cut spectral finds is at most 2

away from the optimal one of score ๐›ฝ.

  • Proof:

โ€“ Let: a=|A|, b=|B| and e= # edges from A to B โ€“ Enough to choose some ๐‘ฆ๐‘— based on A and B such that: ๐œ‡2 โ‰ค

๐‘ฆ๐‘—โˆ’๐‘ฆ๐‘˜

2

๐‘ฆ๐‘—

2 ๐‘—

โ‰ค 2๐›ฝ (while also ๐‘ฆ๐‘— = 0

๐‘—

)

52

๐๐Ÿ‘ is only smaller

slide-53
SLIDE 53
  • Approx. Guarantee of Spectral
  • Proof (continued):

(1) Set: ๐‘ฆ๐‘— = โˆ’

1 ๐‘

+

1 ๐‘

๐‘—๐‘” ๐‘— โˆˆ ๐ต ๐‘—๐‘” ๐‘— โˆˆ ๐ถ

  • Letโ€™s quickly verify that ๐‘ฆ๐‘— = 0: ๐‘ โˆ’

1 ๐‘ + ๐‘ 1 ๐‘ = 0 ๐‘—

(2) Then:

๐‘ฆ๐‘—โˆ’๐‘ฆ๐‘˜

2

๐‘ฆ๐‘—

2 ๐‘—

=

1 ๐‘+1 ๐‘ 2 ๐‘—โˆˆ๐ต,๐‘˜โˆˆ๐ถ

๐‘ โˆ’1

๐‘ 2

+๐‘ 1

๐‘ 2 =

๐‘“โ‹… 1

๐‘+1 ๐‘ 2 1 ๐‘+1 ๐‘

= ๐‘“

1 ๐‘ + 1 ๐‘ โ‰ค ๐‘“ 1 ๐‘ + 1 ๐‘ โ‰ค ๐‘“ 2 ๐‘ = 2๐›ฝ

53

Which proves that the cost achieved by spectral is better than twice the OPT cost

e โ€ฆ number of edges between A and B

slide-54
SLIDE 54
  • Approx. Guarantee of Spectral
  • Putting it all together:

2๐›ฝ โ‰ฅ ๐œ‡2 โ‰ฅ ๐›ฝ2 2๐‘’๐‘›๐‘๐‘ฆ

โ€“ where ๐‘’๐‘›๐‘๐‘ฆ is the maximum node degree in the graph

  • Note we only provide the 1st part: 2๐›ฝ โ‰ฅ ๐œ‡2
  • We did not prove ๐œ‡2 โ‰ฅ

๐›ฝ2 2๐‘’๐‘›๐‘๐‘ฆ

โ€“ Overall this always certifies that ๐œ‡2 always gives a useful bound

54

slide-55
SLIDE 55

MAXIMUM DENSEST SUBGRAPH

Thanks to Aris Gionis

slide-56
SLIDE 56

Finding dense subgraphs

  • Dense subgraph: A collection of vertices such

that there are a lot of edges between them

โ€“ E.g., find the subset of email users that talk the most between them โ€“ Or, find the subset of genes that are most commonly expressed together

  • Similar to community identification but we do

not require that the dense subgraph is sparsely connected with the rest of the graph.

slide-57
SLIDE 57

Definitions

  • Input: undirected graph ๐ป = (๐‘Š, ๐น).
  • Degree of node u: deg ๐‘ฃ
  • For two sets ๐‘‡ โІ ๐‘Š and ๐‘ˆ โІ ๐‘Š:

๐น ๐‘‡, ๐‘ˆ = u, v โˆˆ ๐น: ๐‘ฃ โˆˆ ๐‘‡, ๐‘ค โˆˆ ๐‘ˆ

  • ๐น ๐‘‡ = ๐น(๐‘‡, ๐‘‡): edges within nodes in ๐‘‡
  • Graph Cut defined by nodes in ๐‘‡ โІ ๐‘Š:

๐น(๐‘‡, ๐‘‡ ): edges between ๐‘‡ and the rest of the graph

  • Induced Subgraph by set ๐‘‡ : ๐ป๐‘‡ = (๐‘‡, ๐น ๐‘‡ )
slide-58
SLIDE 58

Definitions

  • How do we define the density of a subgraph?
  • Average Degree:

๐‘’ ๐‘‡ = 2|๐น ๐‘‡ | |๐‘‡|

  • Problem: Given graph G, find subset S, that

maximizes density d(S)

โ€“ Surprisingly there is a polynomial-time algorithm for this problem.

slide-59
SLIDE 59

Min-Cut Problem

Given a graph* ๐ป = (๐‘Š, ๐น), A source vertex ๐‘ก โˆˆ ๐‘Š, A destination vertex ๐‘ข โˆˆ ๐‘Š Find a set ๐‘‡ โІ ๐‘Š Such that ๐‘ก โˆˆ ๐‘‡ and ๐‘ข โˆˆ ๐‘‡ That minimizes ๐น(๐‘‡, ๐‘‡ )

* The graph may be weighted

Min-Cut = Max-Flow: the minimum cut maximizes the flow that can be sent from s to t. There is a polynomial time solution.

slide-60
SLIDE 60

Decision problem

  • Consider the decision problem:

โ€“ Is there a set ๐‘‡ with ๐‘’ ๐‘‡ โ‰ฅ ๐‘‘?

  • ๐‘’ ๐‘‡ โ‰ฅ ๐‘‘
  • 2 ๐น ๐‘‡

โ‰ฅ ๐‘‘|๐‘‡|

  • deg ๐‘ค โˆ’ ๐น ๐‘‡, ๐‘‡ โ‰ฅ ๐‘‘|๐‘‡|

๐‘คโˆˆ๐‘‡

  • 2 ๐น โˆ’

deg ๐‘ค

๐‘คโˆˆ๐‘‡

โˆ’ ๐น ๐‘‡, ๐‘‡ โ‰ฅ ๐‘‘ ๐‘‡

  • deg ๐‘ค

๐‘คโˆˆ๐‘‡

+ ๐น ๐‘‡, ๐‘‡ + ๐‘‘ ๐‘‡ โ‰ค 2|๐น|

slide-61
SLIDE 61

Transform to min-cut

  • For a value ๐‘‘ we do the following transformation
  • We ask for a min s-t cut in the new graph
slide-62
SLIDE 62

Transformation to min-cut

  • There is a cut that has value 2|๐น|
slide-63
SLIDE 63

Transformation to min-cut

  • Every other cut has value:
  • deg ๐‘ค

๐‘คโˆˆ๐‘‡

+ ๐น ๐‘‡, ๐‘‡ + ๐‘‘ ๐‘‡

slide-64
SLIDE 64

Transformation to min-cut

  • If

deg ๐‘ค

๐‘คโˆˆ๐‘‡

+ ๐น ๐‘‡, ๐‘‡ + ๐‘‘ ๐‘‡ โ‰ค 2|๐น| then ๐‘‡ โ‰  โˆ… and ๐‘’ ๐‘‡ โ‰ฅ ๐‘‘

slide-65
SLIDE 65

Algorithm (Goldberg)

Given the input graph G, and value c

  • 1. Create the min-cut instance graph
  • 2. Compute the min-cut
  • 3. If the set S is not empty, return YES
  • 4. Else return NO

How do we find the set with maximum density?

slide-66
SLIDE 66

Min-cut algorithm

  • The min-cut algorithm finds the optimal solution in

polynomial time O(nm), but this is too expensive for real networks.

  • We will now describe a simpler approximation

algorithm that is very fast

โ€“ Approximation algorithm: the ratio of the density of the set produced by our algorithm and that of the optimal is bounded.

  • We will show that the ratio is at most ยฝ
  • The optimal set is at most twice as dense as that of the

approximation algorithm.

  • Any ideas for the algorithm?
slide-67
SLIDE 67

Greedy Algorithm

Given the graph ๐ป = (๐‘Š, ๐น)

  • 1. ๐‘‡0 = ๐‘Š
  • 2. For ๐‘— = 1 โ€ฆ |๐‘Š|
  • a. Find node ๐‘ค โˆˆ ๐‘‡ with the minimum degree
  • b. ๐‘‡๐‘— = ๐‘‡๐‘—โˆ’1 โˆ– {๐‘ค}
  • 3. Output the densest set ๐‘‡๐‘—
slide-68
SLIDE 68

Example

slide-69
SLIDE 69

Analysis

  • We will prove that the optimal set has density

at most 2 times that of the set produced by the Greedy algorithm.

  • Density of optimal set: ๐‘’๐‘๐‘ž๐‘ข = max

๐‘‡โІ๐‘Š ๐‘’(๐‘‡)

  • Density of greedy algorithm ๐‘’๐‘•
  • We want to show that ๐‘’๐‘๐‘ž๐‘ข โ‰ค 2 โ‹… ๐‘’๐‘•
slide-70
SLIDE 70

Upper bound

  • We will first upper-bound the solution of optimal
  • Assume an arbitrary assignment of an edge

(๐‘ฃ, ๐‘ค) to either ๐‘ฃ or ๐‘ค

  • Define:

โ€“ ๐ฝ๐‘‚ ๐‘ฃ = # edges assigned to u โ€“ ฮ” = max

๐‘ฃโˆˆ๐‘Š ๐ฝ๐‘‚(๐‘ฃ)

  • We can prove that

โ€“ ๐‘’๐‘๐‘ž๐‘ข โ‰ค 2 โ‹… ฮ”

This is true for any assignment of the edges!

slide-71
SLIDE 71

Lower bound

  • We will now prove a lower bound for the density of the

set produced by the greedy algorithm.

  • For the lower bound we consider a specific assignment
  • f the edges that we create as the greedy algorithm

progresses:

โ€“ When removing node ๐‘ฃ from ๐‘‡, assign all the edges to ๐‘ฃ

  • So: ๐ฝ๐‘‚ ๐‘ฃ = degree of ๐‘ฃ in ๐‘‡ โ‰ค ๐‘’ ๐‘‡ โ‰ค ๐‘’๐‘•
  • This is true for all ๐‘ฃ so ฮ” โ‰ค ๐‘’๐‘•
  • It follows that ๐‘’๐‘๐‘ž๐‘ข โ‰ค 2 โ‹… ๐‘’๐‘•
slide-72
SLIDE 72

The k-densest subgraph

  • The k-densest subgraph problem: Find the set
  • f ๐‘™ nodes ๐‘‡, such that the density ๐‘’(๐‘‡) is

maximized.

โ€“ The k-densest subgraph problem is NP-hard!

slide-73
SLIDE 73

QUANTIFYING SOCIAL GROUP EVOLUTION

G Palla, AL Barabรกsi, T Vicsek, Nature 446 (7136), 664-667

slide-74
SLIDE 74
  • monthly list of articles in the Cornell University

Library e-print condensed matter (cond-mat) archive spanning 142 months, with over 30,000 authors,

  • phone calls between the customers of a mobile

phone company spanning 52 weeks (accumulated

  • ver

two-week-long periods) containing the communication patterns of over 4 million users.

Datasets

slide-75
SLIDE 75

Datasets

black nodes/edges do not belong to any community, red nodes belong to two or more communities are shown in red

slide-76
SLIDE 76

Different local structure:

  • Co-authorship: dense network with significant overlap

among communities (co-authors of an article form cliques) -- Phone-call: communities less interconnected,

  • ften separated by one or more inter-community

node/edge

  • Phone-call: the links correspond to instant

communication events, whereas in co-authorship long- term collaborations. Fundamental differences suggest that any common features represent potentially generic characteristics

Datasets

slide-77
SLIDE 77
  • Communities at each time step extracted using the clique

percolation method (CPM)

  • Why CPM?

their members can be reached through well connected subsets

  • f nodes, and communities may overlap
  • Parameters

k = 4 Weighted graph โ€“ use a weight threshold w* (links weaker than w* are ignored)

Approach

slide-78
SLIDE 78

Basic Events

slide-79
SLIDE 79

For each pair of consecutive time steps t and t+1, construct a joint graph consisting of the union of links from the corresponding two networks, and extract the CPM community structure of this joint network

  • Any community from either the t or the t+1 snapshot is contained in exactly one

community in the joint graph

  • If a community in the joint graph contains a single community from t and a single

community from t+1, then they are matched.

  • If the joint group contains more than one community from either time steps, the

communities are matched in descending order of their relative node overlap

Identifying Events

slide-80
SLIDE 80

s: size t: age s and t are positively correlated: larger communities are on average older

Results

s

slide-81
SLIDE 81

Auto-correlation function

  • the collaboration network is more โ€œdynamicโ€ (decays faster)
  • in both networks, the auto-correlation function decays faster for the

larger communities, showing that the membership of the larger communities is changing at a higher rate. where A(t) members of community A at t

Results

slide-82
SLIDE 82

Results

1-ฮถ: the average ratio of members changed in one step ฯ„*: lifetime, stationarity ฮถ the average life-span <t*> (colour coded) as a function of ฮถ and s

  • for small communities optimal ฮถ

near 1, better to have static, time- independent

  • For large communities, the peak is

shifted towards low f values, better to have acontinually changing membership phone-call co-authorship

slide-83
SLIDE 83

Results

slide-84
SLIDE 84

Results

slide-85
SLIDE 85

Can we predict the evolution?

wout: individual commitment to outside the community win: individual commitment inside the community p: probability to abandon the community

slide-86
SLIDE 86

Can we predict the evolution?

Wout: total weight of links to nodes outside the community Win: total weight of links inside the community p: probability of a community to disintegrate in the next step for co-authorship max lifetime at intermediate values

slide-87
SLIDE 87

Conclusions

Significant difference between smaller collaborative or friendship circles and institutions.

  • At the heart of small communities are a few strong relationships,

and as long as these persist, the community around them is stable.

  • The condition for stability of large communities is continuous

change, so that after some time practically all members are exchanged.

  • Loose, rapidly changing communities reminiscent of institutions,

which can continue to exist even after all members have been replaced by new members (e.g., members of a school).

slide-88
SLIDE 88

88

  • Jure Leskovec, Anand Rajaraman, Jeff Ullman, Mining of Massive Datasets,

Chapter 10, http://www.mmds.org/

  • Reza Zafarani, Mohammad Ali Abbasi, Huan Liu, Social Media Mining: An

Introduction, Chapter 6, http://dmml.asu.edu/smm/

  • Santo Fortunato: Community detection in graphs. CoRR

abs/0906.0612v2 (2010)

  • Ulrike

von Luxburg: A Tutorial

  • n

Spectral

  • Clustering. CoRR abs/0711.0189 (2007)
  • G Palla, A. L. Barabรกsi, T Vicsek, Quantyfying Social Group Evolution. Nature

446 (7136), 664-667

Basic References

slide-89
SLIDE 89

89

Questions?