Fast Direction-Aware Proximity for Graph Mining KDD 2007, San Jose Hanghang Tong, Yehuda Koren, Christos Faloutsos Defining Direction-Aware Proximity (DAP): escape probability • Define Random Walk (RW) on the graph • Esc_Prob(AB) – Prob (starting at A, reaches B before returning to A) A the remaining graph Esc_Prob = Pr (smile before cry) B 2 P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 P: Transition matrix (row norm.) Esc_Prob(1->5) = I- 6 0.5 3 0.5 0.5 1 0.5 0.5 0.5 2 0.5 1 1 5 0.5 4 -1 + 3 Intuition of Formula 1. Q I P =I P P 2 +P 3 + 1 2. P 2 i, j , tells the probability that start from i, take two steps to arrive at j 3. Q gives the stationary distribution. 4. Qi , j tells the probability we started from i and ended with j. P*P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p2,2 p2,3 p2,4 p2,5 p3,2 p3,3 p3,4 p3,5 p4,2 p4,3 p4,4 p4,5 p5,2 p5,3 p5,4 p5,5 p6,2 p6,3 p6,4 p6,5 p1,6 p2,6 p3,6 p4,6 p5,6 p6,6 p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p2,2 p2,3 p2,4 p2,5 p3,2 p3,3 p3,4 p3,5 p4,2 p4,3 p4,4 p4,5 p5,2 p5,3 p5,4 p5,5 p6,2 p6,3 p6,4 p6,5 p1,6 p2,6 p3,6 p4,6 p5,6 p6,6 P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 P: Transition matrix (row norm.) Esc_Prob(1->5) = I- 6 0.5 3 0.5 0.5 1 0.5 0.5 0.5 2 0.5 1 1 5 0.5 4 -1 + 5 Challenges • Case 1, Medium Size Graph – Matrix inversion is feasible, but… – What if we want many proximities? – Q: How to get all (n2 ) proximities efficiently? – A: FastAllDAP! • Case 2: Large Size Graph – Matrix inversion is infeasible – Q: How to get one proximity efficiently? – A: FastOneDAP! 6 FastAllDAP • Q1: How to efficiently compute all possible proximities on a medium size graph? – a.k.a. how to efficiently solve multiple linear systems simultaneously? • Goal: reduce # of matrix inversions! 7 FastAllDAP: Observation P= P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 6 0.5 3 0.5 0.5 1 0.5 0.5 0.5 2 0.5 1 1 4 5 0.5 Need two different matrix inversions! 8 Prox(1 5) P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 Prox(1 6) P= p1,1 p2,1 p 3,1 p4,1 p5,1 p 6,1 p1,2 p1,3 p1,4 p1,5 p1,6 p2,2 p2,3 p2,4 p2,5 p2,6 p3,2 p3,3 p3,4 p3,5 p3,6 p4,2 p4,3 p4,4 p4,5 p4,6 p5,2 p5,3 p5,4 p5,5 p5,6 p6,2 p6,3 p6,4 p6,5 p6,6 FastAllDAP: Rescue Overlap between two gray parts! Redundancy among different linear systems! 9 FastAllDAP: Theorem • Theorem: • Example: • Proof: by SM Lemma 10 FastAllDAP: Algorithm • Alg. – Compute Q – For i,j =1,…, n, compute • Computational Save O(1) instead of O(n )! 2 • Example – w/ 1000 nodes, – 1m matrix inversion vs. 1 matrix! 11 FastOneDAP • Q1: How to efficiently compute one single proximity on a large size graph? – a.k.a. how to solve one linear system efficiently? • Goal: avoid matrix inversion! 12 FastOneDAP: Observation 6 0.5 3 0.5 0.5 1 0.5 0.5 0.5 2 0.5 1 1 4 5 0.5 Partial Info. (4 elements /2 cols ) of Q is enough! 13 FastOneDAP: Observation • Q: How to compute one column of Q? • A: Taylor expansion [0, …0, 1, 0, …, 0] T i th col of Q Reminder: 14 FastOneDAP: Observation T [0, …0, 1, 0, …, 0] i th col of Q …. x x x Sparse matrix-vector multiplications! 15 FastOneDAP: Iterative Alg. • Alg. to estimate i thCol of Q 16 FastOneDAP: Property • Convergence Guaranteed ! • Computational Save – Example: • 100K nodes and 1M edges (50 Iterations) • 10,000,000x fast! • Footnote: 1 col is enough! – (details in paper) 17 Esc_Prob is good, but… • Issue #1: – `Degree-1 node’ effect • Issue #2: – Weakly connected pair Need some practical modifications! 18 Issue#1: `degree-1 node’ effect [Faloutsos+] [Koren+] A 1 D 1 B 1/3 B Esc_Prob(a->b)=1 A 1 D 1/3 1 1/3 1 E F Esc_Prob(a->b)=1 • no influence for degree-1 nodes (E, F)! – known as ‘pizza delivery guy’ problem in undirected graph • Solutions: Universal Absorbing Boundary! 19 Universal Absorbing Boundary Footnote: fly-out probability = 0.1 A 0.9 1 D 0.9 1 B 0.1 0.1 U-A-B U-A-B 0.1 1 U-A-B is a black-hole! 20 Introducing Universal-Absorbing-Boundary A 1 D 1 B A 0.9 D 0.9 B 0.1 Esc_Prob(a->b)=1 0.1 0.1 U-A-B Prox(a->b)=0.91 A 1 D 1/3 1 1/3 B A 0.9 E F 0.3 F 0.1 0.1 0.1 0.1 0.1 Esc_Prob(a->b)=1 B 0.3 0.9 0.3 0.9 1/3 1 E D U-A-B Prox(a->b)=0.74 Footnote: fly-out probability = 0.1 21 Issue#2: Weakly connected pair A 1 1 B 1 Prox(AB) = Prox (BA)=0 Solution: Partial symmetry! . a w i w j i j . (1-a) w 22 Practical Modifications: Partial Symmetry A 1 1 1 B Prox(AB) = Prox (BA)=0 0.1 A 0.9 0.1 0.9 0.1 0.9 B Prox(AB) =0.081 > Prox (BA)=0.009 23 Efficiency: FastAllDAP Time (sec) Straight-Solver 1,000x faster! FastAllDAP Size of Graph 24 Efficiency: FastOneDAP Time (sec) Straight-Solver 1,0000x faster! FastOneDAP Size of Graph 25 Link Prediction: direction • Q: Given the existence of the link, what is the direction of the link? • A: Compare prox(ij) and prox(ji) density >70% Prox (ij) - Prox (j27i)
© Copyright 2026 Paperzz