http cs224w stanford edu three basic stages
play

http://cs224w.stanford.edu Three basic stages: 1) Pre-processing - PowerPoint PPT Presentation

CS224W: Analysis of Networks Jure Leskovec, Stanford University http://cs224w.stanford.edu Three basic stages: 1) Pre-processing Construct a matrix representation of the graph 2) Decomposition Compute eigenvalues and eigenvectors of


  1. CS224W: Analysis of Networks Jure Leskovec, Stanford University http://cs224w.stanford.edu

  2. ¡ Three basic stages: § 1) Pre-processing § Construct a matrix representation of the graph § 2) Decomposition § Compute eigenvalues and eigenvectors of the matrix § Map each point to a lower-dimensional representation based on one or more eigenvectors § 3) Grouping § Assign points to two or more clusters, based on the new representation ¡ But first, let’s define the problem 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 2

  3. 5 1 ¡ Undirected graph 𝑯(𝑾, 𝑭): 2 6 4 3 ¡ Bi-partitioning task: § Divide vertices into two disjoint groups 𝑩, 𝑪 A B 5 1 2 6 4 3 ¡ Questions: § How can we define a “good” partition of 𝑯 ? § How can we efficiently identify such a partition? 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 3

  4. ¡ What makes a good partition? § Maximize the number of within-group connections § Minimize the number of between-group connections 5 1 2 6 4 3 A B 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 4

  5. ¡ Express partitioning objectives as a function of the “edge cut” of the partition ¡ Cut: Set of edges with only one vertex in a group: If the graph is weighted w ij is the weight, otherwise, all w ij =1 B A 5 1 cut(A,B) = 2 2 6 4 3 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 5

  6. ¡ Criterion: Minimum-cut § Minimize weight of connections between groups arg min A,B cut(A,B) ¡ Degenerate case: “Optimal” cut Minimum cut ¡ Problem: § Only considers external cluster connections § Does not consider internal cluster connectivity 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 6

  7. � [Shi-Malik] ¡ Criterion: Conductance [Shi-Malik, ’97] § Connectivity between groups relative to the density of each group 𝒘𝒑𝒎(𝑩) : total weighted degree of the nodes in 𝑩 : 𝒘𝒑𝒎 𝑩 = ∑ 𝒍 𝒋 (number of edge end points in A) 𝒋∈𝑩 n Why use this criterion? n Produces more balanced partitions ¡ How do we efficiently find a good partition? § Problem: Computing optimal cut is NP-hard 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 7

  8. ¡ A : adjacency matrix of undirected G § A ij =1 if (𝒋, 𝒌) is an edge, else 0 ¡ 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 ? @ 𝑧 : = ; 𝐵 := 𝑦 = = ; 𝑦 = =AB :,= ∈? ¡ Entry y i is a sum of labels x j of neighbors of i 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 8

  9. ¡ j th coordinate of A × x : § Sum of the x -values of neighbors of j 𝑩 ⋅ 𝒚 = 𝝁 ⋅ 𝒚 § Make this a new value at node j ¡ Spectral Graph Theory: § Analyze the “spectrum” of matrix representing 𝑯 § Spectrum: Eigenvectors 𝒚 𝒋 of a graph, ordered by the magnitude (strength) of their corresponding eigenvalues 𝝁 𝒋 : Note: We sort 𝝁 𝒋 in ascending (not descending) order! 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 9

  10. ¡ Suppose all nodes in 𝑯 have degree 𝒆 and 𝑯 is connected ¡ What are some eigenvalues/vectors of 𝑯 ? 𝑩 × 𝒚 = 𝝁 ⋅ 𝒚 What is l ? What x ? § Let’s try: 𝒚 = (𝟐, 𝟐, … , 𝟐) § Then: 𝑩 ⋅ 𝒚 = 𝒆, 𝒆, … , 𝒆 = 𝝁 ⋅ 𝒚 . So: 𝝁 = 𝒆 § We found an eigenpair of 𝑯 : 𝒚 = (𝟐, 𝟐, … , 𝟐) , 𝝁 = 𝒆 ¡ d is the largest eigenvalue of A (see next slide) Remember the meaning of 𝒛 = 𝑩 × 𝒚 : @ Note, this is just one eigenpair. An n by n 𝑧 : = ; 𝐵 := 𝑦 = = ; 𝑦 = matrix can have up to n eigenpairs. =AB :,= ∈? 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 10

  11. Details! ¡ G is d -regular connected, A is its adjacency matrix ¡ Claim: § (1) d has multiplicity of 1 (there is only 1 eigenvector associated with eigenvalue d ) § (2) d is the largest eigenvalue of A ¡ Proof: § To obtain d we needed 𝒚 𝒋 = 𝒚 𝒌 for every 𝑗, 𝑘 § This means 𝒚 = 𝑑 ⋅ (1,1, … , 1) for some const. 𝑑 § Define: Set 𝑻 = nodes 𝒋 with maximum value of 𝒚 𝒋 § Then consider some vector 𝒛 which is not a multiple of vector (𝟐, … , 𝟐) . So not all nodes 𝒋 (with labels 𝒛 𝒋 ) are in 𝑻 § Consider some node 𝒌 ∈ 𝑻 and a neighbor 𝒋 ∉ 𝑻 then node 𝒌 gets a value strictly less than 𝒆 § So 𝑧 is not eigenvector! And so 𝒆 is the largest eigenvalue! 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 11

  12. ¡ What if 𝑯 is not connected? § 𝑯 has 2 components, each 𝒆 -regular C B ¡ What are some eigenvectors? § 𝒚 = Put all 𝟐 s on 𝑫 and 𝟏 s on 𝑪 or vice versa § 𝒚′ = 𝟐, … , 𝟐, 𝟏, … , 𝟏 𝑼 then 𝐁 ⋅ 𝒚′ = 𝒆, … , 𝒆, 𝟏, … , 𝟏 𝑼 |B| § 𝒚′′ = 𝟏, … , 𝟏, 𝟐, … , 𝟐 𝑼 then 𝑩 ⋅ 𝒚′′ = 𝟏, … , 𝟏, 𝒆, … , 𝒆 𝑼 |C| § And so in both cases the corresponding 𝝁 = 𝒆 ¡ A bit of intuition: 2 nd largest eigval. 𝜇 @RB now has C C B B value very close to 𝜇 @ 𝝁 𝒐 = 𝝁 𝒐R𝟐 𝝁 𝒐 − 𝝁 𝒐R𝟐 ≈ 𝟏 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 12

  13. � � ¡ More intuition: 2 nd largest eigval. 𝜇 @RB now has C B C B value very close to 𝜇 @ 𝝁 𝒐 = 𝝁 𝒐R𝟐 𝝁 𝒐 − 𝝁 𝒐R𝟐 ≈ 𝟏 § If the graph is connected (right example) then we already know that 𝒚 𝒐 = (𝟐, … 𝟐) is an eigenvector § Since eigenvectors are orthogonal then the components of 𝒚 𝒐R𝟐 must sum to 0 . § Why? 𝒚 𝒐 ⋅ 𝒚 𝒐R𝟐 = 𝟏 then ∑ 𝒚 𝒐 𝒋 ⋅ 𝒚 𝒐R𝟐 [𝒋] = ∑ 𝒚 𝒐 [𝒋] 𝒋 𝒋 § So we can look at the eigenvector of the 2 nd largest eigenvalue and declare nodes with positive label in C and negative label in B. § So there is something interesting about 𝒚 𝒐R𝟐 … (but there is still a lot for us to figure out) 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 13

  14. ¡ Adjacency matrix ( A ): § n ´ n matrix § A=[a ij ], a ij =1 if edge between node i and j 1 2 3 4 5 6 5 0 1 1 0 1 0 1 1 1 0 1 0 0 0 2 2 6 1 1 0 1 0 0 3 4 3 0 0 1 0 1 1 4 1 0 0 1 0 1 5 ¡ Important properties: 0 0 0 1 1 0 6 § Symmetric matrix § Eigenvectors are real-valued and orthogonal 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 14

  15. ¡ Degree matrix (D): § n ´ n diagonal matrix § D=[d ii ], d ii = degree of node i 1 2 3 4 5 6 3 0 0 0 0 0 1 5 1 0 2 0 0 0 0 2 2 0 0 3 0 0 0 3 6 4 0 0 0 3 0 0 4 3 0 0 0 0 3 0 5 0 0 0 0 0 2 6 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 15

  16. 1 2 3 4 5 6 ¡ Laplacian matrix (L): 1 3 -1 -1 0 -1 0 § n ´ n symmetric matrix 2 -1 2 -1 0 0 0 3 -1 -1 3 -1 0 0 5 1 4 0 0 -1 3 -1 -1 2 6 5 -1 0 0 -1 3 -1 4 3 6 0 0 0 -1 -1 2 𝑴 = 𝑬 − 𝑩 ¡ What is trivial eigenpair? § 𝒚 = (𝟐, … , 𝟐) then 𝑴 ⋅ 𝒚 = 𝟏 and so 𝝁 = 𝝁 𝟐 = 𝟏 ¡ Important properties: § Eigenvalues are non-negative real numbers § Eigenvectors are real and orthogonal 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 16

  17. � Details! (a) All eigenvalues are ≥ 0 (b) 𝑦 \ 𝑀𝑦 = ∑ 𝑀 := 𝑦 : 𝑦 = ≥ 0 for every 𝑦 := (c) 𝑀 = 𝑂 \ ⋅ 𝑂 § That is, 𝑀 is positive semi-definite ¡ Proof: (the 3 facts are saying the same thing) § (c) Þ (b): 𝑦 \ 𝑀𝑦 = 𝑦 \ 𝑂 \ 𝑂𝑦 = 𝑦𝑂 \ 𝑂𝑦 ≥ 0 § As it is just the square of length of 𝑂𝑦 § (b) Þ (a): Let 𝝁 be an eigenvalue of 𝑴 . Then by (b) 𝑦 \ 𝑀𝑦 ≥ 0 so 𝑦 \ 𝑀𝑦 = 𝑦 \ 𝜇𝑦 = 𝜇𝑦 \ 𝑦 Þ 𝝁 ≥ 𝟏 § (a) Þ (c): is also easy! Do it yourself. 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 17

  18. � � � � See next slide ¡ Fact: For symmetric matrix M : for a proof x T Mx min λ 2 = x T x x : x T w 1 =0 ( w 1 is eigenvector corresponding to λ 1 ) ¡ What is the meaning of min x T L x on G ? @ @ § 𝑦 \ 𝑀 𝑦 = ∑ 𝑦 : 𝑦 = = ∑ 𝑀 := 𝐸 := − 𝐵 := 𝑦 : 𝑦 = :,=AB :,=AB ` § = ∑ 𝐸 :: 𝑦 : − ∑ 2𝑦 : 𝑦 = : :,= ∈? 𝟑 ` + 𝑦 = ` − 2𝑦 : 𝑦 = ) § = ∑ = ∑ (𝑦 : 𝒚 𝒋 − 𝒚 𝒌 :,= ∈? 𝒋,𝒌 ∈𝑭 𝟑 needs to be summed up 𝒆 𝒋 times. Node 𝒋 has degree 𝒆 𝒋 . So, value 𝒚 𝒋 𝟑 +𝒚 𝒌 𝟑 But each edge (𝒋, 𝒌) has two endpoints so we need 𝒚 𝒋 11/15/17 Jure Leskovec, Stanford CS224W: Analysis of Networks, http://cs224w.stanford.edu 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend